El núcleo de HP-UX

Generalmente se recomienda utilizar la herramienta SAM (System Administration Manager) en los sistemas HP-UX, que además de las tareas clásicas de administración permite modificar parámetros de un núcleo, reconstruirlo e instalarlo en el sistema de una forma sencilla, guardando una copia del kernel actual en /SYSBACKUP (algo muy útil, ya que recordemos que un núcleo mal configurado puede hacer que la máquina no arranque). Por tanto, desde SAM hemos de entrar en el menú `Kernel Configuration' y desde ahí elegir los parámetros que deseamos modificar para construir el nuevo kernel; como en el caso de Solaris, podemos fijar el parámetro maxusers (también con un significado similar al que esta variable posee en Solaris) y también el número máximo de procesos por usuario (parámetro maxuprc).

Si deseamos modificar y reconstruir el nuevo núcleo a mano, el proceso difiere entre HP-UX 9.x, HP-UX 10.x y HP-UX 11.x. Los pasos en cada caso son los siguientes: Al editar los ficheros /etc/conf/dfile (HP-UX 9.x) o /stand/build/system (HP-UX 10.x y 11.x) hemos de especificar los parámetros comentados anteriormente, de la forma
maxuprc     60
maxusers    100
Otros parámetros a tener en cuenta relacionados con la gestión de procesos son nproc (número máximo de procesos en el sistema), nkthread (número máximo de hilos simultáneos en el núcleo) o max_thread_proc (número máximo de hilos en un proceso).

Igual que en Solaris - y en cualquier Unix en general - también nos puede interesar limitar algunos parámetros relacionados con el sistema de ficheros, de cara a evitar posibles consumos excesivos de recursos que puedan comprometer nuestra seguridad. Por ejemplo, maxfiles indica un límite soft a los ficheros abiertos por un proceso y maxfiles_lim un límite hard (que obviamente ha de ser mayor que el anterior); nfile indica el número máximo de ficheros abiertos en el sistema y ninode el número de inodos (se recomienda que ambos coincidan). Por último, nflocks indica el número máximo de ficheros abiertos y bloqueados en la máquina.

En el núcleo de HP-UX 11i se ha introducido un nuevo parámetro que puede resultar muy interesante para incrementar nuestra seguridad; se trata de executable_stack, que permite evitar que los programas ejecuten código de su pila, previniendo así desbordamientos ([HP00b]). Por motivos de compatibilidad su valor es 1 (esto es, está habilitado y los programas pueden ejecutar código de su pila), pero desde SAM podemos cambiar este valor a 0; si lo hacemos así y un programa concreto necesita que su pila sea ejecutable, podemos darle ese privilegio mediante la orden chatr:
marta:/# chatr +es enable /usr/local/bin/check
marta:/#
© 2002 Antonio Villalón Huerta