domingo, 10 de octubre de 2010

Gestión de contraseñas en sistemas Linux

Una buena regla relacionada con las contraseñas es utilizar al menos un punto ,un caracter especial ,una     mayuscula y un numero,sin embargo no podemos confiar que todos los usuarios saben y aplicaran esta regla.La gente suele elegir contraseñas facil de recordar,pero hay una predisposicion a utilizar contraseñas que existen en los diccionarios de hackers.
Muchos diran que la ``brute force´´no se puede hacer porque no hay acceso externo a ssh(secure shell), o han puesto en practica varios metodos para prevenir el acceso después de muchos intentos de conexion fallidos (como se verá más adelante), pero existe la posibilidad de que un fallo del sistema (un servidor de seguridad que permite el acceso a cualquier persona) y luego son vulnerables sin saberlo.Una buena estrategia de seguridad (en todos los equipos) es el diseño sin contar con los otros equipos y tecnologías (firewalls, IDS, IPS) por lo que incluso si un equipo se bloquea (sé que hay soluciones para la conmutación)la seguridad de los datos no sea comprometida.Utilizando la guia siguente el usuario puede ser obligado a elegir una contraseña lo suficiente compleja que no es facil de romper.El usuario debe ser aconsejado en usar algo facil de recordar (¡atencion! facil de recordar pero que cumplan los requisitos de complejidad) sin tener que apuntar la contraseña en la oficina o en el ordenador.
Con la teoria hecha vamos a la parte tecnica.
Añadir en    / etc / las siguientes líneas pam.d / system-auth:
password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=7 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0
Requisitos de calidad para la contraseña:
minlen = n N es el número de caracteres que tiene una contraseña
dcredit N = n> = 0 si n <0 n es el número mínimo de dígitos que deben contener una contraseña
ucredit = n si n <0 es el número mínimo de mayusculas que debe contener una contraseña
ocredit = n si n <0 es el número mínimo de caracteres especiales que debe contener la contraseña
lcredit N = n> = 0 n es el número de caracteres normales

Para llevar a cabo un cierre patronal en caso de que  una contraseña sea incorrecta demasiadas veces (cierre patronal - Bloquear usuario) se utiliza el PAM con módulo pam_tally2 para proporcionar oportunidades de lockout daemon, esta medida debe aplicarse con cuidado, ya que ofrecen la posibilidad de ataques tin DoS en el servidor.
En el archivo /etc/pam.d/system-auth buscamos la línea
auth sufficient pam_unix.so try_first_pass nullok
 i la modificamos para tener el siguente aspecto:
  auth required pam_unix.so nullok try_first_pass
En el mismo fichero comentamos o eliminamos las siguientes líneas:
    auth requisite pam_succeed_if.so uid >= 500 quiet
    auth required pam_deny.so
entonces se debe editar el archivo individual de configuración /etc/pam.d (sshd) añadir al final de la seccion:
   auth required pam_tally2.so deny=5 onerr=fail
donde deny=5 especifica el numero de errores en la autenticación a continuación, en la sección final:
   account required pam_tally2.so
Para desbloquear un usuario bloqueado por el módulo pam_tally2:
   /sbin/pam_tally2 --user username --reset

1 comentario: