Benutzer-Werkzeuge

Webseiten-Werkzeuge


thoschwiki:linux:ssh

Dies ist eine alte Version des Dokuments!


ssh

Secure Shell oder SSH bezeichnet ein kryptographisches Netzwerkprotokoll für den sicheren Betrieb von Netzwerkdiensten über ungesicherte Netzwerke. Häufig wird es verwendet, um lokal eine entfernte Kommandozeile verfügbar zu machen, das heißt, auf einer lokalen Konsole werden die Ausgaben der entfernten Konsole ausgegeben und die lokalen Tastatureingaben werden an den entfernten Rechner gesendet. Genutzt werden kann dies beispielsweise zur Fernwartung eines in einem entfernten Rechenzentrum stehenden Servers. Die neuere Protokoll-Version SSH-2 bietet weitere Funktionen wie Datenübertragung per SFTP. (aus Secure Shell)

Features

Forced Commands

Per Default wird nach dem Aufbau des ssh-Verbindung eine interaktive Login-Session für den entsprechenden User aufgebaut. In manchen Fallgestaltungen ist ein eingeschränkterer Zugriff gewünscht. Mittels Forced Commands können die verfügbaren Befehle durch Vorgaben in der ~/.ssh/authorized_keys eingeschränkt werden.

Quellen zu Forced Commands:

Sicherung des ssh-Zugangs

Um die Angriffsfläche eines (ssh)-Servers zu verringern, kann man die folgenden beiden Maßnahmen ergreifen. Dies gilt insbesondere dann, wenn der Server aus dem Internet erreichbar ist.

root-Remote-Zugriff unterbinden

Auf vielen Systmen ist root der einzige Account mit Remote-Zugriff und einem bekannten Benutzernamen. Damit ist er ein gutes Ziel für Brute-Force-Angriffe1). Wenn dieser Account gehackt wird, ist er aufgrund der umfassenden Benutzerrechte eine besonders lohnender Beute. Auf anderen Systemen ist der Account bereits „deaktiviert“.2)

Dort, wo der root-Account noch aktiv ist, sollte man für diese Benutzerkennung den Remote-Zugriff unterbinden.3) Die notwendigen administrativen Aufgaben können mit einem „normalen“ Account unter Verwendung von sudo erledigt werden.4)

Um den ssh-Remote-Zugang für root zu sperren, setzt man in der Datei /etc/ssh/sshd_config den Eintrag PermitRootLogin auf no

PermitRootLogin no

Anschließend startet man den ssh-Daemon neu5) (oder rebootet ersatzweise den Rechner).

Bevor man den Remote-Zugriff für root sperrt, sollte man ausreichend testen, dass das Administrieren mit sudo tatsächlich funktioniert.
1)
99% aller Login-Versuche aus dem Internet, die ich auf meinen Systemen beobachtet habe, richteten sich gegen root
2)
Nach meiner Erfahrung auf allen debianösen (Desktop)Systemen. Nach meiner Erfahrung ist er aber gerade auf Cloud-/VPS-Instanzen aktiv.
3)
…oder den Account root gleich ganz zu deaktivieren.
4)
Das sollte man aus Sicherheitsgründen sowieso machen…
5)
Wie der Restart erfolgt, variiert je nach dem technischen Umfeld.
thoschwiki/linux/ssh.1618222929.txt.gz · Zuletzt geändert: 12.04.2021 12:22 von thosch