SSH ist eine fantastische Technologie, die es uns ermöglicht, über ein Netzwerk oder sogar das Internet auf Linux-Rechner und Server zuzugreifen. Trotz dieser großartigen Funktionalität gibt es einige Sicherheitslücken, die die Verwendung riskant machen können. Für durchschnittliche Nutzer sind keine komplizierten Sicherheitstools erforderlich. Hier sind einige grundlegende Schritte, um einen SSH-Server unter Linux zu schützen.
Ändern des Standard-Ports für die Verbindung
Die schnellste und einfachste Methode, einen SSH-Server zu sichern, ist die Änderung des verwendeten Ports. Standardmäßig nutzt der SSH-Server Port 22. Um dies zu ändern, öffnen Sie ein Terminal. Stellen Sie im Terminal eine SSH-Verbindung zum entfernten Rechner her, auf dem der SSH-Server läuft.
ssh [email protected]
Nach der Anmeldung wechseln Sie vom normalen Benutzer zum Root-Benutzer. Wenn Sie das Root-Konto aktiviert haben, ist die Anmeldung mit su
eine gute Option. Andernfalls benötigen Sie sudo
für den Zugriff.
su -
oder
sudo -s
Sobald Sie Administratorrechte haben, öffnen Sie die SSH-Konfigurationsdatei mit Nano.
nano /etc/ssh/sshd_config
Suchen Sie in der Konfigurationsdatei nach der Zeile „Port 22“. Entfernen Sie das vorangestellte #, falls vorhanden, und ändern Sie „22“ in eine andere Portnummer. Ein Port über 100 oder sogar im 1000er-Bereich ist in der Regel ausreichend. Speichern Sie die Änderungen mit Strg + O und beenden Sie den Editor mit Strg + X.
Die Bearbeitung der Konfigurationsdatei bewirkt nicht sofort, dass Ihr SSH-Server den neuen Port verwendet. Sie müssen den Dienst manuell neu starten.
systemctl restart sshd
Der systemctl
-Befehl startet den SSH-Dienst neu und übernimmt die neuen Einstellungen. Wenn der Neustart fehlschlägt, können Sie den Server auch neu starten:
reboot
Nach dem Neustart des Dienstes oder des Computers ist SSH nicht mehr über Port 22 erreichbar. Bei Verbindungen über SSH muss der Port manuell angegeben werden.
Hinweis: Ersetzen Sie „1234“ durch den Port, den Sie in der SSH-Konfigurationsdatei angegeben haben.
ssh -p 1234 [email protected]
Deaktivierung der Passwort-Authentifizierung
Eine weitere Möglichkeit, die Sicherheit eines SSH-Servers zu erhöhen, ist die Abschaffung der Passwort-Authentifizierung und die Verwendung von SSH-Schlüsseln. SSH-Schlüssel bilden einen Vertrauenskreis zwischen dem SSH-Server und Rechnern, die den Schlüssel besitzen. Es handelt sich um eine verschlüsselte Passwortdatei, die schwer zu knacken ist.
Richten Sie zunächst SSH-Schlüssel auf Ihrem Server ein. Sobald die Schlüssel konfiguriert sind, öffnen Sie ein Terminal und die SSH-Konfigurationsdatei.
su -
oder
sudo -s
Öffnen Sie dann die Konfiguration mit Nano:
nano /etc/ssh/sshd_config
Standardmäßig verarbeiten SSH-Server die Authentifizierung über das Benutzerpasswort. Dies ist zwar mit einem sicheren Passwort in Ordnung, aber SSH-Schlüssel auf vertrauenswürdigen Rechnern sind schneller, bequemer und sicherer. Um auf die „passwortlose Anmeldung“ umzustellen, suchen Sie in der SSH-Konfigurationsdatei nach der Zeile „PasswordAuthentication“.
Entfernen Sie das # vor „PasswordAuthentication“ und setzen Sie den Wert auf „no“. Speichern Sie die Änderungen der SSH-Konfiguration mit Strg + O.
Schließen Sie Nano mit Strg + X und starten Sie den SSH-Dienst neu, um die Änderungen zu übernehmen.
systemctl restart sshd
Wenn Sie systemd nicht verwenden, versuchen Sie, SSH mit diesem Befehl neu zu starten:
service ssh restart
Wenn sich ein entfernter Rechner das nächste Mal am SSH-Server anmelden möchte, wird er die richtigen Schlüssel verwenden und ohne Passwort anmelden.
Deaktivierung des Root-Kontos
Das Deaktivieren des Root-Kontos auf Ihrem SSH-Server ist eine Möglichkeit, den Schaden zu begrenzen, der entstehen kann, wenn ein Unbefugter über SSH Zugriff erlangt. Um das Root-Konto zu deaktivieren, ist es unerlässlich, dass mindestens ein Benutzer auf Ihrem SSH-Server über sudo
Root-Rechte erlangen kann. Dies stellt sicher, dass Sie bei Bedarf auch ohne das Root-Passwort auf Systemebene zugreifen können.
Hinweis: Achten Sie darauf, dass Benutzer, die mit sudo
auf Root-Rechte zugreifen können, ein sicheres Passwort haben, ansonsten macht die Deaktivierung des Superuser-Kontos keinen Sinn.
Um das Root-Konto zu deaktivieren, erhöhen Sie die Terminalberechtigungen:
sudo -s
Die Verwendung von sudo -s
umgeht die Anmeldung mit su
und ermöglicht eine Root-Shell über die sudoers
-Datei. Nachdem die Shell über Superuser-Zugriff verfügt, führen Sie den passwd
-Befehl aus und sperren das Root-Konto mit --lock
.
passwd --lock root
Dieser Befehl sperrt das Passwort des Root-Kontos, sodass eine Anmeldung über su
nicht möglich ist. Benutzer können sich fortan nur noch als lokaler Benutzer per SSH anmelden und dann über sudo
-Berechtigungen zu einem Root-Konto wechseln.