laptop_internet_XS-80.jpg?nocache=1313064450021SSH ist ein sicherer Weg, um Computer aus der Ferne zu verwalten. Allerdings ist eine falsche Konfiguration durchaus gefährlich. Dieser Artikel zeigt Ihnen wie Sie diesen Dienst sicher konfigurieren.

 

Falls Sie schon mal einen SSH-Server eingerichtet haben, werden Sie die Massen an automatisierten Angriffen sicher in Ihrem Log gesehen haben. Zum Glück lässt sich sshd – der SSH-Server – einfach sicher konfigurieren. Folgen Sie einfach den hier dargestellten Schritten.

Dieser Artikel nimmt an, dass Sie sshd auf einem Server einrichten und der Dienst somit schon installiert ist und Sie per SSH auf den Server zugreifen. Falls Sie sshd auf Ihrem Desktop-Computer installieren wollen, müssen Sie es zuerst aus den Repositories downloaden. Unter Ubuntu und Debian geht das zum Beispiel mit „apt-get install openssh openssh-server “. Hierfür brauchen Sie root-Rechte, wie für die meisten der Befehle in diesem Artikel. Stellen Sie hierfür ein „sudo“ vor die Befehle, oder, falls Sie sich sicher fühlen, melden Sie sich als root an ;-).

SSH-Keys einrichten

Ein kurzer Blick in jeden SSH-Log zeigt, dass erstaunlich viele automatisierte „Bots“ nach SSH-Servern scannen und dort dann die am meisten benutzten Passwörter ausprobieren. Daher ist es sinnvoll, die unsichere Authentifizierung durch Public-Key-Kryptographie zu ersetzen. Dies bedeutet, dass der Computer, von dem Sie sich verbinden, einen privaten Schlüssel benutzt um sich mit dem öffentlichen Schlüssel auf Ihrem Server anzumelden. Daher muss allerdings auf dem Computer, von dem aus Sie sich verbinden ein privater Schlüssel gespeichert sein. Zuerst müssen Sie dafür ein Schlüsselpaar auf dem Server erstellen. Geben Sie dafür Folgendes ein:

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa

01-sshd-einrichten-key-erstellen-470.png?nocache=1313062591713

Nun werden Sie aufgefordert, eine Passphrase einzugeben, die dazu dient Ihren privaten Schlüssel zu sichern und nach dem Speicherort der Schlüssel gefragt. Geben Sie hier das soeben erstellte Verzeichnis an. Nachdem die Schlüssel erstellt wurden, müssen Sie sie nur noch kopieren. Geben Sie hierfür dies ein:

ssh-copy-id @

Wobei für den Computer steht, auf dem der SSH-Server läuft. Versuchen Sie sich nochmal per SSH zu dem Server zu verbinden, um die Verbindung zu überprüfen.

Die Konfigurationsdatei

Jetzt werden wir die Konfigurationsdatei "/etc/ssh/sshd_config" anpassen. Zuerst sollten Sie eine Sicherheitskopie dieser Datei anlegen. Das funktioniert mit

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

.
Jetzt wird es Zeit, die Konfigurationsdatei zu editieren. Benutzen Sie dafür einen Editor Ihrer Wahl, wie zum Beispiel vi. Folgende Einstellungen sollten Sie anpassen oder gegebenfalls erstellen:
Protocol 2Dies weist den Server an, nur das sichere SSH-2-Protokol zu verwenden
PermitRootLogin no  – Verhindert dass root sich per SSH einloggen kann. Sie können aber immer noch „su“ benutzen, um root-Rechte zu erlangen.
AllowUsers … Beschränkt die Nutzer, die sich per SSH verbinden können.
PasswordAuthentication no
– Lässt Authentifizierung nur per Schlüsselpaare zu.

Für eine Übersicht über Variablen der Konfigurationsdatei können Sie die passende manual-Seite aufrufen:

man sshd_config

Hiermit ist Ihr SSH-Server um einiges sicherer als mit der Standard-Konfiguration