¿Cómo bloquear a los usuarios después de 5 intentos fallidos de inicio de sesión?
Reuní algunas distribuciones / versiones sobre cómo hacerlo, pero no puedo probarlo.
RHEL4 : agregando el:
auth required /lib/security/$ISA/pam_tally.so no_magic_root
account required /lib/security/$ISA/pam_tally.so deny=5 reset no_magic_root
a:
/etc/pam.d/system-auth
/etc/pam.d/login
/etc/pam.d/sshd
RHEL4 : ???
SLES9 : agregando el:
auth required pam_tally.so no_magic_root
account required pam_tally.so deny=5 reset no_magic_root
a:
/etc/pam.d/login
/etc/pam.d/sshd
SLES11 o SLES10 : agregando:
auth required pam_tally.so deny=5 onerr=fail per_user no_lock_time
a:
/etc/pam.d/common-auth
Y agregando el:
account required pam_tally.so
a:
/etc/pam.d/common-account
PREGUNTA : ¿Alguien puede confirmar que esta es la mejor manera de bloquear a los usuarios después de 5 intentos fallidos de inicio de sesión? ¿O CÓMO HACER ESTO?
PD:
/sbin/pam_tally --user USERNAME --reset
Qué es útil hacer antes de hacer esto? ¿Puedo bloquear al usuario root con estos? La edición de PAM es una cuestión muy delicada, ya que las personas podrían bloquearse del servidor (me refiero, por ejemplo, al usuario root). ¿Alguna pista al hacer esto?
no_magic_root
Respuestas:
Es posible que desee echar un vistazo a fail2ban. Se puede configurar para bloquear una cuenta después de un número determinado de intentos fallidos y luego desbloquearla después de un período de tiempo establecido.
http://www.fail2ban.org/wiki/index.php/Downloads
Si realmente te tomas en serio el uso
pam_tally
, probablemente quieras usarlopam_tally2
en su lugar. Debe instalarse con cualquier paquete PAM que sea actual. Puede hacer un hombre pam_tally2 para ver cómo usarlo.Aquí hay un ejemplo para comenzar. Agregue lo siguiente al comienzo de la sección de autenticación en el archivo pam
/etc/pam.d/password-auth
:En el mismo archivo, agregue esto a la sección de cuenta:
Los parámetros anteriores son los siguientes:
file=/var/log/tallylog
- El archivo de registro predeterminado se utiliza para mantener los recuentos de inicio de sesión.deny=3
- Denegar el acceso después de 3 intentos y bloquear al usuario.even_deny_root
- La política también se aplica al usuario root.unlock_time=1200
- 20 min. (60 seg. * 20 min. = 1200 seg.)Si no desea bloquear la raíz, cambie even_deny_root a magic_root .
Es cuestionable si desea bloquear la cuenta raíz. Es posible que desee hacer algo como esto, donde la cuenta raíz puede bloquearse, pero solo por un período más corto que otras cuentas:
Esto solo bloqueará la cuenta raíz por un minuto, todos los demás los 1200 segundos normales.
Un archivo de registro de muestra tendría el siguiente aspecto:
Puede consultar sobre cuentas bloqueadas con el comando pam_tally2:
Puede desbloquear la restricción así:
Ahora la cuenta aparece en pam_tally2 así:
Referencias
fuente
pam_tally2
Inicialmente me confundió, pero lo he descubierto después de seguirman pam_tally2
-la redacción anterior es un poco confusa, porque en realidad solo agrega la
pam_tally2.so
línea.para que pueda editarlo
/etc/pam.d/login
y agregarlo debajo de todas las otrasauth
líneas:o si lo
/etc/pam.d/system-auth
tienes puedes agregarlo allí.no es necesario reiniciar ni volver a cargar ningún servicio; se activa de inmediato para nuevos inicios de sesión locales.
nota: si también desea
pam_tally2
solicitarsshd
u otros servicios remotos, también deberá agregar la línea/etc/pam.d/sshd
y / o/etc/pam.d/password-auth
para comprobar que funciona, haga un intento de inicio de sesión fallido con un usuario válido y luego ejecute
pam_tally2
por ejemplo, para un usuario llamado
jacob
ejecutar:y generará algo como:
Si fallan demasiados intentos de inicio de sesión y la cuenta está bloqueada, puede desbloquearla manualmente:
fuente