Gentoo Logo

1.  /etc/security/limits.conf

El control de uso de recursos puede ser muy efectivo para prevenir denegaciones de servicio locales o limitar el máximo de entradas permitidas a un grupo o usuario. Sin embargo, una configuración demasiado estricta puede dificultar el comportamiento del sistema y causar fallos en los programas por lo que deberá asegurarse de comprobar primero cada configuración.

Listado de Código 1.1: /etc/security/limits.conf

*    soft core      0
*    hard core      0
*    hard nproc     15
*    hard rss       10000
*    -    maxlogins 2
@dev hard core      100000
@dev soft nproc     20
@dev hard nproc     35
@dev -    maxlogins 10

Si quiere establecer nproc o maxlogins a 0, quizás sea mejor borrar el usuario. En el ejemplo anterior se configura el grupo dev para procesos, fichero core y maxlogins. El resto se configura con el valor predeterminado.

Nota: /etc/security/limits.conf forma parte del paquete PAM y será solo aplicable a paquetes que utilicen PAM.

1.  /etc/limits

/etc/limits es muy similar al fichero de limitaciones /etc/security/limits.conf. Las únicas diferencias son el formato y que solo trabaja con usuarios o comodines (no grupos). Echemos un vistazo a una configuración de ejemplo:

Listado de Código 1.1: /etc/limits

*   L2 C0 U15 R10000
kn L10 C100000 U35

Aquí establecemos la configuración por defecto y una configuración específica para el usuario kn. Limits forma parte del paquete sys-apps/shadow. No es necesario configurar ningún límite en este archivo si se ha habilitado pam en make.conf.

1.  Cuotas

Importante: Asegúrese que los sistemas de ficheros con los que trabaja soportan cuotas. Las herramientas de usuario están disponibles en El proyecto Linux Cuota de Disco.

Establecer cuotas en un sistema de ficheros restringe el uso de disco en un esquema por usuario o por grupo. Las cuotas se habilitan en el núcleo y se añaden a un punto de montaje en /etc/fstab. La opción del núcleo se habilita en la configuración del núcleo en File systems->Quota support. Aplique la siguiente configuración, recompile el núcleo y reinicie usando el nuevo núcleo.

Empiece instalando cuotas con emerge quota. Entonces modifique el /etc/fstab y añada usrquota y grpquota a las particiones en las que quiera restringir el uso de disco, como en el ejemplo siguiente.

Listado de Código 1.1: /etc/fstab

/dev/sda1 /boot ext2 noauto,noatime 1 1
/dev/sda2 none swap sw 0 0
/dev/sda3 / reiserfs notail,noatime 0 0
/dev/sda4 /tmp ext3 noatime,nodev,nosuid,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv=1 0 0
/dev/sda5 /var ext3 noatime,nodev,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1 0 0
/dev/sda6 /home ext3 noatime,nodev,nosuid,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1 0 0
/dev/sda7 /usr reiserfs notail,noatime,nodev,ro    0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0

En cada partición en la que haya establecido las cuotas, cree los ficheros de cuota (aquota.user y aquota.group) y guárdelos en la raíz de la partición.

Listado de Código 1.1: Crear los ficheros de cuota

# touch /tmp/aquota.user
# touch /tmp/aquota.group
# chmod 600 /tmp/aquota.user
# chmod 600 /tmp/aquota.group

Este paso debe hacerse en cada partición en la que se hayan activado las cuotas. Después de añadir y configurar los ficheros de cuota, necesitamos añadir el guión quota al nivel de ejecución boot.

Importante: XFS hace todas las comprobaciones de cuota internamente, y no es necesario que se añada el guión quota al nivel de ejecución boot. Puede haber otros sistemas de ficheros no listados en este documento con un comportamiento similar, así que es recomendable que lea las páginas de man de su sistema de ficheros para ver cómo maneja las comprobaciones de cutoa.

Listado de Código 1.1: Añadir cuotas al nivel de ejecución boot

# rc-update add quota boot

El núcleo Linux comprobará el uso de la cuota mientras el sistema está en funcionamiento. Si por cualquier razón los ficheros de cuota se corrompen o cree que los datos son incorrectos, necesitará iniciar el sistema en modo de un solo usuario (single-user) (o al menos, asegurarse de que no se está escribiendo activamente en los sistemas de ficheros) y llamar a continuación a quotacheck -avugm.

Después de reiniciar la máquina, es el momento para establecer las cuotas de usuarios y grupos. edquota -u kn ejecutará el editor definido en $EDITOR (por defecto es nano) y le permitirá editar la cuotas para el usuario kn. edquota -g hará lo mismo para los grupos.

Listado de Código 1.1: Configurar las cuotas para el usuario kn

Quotas for user kn:
/dev/sda4: blocks in use: 2594, limits (soft = 5000, hard = 6500)
 inodes in use: 356, limits (soft = 1000, hard = 1500)

Para más detalles lea man edquota o el Quota mini howto.

1.  /etc/login.defs

Si las políticas de seguridad indican que los usuarios deben cambiar su contraseña cada dos semanas, cambie el valor PASS_MAX_DAYS a 14 y PASS_WARN_AGE a 7. Es recomendable que use la caducidad de contraseñas puesto que los ataques por fuerza bruta permiten encontrar cualquier contraseña, es solo cuestión de tiempo. También le alentamos a que establezca LOG_OK_LOGINS a sí.

1.  /etc/security/access.conf

El fichero access.conf también pertenece al paquete sys-libs/pam, que proporciona una tabla de control de acceso por login. La tabla se usa para controlar quien puede y quien no puede acceder basándose en el nombre de usuario, nombre de grupo o nombre de host. Por defecto, todos los usuarios del sistema tienen permitido hacer login por lo que el fichero consiste solo en comentarios y ejemplos. Si está asegurando su servidor o estación de trabajo, le recomendamos que configure este fichero para que nadie más que el administrador del sistema tenga acceso a la consola.

Nota: Esta configuración aplica también al usuario root.

Listado de Código 1.1: /etc/security/access.conf

-:ALL EXCEPT wheel sync:console
-:wheel:ALL EXCEPT LOCAL .gentoo.org

Importante: Tenga cuidado cuando configure estas opciones, puesto que ciertos errores podrán impedirle acceder a la máquina si no tiene acceso de root.

Nota: Estas configuraciones no se aplican a SSH, puesto que SSH no ejecuta por defecto /bin/login. Pero se puede habilitar usando UseLogin yes en /etc/ssh/sshd_config.

Esto permitirá a los miembros del grupo wheel el acceso local o desde el dominio gentoo.org. Puede que sea paranoico, pero mejor prevenir que curar.

Página actualizada 15 de noviembre, 2011

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.