SSH auf einem RootServer richtig einrichten
Die ersten Schritte: User anlegen und Rootlogins verbieten und den Nutzerkreis einschränken
Einen User anlegen
Eins der ersten Dinge die man bei einem Rootserver machen sollte ist, dem User root das einloggen über ssh zu verbieten.
Bevor man dies aber macht, sollte man sich erstmal einen eigenen User im System anlegen, denn sonst steht man ziemlich dumm da, wenn man sich nichtmehr als root einloggen kann und man noch keinen anderen User zum einloggen hat. Einen User erstellt man mit folgendem Befehl:
useradd -g users -d /home/foobar -s /bin/bash foobar
Hier wird ein User namens foobar in der Gruppe users mit der Bash als Standartshell angelegt. Das Homeverzeichnis des Users liegt in /home/foobar (Dieses Verzeichnis muss manuel angelegt werden!). Der User hat bis jetzt aber noch kein Passwort. Das Passwort kann man mit dem ´passwd´ Befehl ändern. Als root kann man auch das Passwort für andere User ändern:
passwd foobar
Hier sollte man auch darauf achten, das man kein zu einfaches Passwort wählt. Also sollte es mindestens 8 Zeichen haben, Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen beinhalten.
Jetzt, da der User angelegt und mit einem (sicheren) Passwort versehen wurde, ist es an der Zeit zu testen, ob man sich auch einloggen kann. (Das sollte eigentlich jeder können. Wenn nicht, sollte man sich wundern, wie man überhaupt mit root arbeiten konnte ;) )
root Login sperren
Wenn man sich mit dem zuvor erstellten User einloggen konnte, kann man root das einloggen verbieten.
Dazu öffnet man die Datei
/etc/ssh/sshd_config
mit einem Editor und ändert in der Zeile
PermitRootLogin yes
auf
PermitRootLogin no
Nun muss man nur noch die SSH Daemon Config neu laden:
/etc/init.d/ssh reload
Danach sollte man sich mit root nichtmehr einloggen können.
Ab jetzt loggt man sich einfach mit dem angelegten User ein und loggt sich über den Switch User Befehl als root ein:
su
Dann noch root-Passwort eingeben, und fertig. :)
Nur ausgewählte User zulassen
Wer nur bestimmte benutzer explizit für SSH freischalten will kann damit schon vielen SSH-Scans einen Riegel vorschieben. Durch ein hinzufügen der Zeile:
AllowUsers username1 username2 username3
Lässt sich der Kreis der SSH-Berechtigten einfach eingrenzen. Die Änderungen werden dann mit einem
/etc/init.d/sshd restart
wirksam. Gleiches ist mit Gruppen mittels der Verwendung von AllowGroups sinngemäß auf gleiche Weise möglich. Am besten parallel in einer anderen Session einloggen und testen ob alles so funktioniert wie es auch soll, ansonsten sperrt man sich bei einem Tippfehler im Benutzernamen in der Konfigurationsdatei schnell mal selbst aus und muss dann den Server ins Rescue-System rebooten um den Fehler zu beheben.