Fail2Ban tente correctement d'interdire IP mais IP n'est pas interdit - la chaîne iptables existe mais ne fonctionne pas

12

Fonctionnant sur le serveur Ubuntu 14.04.

J'ai donc fail2ban correctement configuré pour traiter /var/log/auth.logles tentatives de connexion SSH.

Après 3 tentatives infructueuses, je vois cela dans le journal fail2ban:

2014-11-19 15:22:56,822 fail2ban.actions: WARNING [ssh] Ban BANNED_IP_ADDY

iptables -L montre cette chaîne:

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
REJECT     all  --  BANNED_IP_ADDY  anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere

Pourtant, à partir de cette adresse IP, je peux toujours me connecter via SSH sans aucun problème.

La même histoire s'applique à toutes mes prisons fail2ban. Apache par exemple, je peux voir fail2ban détecter correctement le journal et prétendre qu'il interdit une IP. L'IP se retrouve dans une chaîne iptables mais l'IP n'est pas réellement REJETÉ.

J'ai un sentiment dans ces cas parce que SSH n'est pas sur le port standard. C'est sur un port différent.

Donc, si je force la règle de prison ssh à utiliser le nouveau port:

[ssh]

enabled  = true
port     = 32323
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5

Ensuite, je vois cette erreur:

2014-11-19 15:30:06,775 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh
iptables -F fail2ban-ssh
iptables -X fail2ban-ssh returned 400
2014-11-19 15:30:06,778 fail2ban.actions.action: ERROR  iptables -N fail2ban-ssh
iptables -A fail2ban-ssh -j RETURN
iptables -I INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh returned 400
2014-11-19 15:30:06,779 fail2ban.actions.action: ERROR  iptables -n -L INPUT | grep -q 'fail2ban-ssh[ \t]' returned 100
2014-11-19 15:30:06,780 fail2ban.actions.action: CRITICAL Unable to restore environment

Si je le laisse comme

 port = ssh

Ensuite, il entre correctement dans iptables mais la chaîne ne fonctionne pas pour le REJECTtrafic (comme mentionné ci-dessus).

MISE À JOUR:

Si je change:

banaction = iptables-multiport

À:

banaction = iptables-allports

Ensuite, cela semble fonctionner. Quelles sont les répercussions de ce changement?

Il semble qu'en provoquant l' fail2baninterdiction d'une IP à cause de SSH, cela allportsa banni CHAQUE port pour cette IP. A délibérément été banni en raison d'échecs de connexion répétés ssh. Ont également été interdits sur tous les autres services.

Halsafar
la source
Je n'ai jamais rencontré ce problème avec fail2ban. Si vous souhaitez recommencer à bloquer le port unique, essayez cette solution: oschgan.com/drupal/index.php?q=node/52 . Sinon, fail2ban peut utiliser d'autres mécanismes tels que hosts.deny ou des routes nulles si iptables cause des problèmes.
digitaladdictions
Vérifiez /etc/fail2ban/actions.d, il a un fichier correspondant à chacune de ces actions d'interdiction. À l'intérieur, vous verrez les commandes utilisées pour interdire, annuler l'interdiction, démarrer et arrêter fail2ban. Vous pouvez essayer d'exécuter les commandes actionban manuellement et voir ce qui se passe. I
Michael
1
Qu'y a-t-il d'autre dans vos iptables? Veuillez fournir la sortie complète de iptables -L -n -v(en supprimant les adresses IP si nécessaire). En particulier, notez le -v, qui donnera des compteurs d'octets et de paquets pour chaque chaîne et règle, facilitant le débogage.
jplitza
J'ai eu exactement le même problème. Fail2Ban interdit IP, je peux voir l'adresse dans la chaîne fail2ban, j'ai reçu l'email c'est interdit mais l'adresse IP a toujours accès. Changer la banaction en allports a fonctionné mais je ne sais pas pourquoi!
Ergec

Réponses:

2

Les chaînes fail2ban ne sont pas correctement liées à vos chaînes INPUT et OUTPUT. Veuillez modifier votre question et fournir une sortie de:

iptables -n -L INPUT
iptables -n -L OUTPUT

et toutes les chaînes fail2ban aussi, et je serai en mesure d'être plus précis.

Marco
la source
0
INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
Zareh Kasparian
la source