martes, 16 de abril de 2013

Políticas de contraseña en Linux


Eres administrador de Infraestructura? te han auditado en alguna ocasión? bueno, evita una no conformidad en cuanto a políticas de contraseñas en un sistema operativo Linux. Adicional refuerza la seguridad de tu servidor y de tus usuarios con este articulo.

Por otro lado, si planeas ofrecer algún tipo de acceso remoto a tu red local que involucre el uso de tu sistema de contraseñas, asegúrate de contar con la complejidad adecuada, vida útil máxima, y auditorias frecuentes de autenticación.




Longitud mínima de la contraseña:


De forma predeterminada, Ubuntu requiere un mínimo de 6 caracteres para la creación de una contraseña. Estos valores son controlados por el archivo /etc/pam.d/common-password que se describe a continuación:

password        [success=2 default=ignore]      pam_unix.so obscure sha512

Si por ejemplo quieres cambiar el mínimo de caracteres para la contraseña de 6 a 8, entonces cambia el valor de la variable correspondiente a min=8 como se muestra en el siguiente ejemplo:

password        [success=2 default=ignore]      pam_unix.so obscure sha512    min=8


Caducidad de las contraseñas:

Cuando creas nuevos usuarios, deberías establecer una política que indique un mínimo y un máximo de tiempo para la duración de las contraseñas, obligando al usuario a cambiarla una vez este tiempo se haya agotado.

Para conocer fácilmente el estado actual de una cuenta de usuario, utiliza la siguiente sintaxis:

sudo chage -l usuario

La salida obtenida presenta interesantes datos acerca de la cuenta de usuario, observando que no existen políticas aplicadas:

Last password change                                                      : Jan 20, 2008
Password expires                                                             : never
Password inactive                                                             : never
Account expires                                                               : never
Minimum number of days between password change           : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires            : 7

Para establecer cualquiera de estos valores, utiliza la siguiente sintaxis, y sigue cada uno de los mensajes interactivos:

sudo chage usuario

El siguiente es un ejemplo de cómo puedes cambiar manualmente la fecha de expiración (-E) a 01/31/2014, una duración mínima de la contraseña (-m) de 5 días, una duración máxima de la contraseña (-M) de 90 días, un periodo de inactividad (-I) de 5 días después de la fecha de expiración de la contraseña, y una advertencia con (-W) 14 días de anticipación antes de la expiración de la contraseña:

sudo chage -E 01/31/2011 -m 5 -M 90 -I 30 -W 14 usuario

Para verificar los cambios realizado utiliza la misma sintaxis mencionada anteriormente:

sudo chage -l usuario

La salida presentada a continuación muestra las nuevas políticas que han sido establecidas para la cuenta de usuario:

Last password change                                                                : Jan 20, 2008
Password expires                                                                       : Apr 19, 2008
Password inactive                                                                       : May 19, 2008
Account expires                                                                          : Jan 31, 2008
Minimum number of days between password change                      : 5
Maximum number of days between password change                     : 90
Number of days of warning before password expires                        : 14
Otras consideraciones de seguridad



Acceso SSH por usuarios deshabilitados

Deshabilitar o bloquear una cuenta de usuario no necesariamente previene que un usuario se conecte de forma remota a tu servidor si previamente ha configurado una autenticación de clave pública RSA. Ellos aún podrán acceder al servidor a través del shell sin necesidad de una contraseña. Recuerda verificar los directorios principales de los usuarios en busca de archivos que permitan este tipo de autenticación SSH tales como /home/username/.ssh/authorized_keys.

Elimina o renombra el directorio /.ssh en el directorio principal del usuario para evitar posibles capacidades de autenticación SSH en un futuro.

Asegúrate de verificar si existe cualquier conexión SSH establecida por el usuario deshabilitado, ya que es posible que este tenga conexiones de salida o entrada preexistentes y mata cualquiera que encuentres.

Para conocer el PID las conexiones SSH existentes y posteriormente matarlas utiliza la siguiente sintaxis:

sudo ps -ef|grep pts/0

Restringe el acceso SSH a solo las cuentas de usuario que deberían tenerlo. Por ejemplo, puedes crear un grupo llamado “sshlogin” y añadir el nombre del grupo como valor asociado a la variable AllowGroups localizada en el archivo /etc/ssh/sshd_config.

AllowGroups sshlogin

Luego añade los usuarios con permiso de conexión SSH al grupo “sshlogin” y reinicia el servidor SSH:

sudo adduser username sshlogin
sudo service ssh restart
Autenticación de usuario c

Algunas aplicaciones utilizan métodos de autenticación alternativos que pueden ser fácilmente pasados por alto incluso por administradores de sistemas con experiencia. Por lo tanto, es importante entender y controlar cómo los usuarios se autentican y obtienen acceso a los servicios y aplicaciones en tu servidor.

No hay comentarios:

Publicar un comentario