SSH-Server

Aus Fedorawiki.de

(Weitergeleitet von Ssh)
Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung

Es gibt diverese Konfigurationsmöglichkeiten, um einen SSH-Server sicherer zu machen. Die dazu zu bearbeitende Datei ist, wenn nicht anders angegeben, /etc/ssh/sshd_config. Um diese Datei zu bearbeiten, muss man root sein!

Inhaltsverzeichnis

root bleibt außen vor

root darf sich nicht von außen einloggen. Werden aber entsprechende Rechte benötigt, kann man sich mit einem Nutzer einloggen und den Rest mit su erledigen. Die nötige Einstellung lautet:

PermitRootLogin no


keine leeren Passwörter

Diese Einstellung verhindert, dass sich Nutzer einloggen dürfen, die ein Passwort der Länge null haben

PermitEmptyPasswords no


nur Protokoll Version 2

SSH existiert in zwei Protokollen, wovon das erste unter bestimmten Bedingungen unsicher sein kann (man-in-the-middle Angriff möglich). Deswegen sollte man nur das zweite verwenden:

Protocol 2


Einloggen begrenzen

Man kann auf verschiedene Art- und Weisen den Login begrenzen.

Nur bestimmte Nutzer

Man kann das System so konfigurieren, dass nur explizit angegebene Nutzer erlaubt sind.

AllowUsers foo bar whatever

Alle anderen Nutzer werden so ausgesperrt.

Nur bestimmte Gruppen

Alternativ zur Auflistung sämtlicher Benutzer kann auch eine Liste von Gruppen angegeben werden.

AllowGroups sshusers

Damit werden Benutzer welche nicht der Gruppe "sshuser" angehören ausgesperrt.

Nur begrenzte Versuchszahl

Die Option

MaxAuthTries 4

erlaubt pro Verbindung nur 4 Login-Versuche, nicht mehr. Dies blockt überzählige Login-Versuche.

Authentifizierung mit einer Schlüsseldatei

Man kann die Authentifizierung auch mit Schlüsseln durchführen. Vorteil ist hier, dass man die Passwörter nicht mehr eingeben braucht. Die entsprechende Option in /etc/ssh/sshd_config lautet

PubkeyAuthentication yes

Darüber hinaus muss noch der öffentliche Teil des Login-Schlüssels des Clients, der dort unter ~/.ssh/id_dsa.pub liegt, auf dem Server in einer definierten Datei hinterlegt werden. Dies geht zum Beispiel mit

cat id_dsa.pub >> ~/.ssh/authorized_keys

Der Schlüssel wird so an eventuell schon existierende Schlüssel angehängt. Wurde so der öffentliche Anteil des Schlüssels an die richtige Stelle kopiert, fehlt noch die folgende Einstellung in /etc/ssh/sshd_config:

AuthorizedKeysFile %h/.ssh/authorized_keys

Danach kann man sich mit jedem Computer, auf dem der entsprechende Nutzer vorhanden ist und der den privaten Anteil des Schlüssels unter ~/.ssh/id_dsa bereit hält, auf dem Server anmelden, ohne ein Passwort einzugeben.

Schaltet man dann noch die Passwort-Authentifizierung ab, kann man sich nur noch mit einem Schlüssel anmelden:

PasswordAuthentication no
Achtung Achtung: Diese Option sollte man erst setzen, wenn der Login mit dem Schlüssel einwandfrei funktioniert, und man eine Sicherung des privaten Teils des Schlüssels erstellt hat!


Ersten Kontakt erschweren

Es ist auch möglich, den Server zumindest für automatisierte Zugriffe zu verstecken. Dazu lässt man ihn nicht mehr auf dem Standardport 22 lauschen, sondern z.B. auf dem Port 222

Port 222

Jeder Nutzer kann sich jetzt immer noch mit

ssh -p 222 hostname

anmelden, alle automatisierten Zugriffe, die auf den Standardport 22 abzielen, laufen aber ins Leere.

Links