10Min Sperre nach SSH Login

Yaddi

Yaddi

Routinier
Hallo, ist es möglich eine IP Adresse zu sperren, wenn sich diese auf den Server einloggen möchte ?
Im Prinzip soll das so aussehen, dass wenn man sich per SSH auf den Server einloggen möchte, und man das falsche Passwort eingibt, soll der User 10 Min gesperrt bleiben ...
Gleichzeitig sollte die IP auch gesperrt sein.
Gibt es da eine möglichkeit ?

Benni
 
Sali Benni

Ehrlichgesagt fällt mir da gerade nicht viel dazu ein.. was genau willst du denn erreichen bzw. verhindern? Ich denke es ist möglich bei teils Firewalls die syn-connections in einer bestimmten Zeitspanne zu begrenzen. Sprich wenn du "Angst" hast vor Bruteforceattacken, lässt du einfach nur 10 SYN Packete pro Minute auf Port 22 zu. Muss allerdings nochmals betonen, dass ich nur vermute, dass sich der Syn-Flood Verhinderer configurieren lässt.

Gruss
Joel
 
Also nur mal angenommen jemand versucht sich unter dem root User über SSH einzuloggen, versucht es -
er scheitert, wegen falschem passwort,
versucht es wieder, scheitert allerdings wieder weil er immer noch nicht das richtige passwort gefunden hat,
und er probiert es nocheinmal, und scheitert wieder ...

nun soll halt quasi ein schutz verhindern, das man sich jetzt wieder einloggen kann, quasi wenn man nun wieder eine ssh verbindung aufbaut, das diese IP Adresse von der die ganzen versuche gekommen sind, gesperrt werden.
 
Naja, root-Login via SSH würde ich sowieso verhindern. In dem Fall braucht man 2 Passwörter.

Andere Lösung wäre auch, nur Clients mit korrekten Keys connecten zu lassen. Dann müsstest du jedoch egal wo du bist den ssh Key bei dir haben.
 
Könnte man das ganze nicht mit snort/(Inline) und nem Batchscript mit AT realisieren?

Hätte zwar auch Portknocking vorgeschlagen, aber mit Snort kannste da bestimmt auch irgendwie was reissen. Der Aufwand wäre aber bestimmt etwas höher.

[Edit]
Mit IPTables kannst du doch einzelne IPs sperren. Das müsste dann natürlich in das Batchscript :D.
[/edit]

Havoc][
 
Mh das Portknocking ist schon recht interessant.

Das mit dem Root Verhindern über SSH ist schon klar. Das ist auch ne Möglichkeit weil man dann eh zwei Passwörter brauch.

Naja ich schau mir das Portknocking mal genauer an.
 
1. root login verbieten
2. password-login verbieten
3. pro person die root werden darf einen ausgewählten user (der ansonsten auf dem system nichts darf) anlegen und je ein key ausstellen. der user kann dann per su - zum root werden und wird dabei geloggt - d.h. es ist möglich nachzuvollziehen wer welchen mist verzapft hat.
4. ssh sollte nicht auf port 22 lauschen - nimm irgend einen port über 1024

mfg

bananenman
 
bananenman: sudo wär noch besser ^^.

Wieso sollte ssh nicht auf Port 22 sein? Security by obscurity ist eine ganz schlechte Idee! Ein guter Portscanner erkennt auch den Service, der auf dem Port läuft (mach mal ne Telnetverbindung auf den SSH Port deines Servers.. openssh ist da recht gesprächig mit dem Banner in den meisten Installationen).
 
wird bei sudo geloggt, wer grade was machen will? (ich weiß das im moment echt nicht - ich kann sudo sowieso nicht leiden und reaktiviere auf distributionen die root offiziel nicht unterstützen immer erstmal den account). das ein portscanner den ssh auch auf 54398 entdeckt ist schon klar - aber wer hat soviel zeit und macht sich die mühe da oben nach ssh zu suchen? das problem teilt sich doch in mind. zwei kategorien auf: erstmal die, die eigentlich nur rumspielen wollen. die suchen nur nach den standardports und schauen mal ob es da nicht was zu holen gibt. die hättest du hier schon ausgeschaltet. die zweite kategorie hat es aus irgendeinem grund wirklich auf deinen server abgesehen (etwas, was otto-normal-admin wohl nie passieren wird). die schauen natürlich genauer hin und fallen auch nicht so einfach auf jeden honeypott rein (das währe das nächste: eine schöne leimrute auf 22 rumwedeln lassen - da kann man reichlich motten fangen, wetten?). aber wer heißt mit nachnamen schon nasa, debian.org oder siemens ... .

mfg

bananenman
 
Zuletzt bearbeitet:
Ist zwar nicht die Antwort nach der verlangt wurde, jedoch ist es sinnvoll in sshd_config folgendes einfliessen zu lassen
Code:
# Allow all members of guest group "sshlogins" to log via ssh
AllowGroups sshlogins
um von Anfang an "unerwünschte" Besucher, welche über Netzwerkdienste eingebrochen sind, auszuschliessen.
Natürlich ist gerade hier ein restriktives Firewallruleset mehr als "mandatory" :)


Mfg
 
@bananenman: Bei 08/15 Scannern ist es aber auch nicht üblich, per Bruteforce Passwörter knacken zu wollen da ja der direkte root-Login in 75% gesperrt ist und ein lokaler User nicht bekannt ist.

Zudem ist diese Konfigurationsänderung für Newbies schnell problematisch da Firewalls und weitere Netzsoftware sich auf die Angaben im /etc/services verlassen oder gar hardcodiert die Ports der üblichen Services gespeichert haben.

Honeypots sind natürlich eine lustige Sache. Ich würde jedoch mehr mit Windows-Viren-Backport-Fakes als SSH-Daemons experimentieren in dieser Hinsicht da Port 22 ein priviligierter Port ist und nur von root geöffnet werden kann. Viele dieser Fake-Software ist jedoch nicht so komplex und spawnt ein Child an welches die Verbindungsanfrage weitergegeben wird. Zudem ist die Software meist nicht sehr weit verbreitet und somit gut getestet.

@token: Gute Idee! Kannte diese Anweisung noch gar nicht. Ist wie "wheel" Gruppe für su auf root.

Wegen sudo: du kannst einstellen, dass User nur ganz bestimmte Kommandos unter root ausführen dürfen. In dem Fall siehst du ganz genau, wer was gemacht hat. Ansonsten siehst du einfach, welcher User den sudo auf "su -" gemacht hat. In diesem Fall hast du nicht mehr Informationen wie du auch im sulog findest.
 
Zuletzt bearbeitet:

Ähnliche Themen

iptables Konfigurationsdatei

SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird

Keine Zugriff von Windows 10 auf Sambafreigaben

Sambaserver im Netzwerk nicht sichtbar

nach ssh-login auswerte ob passwortabfrage komt oder nicht

Zurück
Oben