Sécuriser SSH avec pam_faillock
18 décembre 2024 à 10:09
Un mémo sur la mise en place du module de sécurité pam_faillock sur Debian 12. Ce module permet de verrouiller temporairement un compte utilisateur connu du système après plusieurs tentatives de connexion infructueuses via ssh.
Prérequis
- Une machine tournant sous Debian 12 (Bookworm).
- Un accès root ou des privilèges sudo.
- Une compréhension de base des fichiers PAM (Pluggable Authentication Modules).
Étape 1 : Installer les paquets nécessaires
pam_faillock est inclus dans le paquet libpam-modules, qui est installé par défaut sur Debian 12.
Étape 2 : Configurer pam_faillock
- Modifier le fichier PAM de gestion des connexions locales :
Éditer le fichier /etc/pam.d/common-account
:
account required pam_faillock.so
/etc/security/faillock.conf
:
- deny = 3
- unlock_time = 900
- audit
- ignore_users = root
- silent
Étape 3 : Tester la configuration
- Vérifier les logs :
- Les échecs de connexion sont enregistrés dans les journaux système :
sudo journalctl -xe | grep pam_faillock
- Simuler des échecs de connexion :
- Tester plusieurs fois des connexions avec un mauvais mot de passe :
- Vérifier les comptes verrouillés :
- Utilisez la commande suivante pour lister les utilisateurs verrouillés :
sudo faillock
- Pour réinitialiser les tentatives d’échec d’un utilisateur spécifique :
sudo faillock --reset --user utilisateur
- Vérifier les comptes verrouillés :
- Tester plusieurs fois des connexions avec un mauvais mot de passe :