Hallo, (sry fuer erste mail) ich habe fuer den ssh port auf dem Server folgende Zeile in meinem iptables script: iptables -A INPUT -i eth0 -p tcp --dport 22 -m limit --limit 5/minute -j ACCEPT Ich kann mich ueber ssh einloggen und alles scheint wie gewuenscht zu funktionieren. Aber während jemand mit scp (genauer puttySCP -r) irgendwas auf den Server kopiert, kann ich nicht mehr mit ssh einloggen(timeout). Es klappt erst wenn ich das limit auf 500/minute setze. Oeffnet scp staendig neue connections? Macht das limit ueberhaupt Sinn fuer ssh? ich haette sowieso lieber nur ein limit fuer neue_connections/minute wenn sie von derselben IP kommen - geht das? cu, Rudi
Am Donnerstag, 6. Januar 2005 12:35 schrieb Ruediger Meier:
Hallo, (sry fuer erste mail)
ich habe fuer den ssh port auf dem Server folgende Zeile in meinem iptables script:
iptables -A INPUT -i eth0 -p tcp --dport 22 -m limit --limit 5/minute -j ACCEPT
Ich kann mich ueber ssh einloggen und alles scheint wie gewuenscht zu funktionieren. Aber während jemand mit scp (genauer puttySCP -r) irgendwas auf den Server kopiert, kann ich nicht mehr mit ssh einloggen(timeout). Es klappt erst wenn ich das limit auf 500/minute setze. Oeffnet scp staendig neue connections?
Dann hast du den Parameter limit von iptables wohl falsch verstanden. Sieh nochmal in die Manpage. Der begrenzt nämlich die Anzahl der Pakete, nicht die Anzahl der Verbindungen.
Macht das limit ueberhaupt Sinn fuer ssh? ich haette sowieso lieber nur ein limit fuer neue_connections/minute wenn sie von derselben IP kommen - geht das?
Weiss ich leider auch nicht. Mfg, Thomas
On Thursday 06 January 2005 12:48, Thomas Gräber wrote:
iptables -A INPUT -i eth0 -p tcp --dport 22 -m limit --limit 5/minute -j ACCEPT
Dann hast du den Parameter limit von iptables wohl falsch verstanden. Sieh nochmal in die Manpage. Der begrenzt nämlich die Anzahl der Pakete, nicht die Anzahl der Verbindungen.
Danke, jetzt seh ich's auch:) Hatte den Parameter -m state --state NEW vergessen in der Zeile! Kein Wunder, dass ssh so langsam war die ganze Zeit *g* cu, Ruediger
Hi Sorry für die PM Thomas. Man sollte nicht vor dem erstem Kaffee mailen :-) On Thursday 06 January 2005 12:48, Thomas Gräber wrote:
Am Donnerstag, 6. Januar 2005 12:35 schrieb Ruediger Meier:
Hallo, (sry fuer erste mail)
ich habe fuer den ssh port auf dem Server folgende Zeile in meinem iptables script:
iptables -A INPUT -i eth0 -p tcp --dport 22 -m limit --limit 5/minute -j ACCEPT
Ich kann mich ueber ssh einloggen und alles scheint wie gewuenscht zu funktionieren. Aber während jemand mit scp (genauer puttySCP -r) irgendwas auf den Server kopiert, kann ich nicht mehr mit ssh einloggen(timeout). Es klappt erst wenn ich das limit auf 500/minute setze. Oeffnet scp staendig neue connections?
Dann hast du den Parameter limit von iptables wohl falsch verstanden. Sieh nochmal in die Manpage. Der begrenzt nämlich die Anzahl der Pakete, nicht die Anzahl der Verbindungen.
Macht das limit ueberhaupt Sinn fuer ssh? ich haette sowieso lieber nur ein limit fuer neue_connections/minute wenn sie von derselben IP kommen - geht das?
Jein. Dazu gibt es die match-extension --state. Das gilt für neue Verbinungen überhaupt. Sowas wie (ohne Gewähr weil ungetestet): iptables -A INPUT -i eth0 -p tcp --dport 22 -m limit --limit 5/minute -m state --state NEW -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state ESTABLISHED -j ACCEPT Die erste regel läßt nur 5 SYN-Pakete und damit nur 5 neue tcp-Verbindungen pro Minute zu. Der laufende Verkehr einer Bestehenden tcp-Verbindung wird von der ersten Regel nicht gematcht und von der zweiten durchgelassen. mfg Axel
Am 01/06/2005 12:35 PM schrieb Ruediger Meier:
iptables -A INPUT -i eth0 -p tcp --dport 22 -m limit --limit 5/minute -j ACCEPT
Damit begrenzt Du die Anzahl der Pakete, die auf Port 22 hereinkommen, auf 5 pro Minute - die ersten Pakete verbraet das Einloggen, und dann wird der Rest der Pakete verworfen.
Macht das limit ueberhaupt Sinn fuer ssh?
Nein.
ich haette sowieso lieber nur ein limit fuer neue_connections/minute wenn sie von derselben IP kommen - geht
Es gibt in der Konfiguration des sshd einige Parameter, die Dir evtl. helfen, eine gewisse Obergrenze zu definieren, z. B. LoginGraceTime, MaxStartups oder (in der aktuellsten Version 3.9p1) MaxAuthTries, siehe man sshd_config. Allerdings ist das ganze nicht IP-spezifisch. MfG, Michael.
On Thursday 06 January 2005 14:09, Michael Schachtebeck wrote:
Am 01/06/2005 12:35 PM schrieb Ruediger Meier:
iptables -A INPUT -i eth0 -p tcp --dport 22 -m limit --limit 5/minute -j ACCEPT
Macht das limit ueberhaupt Sinn fuer ssh?
Nein.
Mich nerven halt diese staendigen Brutforce versuche.
ich haette sowieso lieber nur ein limit fuer neue_connections/minute wenn sie von derselben IP kommen - geht
deswegen haette ich gern sowas wie: 10 login errors - port 22 fuer dessen IP 10 minuten gesperrt
Es gibt in der Konfiguration des sshd einige Parameter, die Dir evtl. helfen, eine gewisse Obergrenze zu definieren, z. B. LoginGraceTime, MaxStartups oder (in der aktuellsten Version 3.9p1) MaxAuthTries, siehe man sshd_config. Allerdings ist das ganze nicht IP-spezifisch.
Also besser den sshd ordentlich konfigurieren und natuerlich gute Passwoerter verwenden. Obwohl mich dann diese paar Sekunden delay immer selbst nerven wenn ich mich beim Passwort vertippt habe ;) (MaxAuthTries hoert sich gut an) cu Ruediger
Hallo Rüdiger, hallo Leute, Am Donnerstag, 6. Januar 2005 14:59 schrieb Ruediger Meier:
On Thursday 06 January 2005 14:09, Michael Schachtebeck wrote:
Am 01/06/2005 12:35 PM schrieb Ruediger Meier: [...] Mich nerven halt diese staendigen Brutforce versuche.
Wenn Du nicht zwingend den Login mit Passwort benötigst, solltest Du ihn abschalten und nur den Login per SSH-Key erlauben. 8.7. Wie kann ich den Login ausschließlich mit SSH-Keys erlauben? http://suse-linux-faq.koehntopp.de/q/q-ssh-keyonly.html
ich haette sowieso lieber nur ein limit fuer neue_connections/minute wenn sie von derselben IP kommen - geht
deswegen haette ich gern sowas wie: 10 login errors - port 22 fuer dessen IP 10 minuten gesperrt
Das dürfte per ständiger Beobachtung der /var/log/messages (per Script) gehen. Dieses Script könnte dann dynamisch Firewall-Regeln generieren. Dazu natürlich ein Cronjob, der nach 10 Minuten die Sperre wieder aufhebt ;-) Es gibt Scripte dieser Art, allerdings kann ich Dir leider keine Downloadquelle verraten. Vielleicht hilft Dir die Info, dass einer der Referenten rund ums Thema Spam beim letzten LinuxTag solch ein Script im Einsatz hat (zwar fürs Aussperren von Spammern, aber bis auf den Suchbegriff in /var/log/* macht das keinen großen Unterschied ;-) Guck mal auf www.linuxtag.org die Vortragsunterlagen und die Homepages der Referenten durch ;-) Gruß Christian Boltz -- Eine Windows-Kiste als Tor zu Welt - das wäre ja so, als würde man einen Blinden, einen Lahmen und einen Tauben als Wachschutz einsetzen. [Matthias Houdek in suse-linux]
Ruediger Meier schrieb:
Mich nerven halt diese staendigen Brutforce versuche.
Was dagegen sehr gut hilft: Den sshd auf einem anderen Port laufen lassen. Ich habe das auf einem Web-/Mailserver gemacht, auf dem vorher über Wochen hinweg täglich mehrere Dutzend bis mehrere Hundert dieser Angriffe von Scriptkiddies stattgefunden haben, und seitdem ich vor einigen Monaten den Port des sshd geändert habe, hatte ich das noch nicht ein einziges Mal. Die Portänderung bietet zwar gegen einen ernstzunehmenden Angreifer so gut wie keinen Schutz, aber hält zumindest diese nervigen Scriptkiddies ab. ;) MfG, Michael.
On Thursday 06 January 2005 14:09, Michael Schachtebeck wrote:
iptables -A INPUT -i eth0 -p tcp --dport 22 -m limit --limit 5/minute -j ACCEPT Macht das limit ueberhaupt Sinn fuer ssh?
Nein.
Mir faellt gerade noch ein, dass man damit wohl DoS Attacken verhindern kann! Natuerlich sollte man diese Regel aber nur auf state NEW Pakete anwenden (siehe meine andere mail) cu, Ruediger
Am 01/06/2005 03:04 PM schrieb Ruediger Meier:
On Thursday 06 January 2005 14:09, Michael Schachtebeck wrote:
iptables -A INPUT -i eth0 -p tcp --dport 22 -m limit --limit 5/minute -j ACCEPT Macht das limit ueberhaupt Sinn fuer ssh?
Nein.
Mir faellt gerade noch ein, dass man damit wohl DoS Attacken verhindern kann! Natuerlich sollte man diese Regel aber nur auf state NEW Pakete anwenden (siehe meine andere mail)
Die Mail hatte ich noch nicht bekommen, habe sie gerade gelesen - wenn Du es auf syn-Pakete anwendest, macht es Sinn. Ich bin davon ausgegangen, dass Du (aus welchem Grund auch immer) die Anzahl Pakete ueber Port 22 beschraenken moechtest, das waere IMO sinnlos. MfG, Michael.
participants (5)
-
Axel Heinrici
-
Christian Boltz
-
Michael Schachtebeck
-
Ruediger Meier
-
Thomas Gräber