Configurer Fail2ban pour Samba-AD
Par défaut l’environnement AD permet de définir des stratégies de mot de passe qui protègent le domaine en bloquant les comptes qui ont tenté des accès multiples non autorisés.
Toutefois cela risque de produire des DoS si un attaquant teste les comptes avec des mot de passe incorrects.
C’est pourquoi il est recommandé de ne pas faire de lockout sur le compte lui même mais plutôt un fail2ban sur l’adresse IP source des tentatives échouées de connexion.
Valider que la redirection de log est bien activée dans le fichier smb.conf
.
Il faut faire attention que dans le cas d’authentification NTLM, c’est le serveur de fichiers qui se connecte au contrôleur de domaine pour valider le challenge NTLM, et non le poste utilisateur. Il faut donc bien configurer l’environnement pour ne pas blacklister par erreur le serveur de fichiers lui même.
log level = 1 auth_json_audit:3@/var/log/samba/auth_json_audit.log
Installer l’utilitaire fail2ban :
# RedHat8 and derived distributions yum install fail2ban # Debian apt-get install fail2ban
Créer le fichier de configuration
/etc/fail2ban/filter.d/samba.conf
:[Definition] failregex = NT_STATUS_WRONG_PASSWORD.*remoteAddress": "ipv4:<HOST>:
Créer le fichier de configuration
/etc/fail2ban/jail.d/samba.conf
:[samba] filter = samba enabled = true action = iptables-multiport[name=samba, port="88,135,389,445,464,636,3328,3329", protocol=tcp] # mail[name=samba, dest=technique@mondomaine.fr] logpath = /var/log/samba/auth_json_audit.log maxretry = 5 findtime = 600 bantime = 600
Pour exclure certaines adresses IP du fail2ban, créer un fichier
/etc/fail2ban/jail.d/customisation.local
:[DEFAULT] ignoreip = 192.168.154.217
Activer le fail2ban :
systemctl enable fail2ban systemctl start fail2ban
Comment débloquer une machine après nettoyage ?
Pour débloquer une adresse IP :
fail2ban-client set samba unbanip <COMPUTER_IP>
Afficher des adresses IP bloquées :
fail2ban-client status samba