Wie können Sie alle gesperrten IPs für Ubuntu 12.04 über die Befehlszeile anzeigen?


36

Es scheint nicht möglich zu sein, einen schnellen Befehl zum Anzeigen aller gesperrten IP-Adressen auf dem Server zu finden. Oder gibt es eine Datei, die ich einfach bearbeiten kann?

Ich vermute, dass fail2ban diejenige ist, die alle zu verbietenden IPs eingibt. Wo passe ich die Einstellungen dafür an?

Ich kann mich anscheinend nur remote bei meinem Server anmelden, wenn ich ufw deaktiviere. Ich kann anscheinend nicht herausfinden, wie ich mich aufheben kann. Ich weiß nicht einmal, warum ich überhaupt verboten wurde. Gibt es eine Art Protokoll, um alle durchgeführten Versuche anzuzeigen?


5
sudo iptables -L -n?
Seth

es wird so viel ausgegeben. Wonach soll ich wohl suchen? i.imgur.com/zTTXJTE.png ... danke .. ich habe ein ufw allow <ip_address> gemacht und es hat immer noch nicht funktioniert. Ich weiß nicht, wo es heißt, es ist verboten.
Patoshi パ パ シ

Hat auch einen ufw-Status und dann ufw deaktiviert, hat ein iptables -F und dann ufw aktiviert. Ich kann immer noch nicht remote auf meinen Server zugreifen. Meine IP- Adresse
angezeigt

Haben Sie den SSH-Port geöffnet, bevor Sie den Server sshing?
Qasim

Wie überprüfe ich das? Ich kann in SSH, wenn die Firewall ausgeschaltet ist. Funktioniert es also nicht standardmäßig?
Patoshi パ ト シ

Antworten:


24

sudo iptables -L INPUT -v -n | less

Dies weist iptables an, alle Regeln in der INPUT-Kette aufzulisten und eine ausführliche numerische Ausgabe bereitzustellen. Wir leiten weniger durch, damit wir es Seite für Seite bekommen.


2
Vielleicht hat sich seit 2014 etwas geändert, aber aus heutiger Sicht ist diese Antwort falsch, da fail2ban die Dinge nicht in die INPUTKette stellt.
Billynoah

@billynoah Natürlich hat sich etwas geändert. Nichts im Leben ist statisch. Zum einen wird 12.04 nicht mehr unterstützt. Wenn Sie es noch verwenden, empfehle ich Ihnen, ein Upgrade auf 16.04 LTS durchzuführen, das bis April 2021 unterstützt wird.
Elder Geek

Ich bin nicht sicher, ob Sie auf 12.04 verweisen, weil ich 2014 gesagt habe? Ich habe über das Jahr Ihrer Antwort gesprochen.
Billynoah

1
@billynoah Ich beziehe mich auf 12.04 aufgrund der Tatsache, dass in der Frage, für die diese Antwort vorgesehen war, darauf verwiesen wird. Ich entschuldige mich für etwaige Unklarheiten. :-)
Elder Geek

45

kurze Version :

liste alle derzeit gesperrten ips auf:

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"

eine ip aufheben:

fail2ban-client set postfix-mail unbanip 111.222.333.444

lange Version :

Wenn Sie nach der "offiziellen" Möglichkeit suchen, gibt es einen Befehlszeilen-Client für 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

dann kannst du rennen

~ # 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

Oder Sie können meinen Befehl verwenden, der alle vorhandenen Gefängnisse durchläuft:

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"

welche Ausgänge:

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:

Sollte jetzt die akzeptierte Antwort sein.
Basj

ohne 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

Sie können alle zuvor gesperrten IPs durch sehen /var/log/fail2ban.log

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

Einige Sperren sind jedoch nur vorübergehend, sodass ich nicht sicher bin, wie ich sie am besten aufheben soll (meine fail2ban-Protokolle sind leer, was das Testen erschwert!). Sie könnten mit dem awkBefehl in ein großes Abrechnungsschema eintreten , aber es wird ziemlich langweilig.

Auf jeden Fall ist das die Art und Weise, wie Sie es tun möchten, wenn Sie nach einem Grund suchen, warum Sie gesperrt wurden.

Die andere Möglichkeit besteht darin, IP-Tabellen zu betrachten und festzustellen, was gelöscht wird. Auch dies hat einige Probleme, da Standardrouten angezeigt werden, die außer Kraft gesetzt werden, aber ich blockiere Regeln mit einer Quelle von 0.0.0.0/0, und das scheint es für den praktischen Gebrauch sauber genug zu halten:

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

Dies erklärt jedoch nicht, warum ein Verbot stattgefunden hat.


ist fail2ban die Hauptanwendung, die das Bannen durchführt und keine andere App? Mein Server ist nur ein einfacher Ubuntu-Server, daher habe ich nie etwas anderes installiert.
Patoshi パ パ シ

In diesem Fall ja.
Oli

1
Beachten Sie, dass meine aktuelle Version schreibt NOTICE [snap-iptables] Ban 45.32.216.148- nicht ':'nach dem Wort Ban, sondern vor und nach Leerzeichen.
Alexis Wilke
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.