Hallo,
ich suche eine einfache möglichkeit, eine ip befristet zu sperren, wenn versucht wird erfolglos n-mal per ssh eine anmeldung zu bekommen.
ich moechte damit die passwort attacken auf meinem system einschränken.
gibt es die moeglichkeit dass direkt im sshd zu tun, oder muss man logfiles parsen und dann per script die ip-tables anpassen?
p.s. da ich von unterschiedlichen/sich ändernden ip's auf mein system zugreife, kommt eine explizite freigabe für mich derzeit nicht in frage.
sshd bei fehlerhaftem login für ip befristet sperren
Re: sshd bei fehlerhaftem login für ip befristet sperren
Ich denke, dies wird Deine einzige Moeglichkeit sein. Schau doch mal, ob Du mit logcheck und passendem $HOME/.procmailrc Eintrag etwas erreichen kannst. Ich stelle mir das so vor:Belgarad hat geschrieben:gibt es die moeglichkeit dass direkt im sshd zu tun, oder muss man logfiles parsen und dann per script die ip-tables anpassen?
1. Logcheck bemerkt die SSH Attacke in Deinem Logfile und sendet eine Email
2. Mittels procmail wird ein Script gestartet, welches die IP des Angreifers mit iptables blockt und gleichzeitig per 'at' Dienst einen weiteren iptables call aktiviert, der in X Minuten die entsprechende Regel wieder loescht.
Dass man seinen privaten SSH Key nicht auf jeden beliebigen Host ablegt, sollte selbstverstaendlich sein und auch, wenn er auf einem USB Stick ist, kann man diesen nicht so einfach mal an jedes System anstecken. Ich denke, eine Keyverteilung ist nicht wirklich die Loesung dieses "Problems". Fuer manche Hosts mag das praktikabel sein, aber unterliegt doch einigen Restriktionen.
ich denke der weg ueber das kopieren eines privaten ssh keys kommt fuer mich so nicht in frage. dabei habe ich bauchschmerzen, wenn ich daran denke dass der key auf einem fremden system verbleben koennte.
deshalb glaube ich dass der einzige weg ueber ein dynamisches konfigurieren der firewall zu realisieren ist.
-firewall per script modifizieren, sofern anzeichen einer attacke sichtbar sind (z.b. passwort attacke).
alternativ dachte ich auch an portknocking, d.h. das port für den ssh server erst über eine bestimmte sequenz oeffnen.
nachteil hier: man muss dem server mit einem client die entsprechendende sequenz schicken. und dann stellt wieder die frage: wie bekomme ich den client auf den fremden rechner...
siehe:
http://www.portknocking.org/view/faq
http://www.linuxjournal.com/article.php?sid=6811
deshalb glaube ich dass der einzige weg ueber ein dynamisches konfigurieren der firewall zu realisieren ist.
-firewall per script modifizieren, sofern anzeichen einer attacke sichtbar sind (z.b. passwort attacke).
alternativ dachte ich auch an portknocking, d.h. das port für den ssh server erst über eine bestimmte sequenz oeffnen.
nachteil hier: man muss dem server mit einem client die entsprechendende sequenz schicken. und dann stellt wieder die frage: wie bekomme ich den client auf den fremden rechner...
siehe:
http://www.portknocking.org/view/faq
http://www.linuxjournal.com/article.php?sid=6811
Debian SID
- KBDCALLS
- Moderator
- Beiträge: 22438
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Ich denke das dürfte der einzige praktikable Weg sein. Den Namen eines Rechners kann ich nach belieben ändern, die IP ist auch nicht zuverlässig, die bekommt man dynamisch zugeteilt, in den seltensten Fällen ist die Fest. Und wenn ich genau wissen will mit welchen Rechner ich meinen Key austausche muß ich entweder zu dem anderen Rechne hinfahren, und meinen Key mitnehmen, oder ich überprüfe telefonisch die Korrektheit des Keys vom anderen Rechner.