Categories
Linux Security Server SSH

SSH-Server installieren und sichern

Heute wird ein SSH-Server (Secure Shell) installiert und abgesichert. Dazu wird zählen

  1. SSH-Server installieren
  2. Root-Login verbieten
  3. Listen-Port ändern
  4. Benachrichtigung bei Login (per e-mail)

Hinweis: Ich verwende den Editor nano. Eine Datei wird mittels STRG+O gespeichert und mittels STRG+X geschlossen.

1. SSH-Server installieren

Installieren ist relativ simpel. Ich benutze meistens apt-get.

Bevor allerdings etwas installiert wird, sollte man die Paketliste erneuern und gegebenenfalls das System auf den neusten Stand bringen.

Ist dies geschehen, kann man mit der Installation des SSH-Servers fortfahren.

Es kommt wahrscheinlich eine Anzeige mit mehreren Abhängigkeiten und zusätzlich benötigten Paketen und die Frage, ob man fortfahren wolle – bestätigen.

2. SSH Root-Login verbieten

Den Root-Login zu verbieten dient natürlich der Sicherheit, denn auf jedem Linux gibt es den Benutzer “root” – ein potentieller Angreifer muss nur noch das Passwort herausfinden. Bevor man nun aber den Root-Login verbietet, sollte man natürlich einen anderen Benutzer anlegen – sonst hat man im worst-case keinen Zugriff mehr auf den Server.

In diesem Beispiel können der USERNAME und weitere Angaben individuell angegeben werden.

Nachdem man diesen Befehl ausgeführt hat, wird man zwei Mal nach dem gewünschten Passwort gefragt.
Nachfolgend werden Eingaben von Informationen über den Benutzer abgefragt.
Name und weitere Angaben können einfach übersprungen werden, indem man die Enter-Taste drückt.
Dann sollte eine Frage erscheinen, ob die angegebenen Informationen korrekt sind – bestätigen.

Anschließend sollte man sicherstellen, dass man sich mit dem neuen Benutzer einloggen kann.

Führt man diesen Befehl als “root” aus, wird man nicht nach dem Passwort gefragt, von einem anderen Benutzer allerdings schon.

Ist das gelungen, kann weiter fortgefahren werden.

um wieder auf den eigentlichen Benutzer zurückzukehren und den Root-Login zu verbieten.

Ich benutze hierfür den Editor nano. Es kann natürlich auch der persönlich präferierte Editor genutzt werden.

Nun wird die Konfigurationsdatei für den SSH-Server geöffnet.

Hier sucht man nun nach der Zeile

PermitRootLogin yes

und ändert es in

PermitRootLogin no

um. Standardmäßig ist der Login als root gestattet – mit einem ändern von “yes” auf “no” wird es verboten.
Ist der Wert geändert wird die Datei gespeichert und geschlossen.

3. Listen-Port ändern

WICHTIG! Sollte auf dem System eine Firewall installiert sein, sollten auf jeden Fall Vorbereitungen getroffen werden, dass der Port auch zugelassen sein wird – sonst hat man im worst-case keinen Zugriff mehr auf den Server.

Hierfür öffnen wir wieder die Konfigurationsdatei für den SSH-Server.

Nun sucht man nun nach der Zeile

Port 22

Der Standard-Port für SSH ist 22 – nun einfach die 22 durch den gewünschten Port ersetzen. Hier sollte man aufpassen und keinen anderweitig verwendeten Port verwenden. Beispiele sind

  • 20/21 -> ftp
  • 80 -> http
  • 443 -> https

und viele mehr – nachzulesen hier.

Ist der Port geändert wird die Datei speichert und geschlossen und man führt

aus. Der SSH-Server wird neu gestartet.

Mit dem Befehl

kann man sehen, auf welchem Port der SSH-Server “lauscht”.

4. Benachrichtigung bei Login (per e-mail)

Vorraussetzung: Ein Paket für den Mailversand wie zum Beispiel Postfix ist installiert und konfiguriert, damit die Mail auch verschickt werden kann.

Möchte man bei jedem Login eine e-mail erhalten kann man folgendes Script erstellen und Einstellungen übernehmen.

Mit dem ersten Befehl wird die Datei für das Script erstellt, mit dem zweiten wird sie dann bearbeitet und anschließend soll sie ausführbar sein.

Dann kommt nachfolgendes Script in die gerade geöffnete Datei “shell-login.sh”. Natürlich kann man es noch Wunschspezifisch anpassen.

Die Datei wird wieder gespeichert und geschlossen.

Falls das Paket “finger” noch nicht installiert sein sollte, kann man es mitttels

nachinstallieren.

In der Datei “/etc/profile”

fügt man dann die Zeilen

hinzu (die Werte für “sender@domain.tld” und “receiver@domain.tld” natürlich anpassen) – das war es auch schon.

Ist alles erfolgreich abgelaufen ist der SSH-Server schonmal etwas sicherer – es gibt wie immer keine 100%ige Sicherheit. Man könnte auch noch eine Authentifizierung per Key verlangen, den Timeout einstellen und so weiter.