125 votes

Comment montrer toutes les IP interdites avec fail2ban ?

Quand je lance cette commande fail2ban-client status sshd J'ai eu ça :

Status for the jail: sshd
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     81
|  `- File list:        /var/log/auth.log
`- Actions
   |- Currently banned: 2
   |- Total banned:     8
   `- Banned IP list:   218.65.30.61 116.31.116.7

Il ne montre que deux IP dans la liste des IP interdites au lieu de 8, comme le dit Total Banned.

Bien que je fasse tail -f /var/log/auth.log J'ai eu ça :

Mar 29 11:08:40 DBSERVER sshd[29163]: error: maximum authentication attempts exceeded for root from 218.65.30.61 port 50935 ssh2 [preauth]
Mar 29 11:08:40 DBSERVER sshd[29163]: Disconnecting: Too many authentication failures [preauth]
Mar 29 11:08:40 DBSERVER sshd[29163]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.65.30.61  user=root
Mar 29 11:08:40 DBSERVER sshd[29163]: PAM service(sshd) ignoring max retries; 6 > 3
Mar 29 11:08:44 DBSERVER sshd[29165]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.65.30.61  user=root
Mar 29 11:08:46 DBSERVER sshd[29165]: Failed password for root from 218.65.30.61 port 11857 ssh2
Mar 29 11:09:01 DBSERVER CRON[29172]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 29 11:09:01 DBSERVER CRON[29172]: pam_unix(cron:session): session closed for user root
Mar 29 11:10:01 DBSERVER CRON[29226]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 29 11:10:02 DBSERVER CRON[29226]: pam_unix(cron:session): session closed for user root
Mar 29 11:10:18 DBSERVER sshd[29238]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=113.122.43.185  user=root
Mar 29 11:10:20 DBSERVER sshd[29238]: Failed password for root from 113.122.43.185 port 46017 ssh2
Mar 29 11:10:33 DBSERVER sshd[29238]: message repeated 5 times: [ Failed password for root from 113.122.43.185 port 46017 ssh2]
Mar 29 11:10:33 DBSERVER sshd[29238]: error: maximum authentication attempts exceeded for root from 113.122.43.185 port 46017 ssh2 [preauth]
Mar 29 11:10:33 DBSERVER sshd[29238]: Disconnecting: Too many authentication failures [preauth]
Mar 29 11:10:33 DBSERVER sshd[29238]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=113.122.43.185  user=root
Mar 29 11:10:33 DBSERVER sshd[29238]: PAM service(sshd) ignoring max retries; 6 > 3
Mar 29 11:11:36 DBSERVER sshd[29245]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:11:38 DBSERVER sshd[29245]: Failed password for root from 116.31.116.7 port 24892 ssh2
Mar 29 11:11:43 DBSERVER sshd[29245]: message repeated 2 times: [ Failed password for root from 116.31.116.7 port 24892 ssh2]
Mar 29 11:11:43 DBSERVER sshd[29245]: Received disconnect from 116.31.116.7 port 24892:11:  [preauth]
Mar 29 11:11:43 DBSERVER sshd[29245]: Disconnected from 116.31.116.7 port 24892 [preauth]
Mar 29 11:11:43 DBSERVER sshd[29245]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:12:39 DBSERVER sshd[29247]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:12:41 DBSERVER sshd[29247]: Failed password for root from 116.31.116.7 port 26739 ssh2
Mar 29 11:12:45 DBSERVER sshd[29247]: message repeated 2 times: [ Failed password for root from 116.31.116.7 port 26739 ssh2]
Mar 29 11:12:45 DBSERVER sshd[29247]: Received disconnect from 116.31.116.7 port 26739:11:  [preauth]
Mar 29 11:12:45 DBSERVER sshd[29247]: Disconnected from 116.31.116.7 port 26739 [preauth]
Mar 29 11:12:45 DBSERVER sshd[29247]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:13:41 DBSERVER sshd[29249]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:13:43 DBSERVER sshd[29249]: Failed password for root from 116.31.116.7 port 27040 ssh2

Interdiction d'IP, mais on essaie toujours.

Cependant, lorsque je vérifie avec sudo iptables -L INPUT -v -n J'ai eu ça :

Chain INPUT (policy ACCEPT 228 packets, 18000 bytes)
 pkts bytes target     prot opt in     out     source               destination
 6050  435K f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22

Qu'est-ce que je fais de mal ici ?

Comment puis-je afficher la liste de toutes les IP interdites ?

3 votes

"Total" signifie le nombre total de personnes interdites, et non le nombre total de personnes actuellement interdites. Le seul endroit où vous trouverez des adresses précédemment bannies est dans les journaux (si vous les avez conservés).

1 votes

Dans jail.local ou jail.conf, il semble que vous ayez une petite bantime . Faites-le 200m ou même plus, puis faire sudo service fail2ban restart et ensuite fail2ban-client status sshd

3voto

brunobhr Points 83

Pour ajouter une réponse plus générique :

Veuillez noter que iptables peut ne pas être la bonne réponse et ne pas vous donner d'informations pertinentes du tout (pour l'affiche originale, elle l'est). Cela dépend de la valeur de banaction = [action] que vous utilisez dans votre définition de prison par défaut ou spécifique.

J'ai beaucoup de petites boîtes alimentées par ARM qui fonctionnent sous Linux, mais le noyau n'a pas tous les modules iptables disponibles, donc iptables ne fonctionnera pas dans ce cas.

*BSD peut ne pas avoir iptables du tout et utiliser quelque chose comme pf à la place.

Sur mes boîtes ARM, j'utilise itinéraire pour le blocage. Il ajoute une route invalide pour les IP interdites et, par conséquent, les paquets de retour ne sont pas distribuables et l'IP est essentiellement bloquée. Cela fonctionne très bien. Dans ce cas, vous pouvez vérifier les IPs interdites en utilisant :

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
# normal routing entries
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
# banned IPs (no gateway, no iface)
223.96.95.85    -               255.255.255.255 !H    0      -        0 -

Vous avez de nombreuses possibilités de bannissement. Et donc de nombreuses options pour vérifier la liste des bannissements. Laquelle utiliser dépend de votre plateforme et de vos préférences. Il existe de nombreux fichiers de configuration pré-configurés dans : /etc/fail2ban/action.d/ parmi lesquels vous pouvez choisir.

3voto

gessel Points 41

# fail2ban-client a quelques commandes utiles.

fail2ban-client start       # Starts the Fail2ban server and jails.
fail2ban-client reload      # Reloads Fail2ban’s configuration files.
fail2ban-client reload JAIL # Replaces JAIL with the name of a Fail2ban jail; this will reload the jail.
fail2ban-client stop        # Terminates the server.
fail2ban-client status      # Will show the status of the server, and enable jails.
fail2ban-client status JAIL # Will show the status of the jail, including any currently-banned IPs.

Vous pouvez les voir tous à https://www.fail2ban.org/wiki/index.php/Commands

Quelqu'un d'intelligent a posté ceci (je ne me souviens plus où, ce n'est pas à moi) pour répertorier toutes les prisons en une seule fois :

fail2ban-client status | sed -n 's/,//g;s/.*Jail list://p' | xargs -n1 fail2ban-client status

2voto

Ervin Juhász Points 31

Voir la base de données

/var/lib/fail2ban/fail2ban.sqlite3

5 votes

Vous devez expliquer en quoi cela répond à la question.

0 votes

sudo: /var/lib/fail2ban/fail2ban.sqlite3: command not found

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X