Hide navigation sidebar
Hide table of contents sidebar
Skip to content
SAMBA 4.24
Back to top
View this page
Toggle table of contents sidebar

# 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