Comment voyez-vous toutes les adresses IP interdites pour Ubuntu 12.04 via la ligne de commande?

36

Je n'arrive pas à trouver une commande rapide pour afficher uniquement toutes les adresses IP interdites sur le serveur. Ou y a-t-il un fichier que je peux simplement éditer?

J'imagine que fail2ban est celui qui entre toutes les adresses IP à interdire. Où puis-je ajuster les paramètres pour cela?

Il semble que je ne puisse me connecter à mon serveur à distance que si je désactive ufw. Je n'arrive pas à trouver comment me défouler. Je ne sais même pas pourquoi j'ai été banni en premier lieu. Existe-t-il un journal pour visualiser toutes les tentatives?

Patoshi ト シ
la source
5
sudo iptables -L -n?
Seth
il y a tellement de sortie. Qu'est-ce que je suppose de chercher? i.imgur.com/zTTXJTE.png ... merci .. j'ai fait un ufw permettre <ip_address> et cela ne fonctionnait toujours pas. Je ne sais pas où il est interdit.
Patoshi a annoncé le
Également fait un statut ufw et puis désactiver ufw, fait un iptables -F, puis ufw enable. Je ne peux toujours pas accéder à mon serveur à distance. Mon IP est clairement affichée dans la zone de statut permet: i.imgur.com/f7JD2Ny.png
Patoshiパトシ
avez-vous ouvert le port ssh avant de sshing le serveur?
Qasim
Comment puis-je vérifier cela? Je peux utiliser SSH lorsque le pare-feu est désactivé. alors ça ne marche pas par défaut?
Patoshi a été invité le

Réponses:

24

sudo iptables -L INPUT -v -n | less

Ceci indique à iptables d’énumérer toutes les règles de la chaîne INPUT, en fournissant une sortie numérique détaillée. Nous en parcourons moins pour obtenir une page à la fois.

Elder Geek
la source
2
Peut-être que quelque chose a changé depuis 2014, mais dans l’état actuel des choses, cette réponse est fausse car fail2ban ne met pas les choses dans la INPUTchaîne.
Billynoah
@ Billynoah Bien sûr, quelque chose a changé. Rien dans la vie n'est statique. D'une part, 12.04 n'est plus sous support. Si vous l'utilisez encore, je vous recommande de passer à 16.04 LTS, qui est pris en charge jusqu'en avril 2021.
Elder Geek
Je ne sais pas si vous faites référence à 12.04 parce que j'ai dit 2014? Je parlais de l'année de votre réponse.
Billynoah
1
@ Billynoah, je fais référence à 12.04 en raison du fait qu'il est mentionné dans la question à laquelle cette réponse a été fournie. Vous avez mes excuses pour toute confusion que vous pourriez rencontrer. :-)
Elder Geek le
45

version courte :

liste tous les ips actuellement bloqués:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

annuler une adresse IP:

fail2ban-client set postfix-mail unbanip 111.222.333.444

version longue :

si vous recherchez le moyen "officiel" de le faire, il existe un client en ligne de commande pour fail2ban https://www.fail2ban.org/wiki/index.php/Commands :

~ # fail2ban-client status
Status
|- Number of jail:      8
`- Jail list:           roundcube, sshd, sogo, postfix-sasl, postfix-mail, dovecot, ssh, sshd-ddos

alors vous pouvez courir

~ # fail2ban-client status roundcube

Status for the jail: roundcube
|- filter
|  |- File list:        /var/log/mail.log
|  |- Currently failed: 0
|  `- Total failed:     12
`- action
   |- Currently banned: 1
   |  `- IP list:       111.222.333.444
   `- Total banned:     1

ou vous pouvez utiliser ma commande, qui itère sur toutes les prisons existantes:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

qui produit:

Status for the jail: roundcube
   |  `- IP list:
Status for the jail: sshd
   |  `- IP list:
Status for the jail: sogo
   |  `- IP list:
Status for the jail: postfix-sasl
   |  `- IP list:
Status for the jail: postfix-mail
   |  `- IP list:
Status for the jail: dovecot
   |  `- IP list:
Status for the jail: ssh
   |  `- IP list:
Status for the jail: sshd-ddos
   |  `- IP list:
c33s
la source
Devrait être la réponse acceptée maintenant.
Basj
sans awk:fail2ban-client status | grep "Jail list:" | sed "s/`- Jail list://" | sed "s/\s//g" | sed "s/,/\n/g" | xargs -L1 fail2ban-client status | less
Quamis
21

Vous pouvez voir toutes les adresses IP précédemment interdites à travers /var/log/fail2ban.log

sudo zgrep 'Ban' /var/log/fail2ban.log*

Certaines interdictions étant toutefois temporaires, je ne sais pas comment les annuler au mieux (mes journaux fail2ban sont vides, ce qui rend la tâche plus difficile à tester!). Vous pouvez entrer dans un grand schéma de comptabilité avec la awkcommande, mais ça devient plutôt ennuyeux.

Quoi qu'il en soit, c'est ce que vous voulez faire si vous cherchez une raison pour laquelle vous avez été banni.

L'autre façon consiste à examiner les tables IP et à voir ce qui est abandonné. Encore une fois, cela pose quelques problèmes car il montre les routes par défaut qui sont remplacées mais je bloque les règles avec une source de 0.0.0.0/0 et cela semble le garder suffisamment propre pour une utilisation pratique:

sudo iptables -L -n | awk '$1=="DROP" && $4!="0.0.0.0/0"'

Cela n'expliquera pas pourquoi une interdiction s'est produite.

Oli
la source
fail2ban est-il l'application principale qui bannit et non une autre application? mon serveur est juste un serveur basique d'ubuntu, je n'ai donc jamais rien installé d'autre.
Patoshi a annoncé le
Dans ce cas, oui.
Oli
1
Notez que ma version actuelle écrit NOTICE [snap-iptables] Ban 45.32.216.148- pas ':'après le mot Ban, mais des espaces avant et après.
Alexis Wilke