Mit nur wenig Aufwand kann man den SSH Daemon zumindest elementar absichern und diesen vor Angriffen schützen. Wenn man es potentiellen Angreifern zu schwer bzw. aufwendig macht, sorgt das zuindest bei den meisten, nicht übermässig wichtigen und wertvollen Projekten für einigermassen Ruhe.
SSH Port ändern
Alle Änderungen zu SSH werden in der Konfigurationsdatei des SSH Daemons (sshd) gemacht. Ein Daemon ist ein Programm, dass vollständig im Hintergrund läuft ohne Benutzereingaben. Man merkt von dessen Existenz eigentlich nichts.
Bei Debian basierten Systemen und CentOS findet man diese SSHd Konfigurationsdatei unter /etc/ssh/sshd_config, zum Bearbeiten auf der Shell gibt man folgenden Befehl ein:
Lässt man die mit # markierten Kommentare ausser acht, ist die erste Einstellungsmöglichkeit der Port. Bei einem neuen System steht dort 22 – das ist der Standard Port der für SSH reserviert ist. Man kann dort eine beliebige andere Zahl eintragen, ideal ist ein Wert zwischen 30000 und 65535. Damit man sich diesen Port besser merken kann, sollte diese auch mit 22 enden – beispielsweise 40022.
Nachdem der Wert geändert wurde muss die Datei noch gespeichert und der Dienst neu gestartet werden. Neu starten vom SSH Dienst funktioniert mit folgendem Befehl:
SSH Zugriff nur für bestimmte Benutzer
Da die meisten Angriffe auf bekannte Benutzernamen wie root und admin gehen ist es eine gute Idee den Zugriff über SSH nur für wenige Benutzer einzugrenzen. Einmal eingeloggt kann man danach immer noch den Benutzer wechseln oder mit dem sudo Befehl root Rechte erlangen. Falls das System sudo nicht kennt oder der Benutzer dieser Gruppe nicht zugeordnet ist kann man immer noch mit su den Benutzer in der Konsole wechseln. Bei einer Standard SSH Konfigurationsdatei gibt es noch keinen Punkt AllowUsers. Aus diesem Grund fügt man am Ende der Datei folgendes hinzu:
Alternativ, oder besser zusätzlich kann man auch mit einem Parameter gezielt den Root Zugriff abschalten. Das geht mit:
PermitRootLogin no
In diesem Fall wäre der SSH Zugriff einzig und allein mit einem Benutzer mit dem Namen werner möglich. Es ist sehr wichtig, dass man nur im System vorhandene Benutzer angibt!
ACHTUNG: Gibt man beispielsweise einen Benutzernamen ein, der gar nicht als Benutzer im System angelegt ist würde man sich aus dem System aussperren. Ein SSH Login wäre dann nicht mehr möglich!