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.
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.