Ich versuche, Brute-Force-Angriffe auf meinen SSHD-Server zu blockieren (zu verlangsamen). Ich folge dieser Anleitung http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/, die im Grunde besagt, dass ich nur die 2 folgenden Befehle eingeben muss.
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
Mein sshd-Port ist 6622, also habe ich die Einträge von "22" in "6622" geändert und diese Befehle eingegeben. Dann habe ich versucht, die neuen iptables einfach zu testen. Ich ging zu einem anderen PC und gab mehrmals absichtlich das falsche Login-Passwort ein. Leider scheinen mich die neuen Regeln nicht davon abzuhalten, so viel zu versuchen, wie ich will. Nachfolgend sind meine aktuellen Regeln aufgeführt. Was mache ich falsch?
# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: UPDATE seconds: 60 hit_count: 4 name: DEFAULT side: source
tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: SET name: DEFAULT side: source
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain LOGDROP (0 references)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
DROP all -- anywhere anywhere
MaxStartups
, auf der Daemon-Seite zu optimieren?Antworten:
Wie @banjer in seinem Kommentar betonte, versuchen Sie die falsche Lösung für Ihr eigentliches Problem.
Was Sie tun müssen, ist fail2ban einzurichten . Es verwendet iptables im Hintergrund, um Verbindungsversuche von Hosts automatisch zu blockieren, die fehlgeschlagene Zugriffsversuche aus verschiedenen Quellen generieren. Es ist unglaublich vielseitig und ermöglicht das Hinzufügen und Ändern verschiedener Schwellenwerte, zu suchender Muster und Verbotsmethoden. Sie müssen das Standard-SSH-Gefängnis leicht anpassen, um den nicht standardmäßigen Port zu berücksichtigen, den Sie verwenden, aber das sollte nicht schwer sein.
quelle
Ich benutze Regeln wie diese, um Dinge zu verlangsamen:
An anderen Stellen beschränke ich solche Dinge:
quelle
Hast du die Manpage gelesen?
man sshd_config:
quelle
Ich habe gerade die Lösung mit zwei Regeln ausprobiert und hatte das gleiche Problem, als ich sie überprüfte. Dann stelle ich fest, dass veröffentlichte Regeln eine
-i eth0
Option haben! Ich habe es auf die gute Netzwerkschnittstelle umgestellt und es fing endlich an zu funktionieren.quelle
Die meisten Tutorials werden verwendet
-A
, um an das Ende des Regelsatzes anzuhängen. OP wurde-I
zum Einfügen verwendet , jedoch ohne Index, sodass die Regeln in der falschen Reihenfolge endeten.Ein wertvolles Tool zum Debuggen von iptables-Regeln ist
iptables -vL
das Auflisten der Regeln mit der Anzahl, wie oft jede Regel angewendet wurde. Wenn Sie eine unerwartete Anzahl von 0 erhalten, können Sie erkennen, was falsch ist.quelle