Spesso un requisito in un ambiente sicuro è bloccare gli utenti dopo che hanno inserito una password errata per un determinato numero di volte. Questo rende il sistema protetto di nuovo Il post descrive come bloccare un account dopo N tentativi di accesso errati utilizzando file pam.d . Il pam_faillock il modulo supporta il blocco temporaneo degli account utente in caso di più tentativi di autenticazione falliti. Questo nuovo modulo migliora la funzionalità rispetto al modulo pam_tally2 esistente, poiché consente anche il blocco temporaneo quando i tentativi di autenticazione vengono eseguiti tramite uno screensaver.
Blocca utente dopo N accessi errati
1. Innanzitutto, fai un backup del file /etc/pam.d/password-auth e /etc/pam.d/system-auth . Quindi aggiungi le linee evidenziate in rosso su entrambi i file.
auth required pam_env.so auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600 auth sufficient pam_unix.so nullok try_first_pass auth [default=die] pam_faillock.so authfail audit deny=3 auth sufficient pam_faillock.so authsucc audit deny=3 auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so account required pam_faillock.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so session optional pam_oddjob_mkhomedir.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so The above configuration file would lock out users after 3 unsuccessful login attempts and unlock them after 10 minutes.
Ecco,
nega - permette di impostare il valore N (n. di tentativi) dopo il quale l'account utente deve essere bloccato.
unlock_time - è il tempo per il quale l'account deve rimanere bloccato [Facoltativo]
even_deny_root – si assicura che la stessa regola si applichi anche all'utente root. Per escludere l'utente root da questo criterio, è sufficiente rimuovere il parametro dalla riga [Facoltativo].
Nota :La sequenza delle righe nei file è importante e qualsiasi modifica nella sequenza finirebbe per bloccare tutti gli utenti incluso l'utente root quando si utilizza l'opzione even_deny_root.
2. Per bloccare l'utente root, auth richiesto pam_faillock.so la riga deve essere aggiunta in entrambi /etc/pam.d/system-auth e /etc/pam.d/password-auth come segue:
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=1200 root_unlock_time=600
3. Per disabilitare il blocco di un utente anche dopo più accessi non riusciti, aggiungi la riga sottostante appena sopra il pam_faillock in entrambi /etc/pam.d/system-auth e /etc/pam.d/password-auth e sostituisci utente1, utente2 con i nomi utente effettivi.
auth [success=1 default=ignore] pam_succeed_if.so user in user1:user2:user3
4. Riavvia il servizio sshd.
# systemctl restart sshd
Reimposta la password utente bloccata
1. Per visualizzare i record di errore di autenticazione:
# faillock --user [username]
2. Per reimpostare i record di errore di autenticazione:
# faillock --user [username] --reset