Verhindern Sie SSH-Angriffe


9

Ich versuche, iptables-Regeln so einzurichten, dass nur 3 IP-Versuche pro Minute eine Verbindung zum Servir über SSH zulassen und anschließend alle Verbindungen trennen, um SSH-Angriffe zu verhindern. aber es scheint, ich mache etwas falsch!

-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

Vielen Dank

Antworten:


10

Ich denke, Sie müssen besser verwenden fail2ban, weil Ihre ipfilter-Regeln auch legitime Verbindungen blockieren. fail2banblockiert IPs nur nach fehlgeschlagenen Verbindungen.

Als Nächstes ist es üblich, IPs zu sperren, wenn sie versuchen, eine Verbindung zu Port 22 herzustellen, und Ihren SSH-Server an einen anderen Port zu binden. Sie haben dann nur ein paar unzulässige Verbindungen pro Woche, wenn Ihr Computer kein bekanntes Ziel ist.

Für die genaue Frage, die Sie gestellt haben:

iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

1
Da es sich bei dem Server um einen Low-End-VPS handelt, versuche ich, den Ressourcenverbrauch so gering wie möglich zu halten und ihn gleichzeitig so sicher wie möglich zu halten. Ich habe den SSH-Server-Port bereits geändert. Sollte ich diese Regeln (oben) für den neuen Port beibehalten und den Standardport (22) verbieten?
MGP

Fail2ban ist in der Tat die beste Lösung, auch für niedrige VPS
MGP

7

Sie können das, was Sie wollen, mit den folgenden 2 Regeln implementieren

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP

Beachten Sie, dass die Verwendung, mit -Ader Regeln am Ende der Kette hinzugefügt werden, die Art und Weise beeinträchtigen kann, in der iptables-Regeln verarbeitet werden, z.

Allerdings ist fail2ban möglicherweise auch eine bessere Möglichkeit, diese Art von Block zu implementieren.


Wenn ich versuche, diese Regeln hinzuzufügen, erhalte ich eine Fehlermeldung: iptables: Keine Kette / Ziel / Übereinstimmung mit diesem Namen.
MGP

Upvote für fail2ban.
Michael B

4

Vielleicht möchten Sie das LIMIT-Modul ausprobieren.

iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/minute -j ACCEPT
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.