Den Rootserver per SSH administrieren – Teil 2 der Artikelserie

Mit ssh kann man der Rootserver von überall administrieren

Überblick:

Im zweiten Teil der Rootserver Artikelserie geht es um den Zugriff und die Verwaltung des Servers über SSH. In der Regel besitzt ein Linux Server keine GUI (grafische Oberfläche), weshalb der Zugriff nur über die Konsole erfolgen kann. Ohnehin ist eine GUI auch nicht nötig, da sie prinzipiell ein Sicherheitsrisiko darstellt und auch unnötige Ressourcen verbraucht.

SSH am Server einrichten und absichern

Wenn man ssh bereits bei der Installation mitinstalliert hat, so braucht man nichts mehr explizit installieren. Sollte man SSH allerdings nicht auf dem Server installiert haben, so braucht man das Paket openssh-server, welches man über die Apt-Paketveraltung schnell installieren kann.

apt-get install openssh-server

Für den Zugriff auf den SSH-Server braucht man unter Linux das Paket openssh-client und unter Windows ein spezielles Programm. Mehr dazu im nächsten Abschnitt

Mit SSH hat man nun einen Zugriff auf den Server. Dieser muss unbedingt so gut es geht abgesichert werden. Hierzu bieten sich verschiedene Möglichkeiten an. Die wichtigste Datei für sämtliche Konfigurationen bzgl. SSH befinden sich im Verzeichnis:

/etc/ssh/sshd_config

Keinen Root Zugriff erlauben

Ich denke es versteht sich fast schon von selbst, dass man einen direkten Root Zugriff auf den Server auf keinen Fall erlauben sollte. Diese Konfiguration lässt sich bewerkstelligen, indem man in der Konfigurationsdatei folgenden Zeile entrechend anpasst:

PermitRootLogin no

Im Anschluss daran muss die Konfigurationsdatei neu eingelesen werden, das heißt man startet den Dienst (ssh) neu:

Möglichkeit 1:    /etc/init.d/ssh restart
Möglichkeit 2:    service ssh restart

Durch die obige Konfiguration ist es jetzt nicht mehr möglich sich direkt per Root am Server anzumelden, sondern nur noch mit einem normalen Benutzer. Sobald man angemeldet ist, kann man mit su zum Root Benutzer wechseln.

Nur bestimmten Benutzer / Gruppen Zugriff erlauben

Weiterhin kann man den Zugriff auch noch auf bestimmte Benutzer einschränken. Hierfür muss man der Option:  AllowUsers die Benutzernamen mitteilen.

Allowusers chef

Möchten  man mehreren Benutzern den Zugriff erlauben, bietet es sich auch an, dass man eine Gruppe erstellt, welche die Benutzer beinhalten, denen der Zugriff erlaubt wird.

addgroup ssh-benutzer
adduser chef ssh-benutzer

Und in der Konfigurationsdatei (/etc/ssh/sshd_config) gibt man jetzt mit AllowGroups die Gruppe an, dessen Zugriff erlaubt wird.

AllowGroups ssh-benutzer

Zur Sicherheit sollte man auch noch die beiden nächsten Optionen ebenfalls konfigurieren:

LoginGraceTime 30
StrictModus Yes

Bei LoginGraceTime wird der Benutzer automatisch getrennt, sofern er sich nicht innerhalb der angegebenen Zeit erfolgreich eingeloggt hat und mit StrictModus werden die Besitzrechte der Benutzerdateien und des Home Verzeichnisses geprüft.

Port des SSH Dienstes ändern

SSH läuft auf Port 22. Alternativ kann man diesen auch noch ändern. Natürlich geht das ebenso in der Konfigurationsdatei. Man sollte allerdings nicht vergessen, das man sich damit einschränkt und man nicht mehr von überall aus darauf zugreifen kann. Andere Ports sind oft in der Firewall gesperrt. Jedoch hat man dann doch weniger Angriffe, weil viele automatisierte Programm auf den Standardport gehen.

SSH-Zugriff per Zertifikat absichern

Generell könnte man auf dem Server noch eine Public Key Authentifizierung erstellen. Es wird dann für den Zugriff kein Login Passwort mehr benötigt, sondern ein Key. Mit dieser Möglichkeit schränkt man seinen Zugriff allerdings ein, denn hiermit kann man nur noch von Rechner aus zugreifen, auf denen der Key hinterlegt ist. Darum ist es natürlich sehr wichtig, dass man sich die Frage stellt, von wo aus bzw. welchen Rechner aus, man seinen Root-Server administriert.

Mit Windows per SSH auf den Server zugreifen

Nachdem der SSH-Zugriff auf dem Rootserver konfiguriert und abgesichert wurde, möchte man Ihn nun nutzen. Ohne einem Zusatz Programm kann man unter Windows nicht direkt SSH verwenden. Das berühmteste Programm ist wohl Putty. Nach Angabe der IP-Adresse kann man eine neue Session starten.

Eine andere Alternative ist MobaXterm. Ich persönlich verwende dieses Programm lieber.

Mit Linux per SSH auf den Server zugreifen

Linux ist in diesem Fall etwas handsamer, den das Terminal unterstützt SSH direkt. Mit dem folgendem Befehl im Terminal kann man sich sofort mit dem Rootserver verbinden:

ssh [email protected]

Ausblick

Der Server kann nun in der Regel von überall aus konfiguriert werden. Der SSH-Dienst ist grundlegend mal abgesichert. Weitere Möglichkeiten um z.B. Brute Force Attacken zu verhindern wäre der Dienst Fail2Ban. Diese Feature möchte ich am Ende der Artikelserie unter den Allgemeinen Tipps & Tricks zum Rootserver noch näher erläutern. Im nächsten Teil 3 geht es um die Installation und Konfiguration von Apache2, damit der Rootserver aus als Webserver arbeiteten kann.

Zum Teil 1 Artikelserie Zum Teil 3