GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Debian – Wie werden IP-Adressen automatisch dauerhaft gesperrt?

Derzeit verwende ich iptables auf einem neuen Debian-Server, auf dem Asterisk läuft.

Jeden Tag habe ich auth.log auf IP-Adressen überprüft und manuell iptables -A INPUT -s IPA.DRE.SS.0/24 -j DROP ausgeführt

Ich habe anfangs nur IP-Adressen gemacht, aber viele Treffer kamen von ähnlichen IP-Adressen, also hat /24 besser funktioniert, ich habe /16 ein paar Mal verwendet.

Ich habe bereits Hunderte von iptables-Einträgen und das gerät außer Kontrolle! Ich weiß, dass es dafür einen einfacheren Weg geben muss.

fail2ban wurde mir empfohlen, aber es scheint, dass es IPs nur vorübergehend nach einer bestimmten Anzahl von Versuchen blockiert.

Die zwei wichtigsten Angriffsversuche, die ich sehe, sind die Verwendung falscher Benutzernamen und zufälliger Ports.

Ist es möglich, beim Versuch, sich mit einem Benutzernamen anzumelden, den ich derzeit nicht verwende, die IP-Adresse automatisch dauerhaft zu sperren? Dasselbe gilt für Ports, die nicht verwendet werden?

Ich sehe auch viel davon:

Did not receive identification string from (malicious IP) port 48334

Ich möchte diese IPs auch sperren.

Ich werde falsche Anmeldeversuche nicht automatisch blockieren, als ob ich das Passwort, das mich aussperren könnte, mit einem dicken Finger herausgreife. Aber vielleicht reicht ein dauerhafter Bann einer IP nach 3 Versuchen.

Kann ich das mit iptables machen? Ich habe nichts zu „permanenten Sperren“ gefunden, die so funktionieren, es scheint, dass es im Moment einfach mehr funktioniert.

Ich würde mehr oder weniger gerne das erreichen, was ich bisher manuell getan habe; dauerhaftes Blockieren von IP-Bereichen nach einer einzigen Anmeldung mit falschem Benutzernamen, einer einzigen falschen Portverbindung oder 3 falschen Anmeldeversuchen (mit korrektem Benutzernamen). Ich hoffe, dass dadurch verhindert wird, dass auth.log zugespammt wird.

Akzeptierte Antwort:

fail2ban kann für permanente Bans konfiguriert werden, indem bantine gesetzt wird zu -1

In jail.conf

bantime = -1 

Diese gehen bei einem Neustart verloren, aber das ist nicht unbedingt eine schlechte Sache, da so viele Versuche von pwned Home-Rechnern in einem Botnet ausgehen …

Wenn Sie Persistenz wünschen, kann https://arno0x0x.wordpress.com/2015/12/30/fail2ban-permanent-persistent-bans/ eine Anleitung geben.

Ändere im Wesentlichen den fail2ban config, um eine dauerhafte Konfigurationsdatei aller gesperrten IPs zu erstellen und iptables diese Liste beim Neustart laden zu lassen…

Wenn Sie also Ihre standardmäßige jail.conf überprüfen Sie werden feststellen, dass die Standardaktion iptables-multiport ist . Dies entspricht der Konfigurationsdatei /etc/fail2ban/ction.d/iptables-multiport.conf

Wir können die folgenden Einträge hinzufügen:

[Definition]
# Option:  actionstart
# Notes.:  command executed once at the start of Fail2Ban.
# Values:  CMD
#
actionstart = iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
          cat /etc/fail2ban/persistent.bans | awk '/^fail2ban-<name>/ {print $2}' \
          | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done

# Option:  actionstop
# Notes.:  command executed once at the end of Fail2Ban
# Values:  CMD
#
actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
             iptables -F fail2ban-<name>
             iptables -X fail2ban-<name>

# Option:  actioncheck
# Notes.:  command executed once before each actionban command
# Values:  CMD
#
actioncheck = iptables -n -L <chain> | grep -q 'fail2ban-<name>[ \t]'

# Option:  actionban
# Notes.:  command executed when banning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    See jail.conf(5) man page
# Values:  CMD
#
actionban = iptables -I fail2ban-<name> 1 -s <ip> -j <blocktype>
        echo "fail2ban-<name> <ip>" >> /etc/fail2ban/persistent.bans

Jetzt, wenn fail2ban einen Eintrag markiert, wird eine Zeile zu /etc/fail2ban/persistent.bans hinzugefügt (über den actionban Aufbau). Wenn fail2ban startet es ruft actionstart auf der diese Datei liest und die iptables erstellt Regeln erforderlich.

Verwandte:Mac – Weisen Sie IPs bestimmten Mac-Adressen in dd-wrt zu?

Natürlich fail2ban muss neu gestartet werden, nachdem eine der Konfigurationsdateien geändert wurde.

Alle Anerkennung gebührt „arno0x0x“ und seiner WordPress-Site für dieses Rezept.


Debian
  1. So installieren Sie Debian 10 (Buster)

  2. So ändern Sie den Hostnamen in Debian 10

  3. So führen Sie OpenVPN automatisch auf Debian mit einer statischen IP-Adresse aus

  4. So beenden Sie die automatische Installation von Updates unter Ubuntu oder Debian (unbeaufsichtigte Upgrades)

  5. Wie liste ich von iptables blockierte IP-Adressen auf?

So installieren Sie Debian 11

So starten Sie Debian 10 neu

So aktivieren/deaktivieren Sie Ping mit iptables unter Debian 10

So weisen Sie einer einzelnen LAN-Karte in Debian 10 mehrere IP-Adressen zu

So installieren Sie Go unter Debian 10

So installieren Sie Go unter Debian