| Linux Security HOWTO: Una guía básica v0.9.11, 1 May 1998 | ||
|---|---|---|
| <<< Previous | Next >>> | |
Unos pocos minutos de preparación y planificación antes de conectar su sistema le puede ayudar a proteger su sistema y los datos que tiene almacenados en él.
No debería haber ninguna razón para que los directorios home de los usuarios permitieran que programas SUID/SGID se ejecutaran desde allí. Use la opción `nosuid' en /etc/fstab para las particiones que tienen permiso de escritura por alguien distinto de root. También le puede interesar usar `nodev' y `noexec' en las particiones de los directorios home de los usuarios. También en /var, lo que prohibe la ejecución de programas y creación dispositivos de bloque o carácter, que en ningún caso serían necesarios.
Si exporta sistemas de archivos vía NFS, esté seguro de configurar /etc/exports con los accesos lo más restrictivos posibles. Esto significa no usar plantillas, no permitir acceso de escritura a root y montar como sólo lectura siempre que sea posible.
Configura la máscara de creación de ficheros para que sea lo más restrictiva posible. Son habituales 022, 033, y la más restictiva 077, y añadirla a /etc/profile.
Ponga el límites al sistema de archivos en lugar de 'ilimitado' como está por defecto. Puede controlar el límite por usuario utilizando el módulo PAM de límite de recursos y /etc/pam.d/limits.conf. Por ejemplo, los límites para un grupo `users' podría parecer a esto:
@users hard core 0
@users hard nproc 50
@users hard rss 5000
|
Esto dice que se prohiba la creación de ficheros core, restringe el número de procesos a 50, y restringe el uso de memoria por usuario a 5M.
Los ficheros /var/log/wtmp y /var/run/utmp contienen los registros de conexión de todos los usuarios de su sistema. Se debe mantener su integridad ya que determinan cuando y de donde entró en su sistema un usario o un potencial intruso. Los ficheros deberían tener los permisos 644, sin afectar a la normal operación del sistema.
El bit inmutable se puede usar para prevenir borrados accidentales o proteger un fichero para sobreescritura. También previene que alguien cree enlaces simbólicos a un fichero, que ha sido el origen de ataques basados en el borrados de los ficheros /etc/passwd o /etc/shadow. Vea la página del manual de chattr(1) para tener más información sobre el bit inmutable.
Los ficheros SUID y SGID de su sistema son potenciales riesgos de seguridad y deberían ser controlados. Como estos programas garantizan privilegios especiales al usuario que los ejecuta, es necesario estar seguro que no hay instalados programas inseguros. Un truco favorito de los crackers es explotar programas con el bit SUID, y entonces dejar un programa SUID como puerta trasera para entrar la próxima vez, incluso aunque el agujero original ya esté tapado.
Encuentre todos los programas SUID/SGID de su sistema y mantener la pista de lo que son, para que esté prevenido de cualquier cambio que podría indicar un potencial intruso. Use el siguiente comando para localizar todos los progrmas SUID/SGID en su sistema:
root# find / -type f \( -perm -04000 -o -perm -02000 \) |
Puede eliminar los permisos SUID o SGIG de un programa con chmod(1), y siempre puede devolverlo a su estado original si piensa que es absolutamente necesario.
Los ficheros con permiso de escritura global, particularmente los del sistema, pueden ser un agujero de seguridad si un cracker obtiene acceso a su sistema y los modifica. Además los directorios con permiso de escritura global son peligrosos ya que permiten a un cracker añadir y borrar los ficheros que quiera. Para localizar los ficheros con permiso de escritura global, use el siguiente comando:
root# find / -perm -2 -print |
y esté seguro de saber por qué tienen esos permisos de escritura. En el curso normal de una operación ficheros tendrán permisos de escritura, incluidos algunos de /dev y enlaces simbólicos.
Los ficheros sin propietario también pueden ser un indicio de que un intruso ha accedido a su sistema. Puede localizar los ficheros de su sistema que no tienen propietario o que no pertenecen a un grupo con el comando:
root# find / -nouser -o -nogroup -print |
La localización de ficheros .rhosts debería ser una de los deberes de la administración de su sistema regular, ya que estos ficheros no se deberían permitir en sus sistema. Recuerde que un cracker sólo necesita una cuenta insegura para potencialmente obtener acceso a toda su red. Puede localizar todos los ficheros .rhosts de su sistema con el siguiente comando:
root# find /home -name .rhosts -print |
Finalmente, antes de cambiar permisos en cualquier sistema de ficheros, esté seguro de que entiende lo que hace. Nunca cambie permisos de un fichero simplemente porque parezca la forma fácil de hacer una cosa. Siempre debe determinar porqué el fichero tiene esos permisos antes de modificarlos.
| <<< Previous | Home | Next >>> |
| 4.2 Seguridad del root | 5.1 Estado de umask |