3 Möglichkeiten zum Sichern eines SSH-Servers unter Linux

SSH ist großartig, da es uns erlaubt, Terminalzugriff auf andere Linux-PCs und -Server über das Netzwerk oder sogar das Internet zu erhalten! So erstaunlich diese Technologie auch ist, es gibt einige eklatante Sicherheitsprobleme, die ihre Verwendung unsicher machen. Wenn Sie ein durchschnittlicher Benutzer sind, müssen Sie keine komplizierten SSH-Sicherheitstools installieren. Befolgen Sie stattdessen diese grundlegenden Schritte, um einen SSH-Server unter Linux zu sichern.

Ändern Sie den Standardverbindungsport

Der bei weitem schnellste und einfachste Weg, einen SSH-Server zu sichern, besteht darin, den verwendeten Port zu ändern. Standardmäßig läuft der SSH-Server auf Port 22. Um ihn zu ändern, öffnen Sie ein Terminalfenster. Stellen Sie im Terminalfenster eine SSH-Verbindung zum Remote-PC her, auf dem der SSH-Server gehostet wird.

ssh [email protected]

Wechseln Sie nach der Anmeldung von einem normalen Benutzer zu Root. Wenn Sie das Root-Konto aktiviert haben, ist die Anmeldung mit su eine gute Wahl. Andernfalls müssen Sie sich mit sudo Zugriff verschaffen.

su -

oder

sudo -s

Nachdem Sie nun Administratorzugriff haben, öffnen Sie die SSH-Konfigurationsdatei in Nano.

nano /etc/ssh/sshd_config

Blättern Sie durch die Konfigurationsdatei für „Port 22“. Entfernen Sie das #, falls vorhanden, und ändern Sie dann „22“ in eine andere Zahl. Normalerweise reicht ein Port über 100 oder sogar einer im Bereich von 1.000 aus. Drücken Sie nach dem Ändern der Portnummer die Tastenkombination Strg + O, um die Änderungen zu speichern. Beenden Sie dann den Editor, indem Sie Strg + X drücken.

  So schreiben Sie mit Gnome MultiWriter unter Linux gleichzeitig auf mehrere USB-Laufwerke

Das Bearbeiten der Konfigurationsdatei wird Ihren SSH-Server nicht sofort auf die Verwendung des richtigen Ports umstellen. Stattdessen müssen Sie den Dienst manuell neu starten.

systemctl restart sshd

Das Ausführen des Befehls systemctl sollte den SSH-Daemon neu starten und die neuen Einstellungen übernehmen. Wenn der Neustart des Daemons fehlschlägt, besteht eine andere Möglichkeit darin, Ihren SSH-Servercomputer neu zu starten:

reboot

Nach dem Neustart des Daemons (oder Computers) ist SSH nicht über Port 22 erreichbar. Daher muss für die Verbindung über SSH der Port manuell angegeben werden.

Hinweis: Stellen Sie sicher, dass Sie „1234“ mit dem in der SSH-Konfigurationsdatei festgelegten Port ändern.

ssh -p 1234 [email protected]

Deaktivieren Sie die Passwortanmeldung

Eine weitere großartige Möglichkeit, einen SSH-Server zu sichern, besteht darin, die Passwortanmeldung zu entfernen und stattdessen zur Anmeldung über SSH-Schlüssel überzugehen. Wenn Sie die SSH-Schlüsselroute verwenden, entsteht ein Vertrauenskreis zwischen Ihrem SSH-Server und Remote-Computern, die Ihren Schlüssel haben. Es ist eine verschlüsselte Passwortdatei, die schwer zu knacken ist.

  So installieren Sie JetBrains DataGrip unter Linux

Mit einem SSH-Schlüssel auf Ihrem Server einrichten. Wenn Sie die Schlüssel eingerichtet haben, öffnen Sie ein Terminal und öffnen Sie die SSH-Konfigurationsdatei.

su -

oder

sudo -s

Öffnen Sie dann die Konfiguration in Nano mit:

nano /etc/ssh/sshd_config

Standardmäßig verarbeiten SSH-Server die Authentifizierung über das Passwort des Benutzers. Wenn Sie ein sicheres Passwort haben, ist dies ein guter Weg, aber ein verschlüsselter SSH-Schlüssel auf vertrauenswürdigen Computern ist schneller, bequemer und sicherer. Um den Übergang zur „passwortlosen Anmeldung“ abzuschließen, schauen Sie in die SSH-Konfigurationsdatei. Blättern Sie in dieser Datei durch und suchen Sie den Eintrag mit der Aufschrift „PasswordAuthentication“.

Entfernen Sie das #-Symbol vor „PasswordAuthentication“ und stellen Sie sicher, dass das Wort „no“ davor steht. Wenn alles gut aussieht, speichern Sie die Änderungen an der SSH-Konfiguration, indem Sie Strg + O auf der Tastatur drücken.

Schließen Sie nach dem Speichern der Konfiguration Nano mit Strg + X und starten Sie SSHD neu, um die Änderungen zu übernehmen.

systemctl restart sshd

Wenn Sie systemd nicht verwenden, versuchen Sie stattdessen, SSH mit diesem Befehl neu zu starten:

service ssh restart

Wenn ein entfernter Rechner das nächste Mal versucht, sich bei diesem SSH-Server anzumelden, wird er nach den richtigen Schlüsseln suchen und sie ohne Passwort einlassen.

  Die 8 besten künstlerischen Werkzeuge für Linux-Benutzer

Deaktivieren Sie das Root-Konto

Das Deaktivieren des Root-Kontos auf Ihrem SSH-Server ist eine Möglichkeit, den Schaden zu mindern, der auftreten kann, wenn ein nicht autorisierter Benutzer Zugriff über SSH erhält. Um das Root-Konto zu deaktivieren, ist es zwingend erforderlich, dass mindestens ein Benutzer auf Ihrem SSH-Server Root über sudo erlangen kann. Dadurch wird sichergestellt, dass Sie bei Bedarf auch ohne das Root-Passwort Zugriff auf Systemebene erhalten.

Hinweis: Stellen Sie sicher, dass die Benutzer, die über sudo auf Root-Rechte zugreifen können, ein sicheres Passwort haben, oder das Deaktivieren des Superuser-Kontos ist sinnlos.

Um Root zu deaktivieren, erhöhen Sie das Terminal auf Superuser-Berechtigungen:

sudo -s

Die Verwendung von sudo -s umgeht die Notwendigkeit, sich mit su anzumelden, und gewährt stattdessen eine Root-Shell über die sudoers-Datei. Nachdem die Shell nun Superuser-Zugriff hat, führen Sie den Passwortbefehl aus und verschlüsseln Sie das Root-Konto mit –lock.

passwd --lock root

Das Ausführen des obigen Befehls verschlüsselt das Passwort des Root-Kontos, sodass eine Anmeldung über su unmöglich ist. Von nun an können sich Benutzer nur noch als lokaler Benutzer per SSH anmelden und dann über sudo-Berechtigungen zu einem Root-Konto wechseln.