SSH-Login beschränken
Da ich heute einige Probleme zu Hause mit meinem Netzwerk hatte (mein Router spinnt ab und zu), und mir dann nicht sicher war, ob es an dem Router oder doch an meinen Einstellungen am SSH-Server liegt, habe ich mir die Log-Files von meinem SSH-Server angesehen.
Da stellt man dann fest, dass sich jemand (erfolglos) versucht hat sich von außen in meinen Server einzuloggen. Da hab ich mir die Frage gestellt, wie ich mein SSH-Login etwas sicherer machen kann.
Foglendes:
Auf einem SSH-Server ist es standardmäßig möglich, dass sich alle Benutzer die im Linux-System angelegt sind, auch per SSH einloggen können.
Folgende Wege hab ich bei meiner kurzen Recherche heraus gefunden dies zu ermöglichen:
1. Den Benutzern die sich nicht einloggen dürfen, einfach in der Datei /etc/passwd einfach keine Shell zu geben. D.h. die jeweiligen Benutzer bei “/bin/bash/” durch “/bin/false” ersetzen, fertig.
2. Die Benutzer die sich einloggen dürfen einfach der Gruppe ssh zuordnen und in der Datei “/etc/ssh/sshd_config” die Zeile “AllowGroups ssh” (weiter Gruppen durch Komma getrennt können hinzugefügt werden) schreiben und den ssh-Server neu starten.
3. Wer es ganz sicher haben will, muss jeder Benutzer der sich anmelden darf einen eigenen Public und Private Key erzeugen. Der Public Key wird dann auf dem Server hinterlegt. Den SSH-Login kann man wiederum in der Konfigurationsdatei so absichern, dass sich nur Nutzer anmelden dürfen, deren Public Key bekannt ist.
Ich denke eine Kombination aus alles drei ist eine 1a Sicherheit für den Server gegen externe “Angriffe” und versucht logins.
Achja, eine 4. Möglichkeit ist, wenn man via Brute Force angegriffen wird, dass man das kleine nützliche Programm “fail2ban” installiert und konfiguriert. Hier wird die zugreifende IP-Adresse für einen bestimmten Zeitraum einfach komplett gesperrt (oder auch für immer gesperrt).
25. Februar 2010 um 20:14
Danke, fail2ban war genau das was ich suchte.