Thema Reloaded
Ich "gestatte" den Spezies 3 Fehlversuche um dann 60 Minuten für Ruhe zu sorgen. Eigenartigerweise klappt das nicht immer nach dem 3. mal. Hier ein neuer Rekordhalter, oder habe ich etwas übersehen?
"Hi,
The IP 188.122.84.90 has just been banned by Fail2Ban after
214 attempts against ASTERISK."
Hallo Kollegen,
das Thema ist hier ja schon etwas älter, aber da hier prinzipielle Verständnisschwieirgkeiten mit Fail2Ban bestehen, wollte ich mal meinen Senf dazugeben.
Das Problem, welches ihr habt, wurde bereits richtig erkannt: der Angreifer lässt pro Sekunde sehr viele Versuche durchlaufen. Egal, was ihr macht, es wird immer wieder ein Skript-Kiddie geben, das versucht innerhalb einer Sekunde 100 "Logins" durchzuführen.
Meine [jail.conf]:
# Ich bin paranoid und beobachte auch IAX, deswegen multiport ;-)
Code:
enabled = true
filter = asterisk
action = multiport-voip[name=ASTERISK, port="5060,5061,4569,4570", protocol=udp]
sendmail-whois[name=ASTERISK, [email protected], sender=myvoipmachine]
logpath = /var/log/asterisk/messages
findtime = 1
maxretry = 5
bantime = 604800
Sieht aggressiv aus, ist es auch
Die Einstellungen (setze ich seit 3 Jahren so ein) bedeuten: Wenn fail2ban innerhalb einer Sekunde (!) 5 Fehllogins in den Logdateien feststellt, wird die IP für eine Woche gebannt. D.h. aber auch, wenn ein Angreifer die Loginanzahl pro Sekunde herunterschraubt, wird er nicht gebannt! Wenn ich jetzt bei den Einstellungen pro Sekunde nur 4 Fehllogins provoziere, werde ich nicht gebannt !!! Egal, wie ihr es dreht und wendet. Man könnte auch maxretry auf 1 stellen, aber dennoch müsste fail2ban eine Sekunde warten und in der Zeit sind unter Umständen schon 100 weitere Versuche erfolgt.
Diese Einstellungen sind wie gesagt aggressiv und gut, denn i.d.R. ist es kein normaler User, der es schafft sich innerhalb einer Sekunde 5 Mal falsch anzumelden ... ABER : Auch mit dieser Einstellung gibt es gelegentlich "Hacker" (eigtl eine Beleidigung für echte Hacker), die innerhalb einer Sekunde locker 200 Versuchen schaffen. Aber die Sekunde muss nun eben verstreichen. Ob man fail2ban auf 0,5 Sekunden drillen kann, habe ich bisher nicht versucht !!!
Falls es sich nicht um ein Produktivsystem handelt, kann ich jedem Voip-Admin "SIPVICIOUS" (google it!) an's Herz legen. Damit kann man diverse Angriffsszenarien durchführen. Z.B. kann man damit prüfen, ob fail2ban korrekt reagiert - dann muss man nicht auf die Kiddies warten ^^ Dieses Tool sollte man eigentlich immer vor dem produktiv Schalten mal laufen lassen. Es ist immer gut und lehrreich, zu sehen, was die "Hacker" sehen ...
HINWEIS: Bitte Achtgeben, dass ihr ggf. iptables flushen könnt, nicht dass ihr Euch den Ast absägt, auf dem ihr sitzt !
Im übrigen ist der goldene Weg, SIP nicht auf dem externen Interface auf Port 5060 laufen zu lassen. Dafür braucht man ja nicht mal nmap (Portscanner) um zu erraten, dass dort SIP läuft. Wenn möglich, sollte man mit seinem Anbieter einen sehr viel höheren Port ausmachen, z.B. 50600 oder noch besser "verschleiert". Das hält schon mal diverse Kiddies raus.
Wie gesagt, ich wollte nur klarstellen, warum fail2ban nicht schneller regieren kann ! Eine Sekunde ist eben eine lange Zeit, gerade im VoIP-Bereich ;-)
Beste Grüße, r0n
P.S.: Ich habe auch ein Jail für SSH damit realisiert.