Sicherheit auf HostEurope vServern mit Plesk - Die Basics

2017-01-27 // Tags:

Bisher musste ich mich wenig um Security kümmern. Auf meinem alten WebHosting habe ich lediglich meine Dateien und Datenbanken administrieren müssen, um den Rest hat sich mein Anbieter HostEurope gekümmert. Bei meinem neuen vServer ist es hingegen anders, ich bin komplett für die Administration verantwortlich.

HostEurope selber bietet eine kleine Anleitung mit den wichtigsten Punkten. Wenn man zur Verwaltung die Oberfläche Plesk einsetzt, werden einige Schritte sogar noch einfacher. Darum hier mein Vorgehen:

Vorbereitung

Initial bekommt man von HostEurope einen Root-Zugang zu seinem Server inklusive eines ersten Passworts bereitgestellt. Damit kann man sich per SSH auf den Server anmelden.

Root-Passwort ändern

Damit man nicht mit diesem bekannten Passwort arbeitet, ändert man als erstes das Root-Passwort auf dem Server. Dazu verbindet man sich per SSH mit dem vServer als Benutzer root und führt dort dann ein passwd aus. Altes Passwort, zwei mal neues Passwort eingeben und fertig.

Neuen Benutzer anmelden

Weil wir den Root-Zugang per SSH verbieten wollen, legen wir nun einen neuen Benutzer an:

adduser johndoe

Interaktiv werden nun die Daten für den neuen User abgefragt. Damit wir mit diesem Nutzer auch administrative Tätigkeiten mit Root-Rechten ausführen können, fügen wir den User auch der Gruppe sudo hinzu:

addgroup johndoe sudo

(Alternativ könnte man auch einfach vom Benutzer johndoe mit einem sudo - root wieder zum Benutzer root werden.)

Test-Login per SSH, ob man sich mit johndoe anmelden und zum Benutzer root wechseln kann und gut ist.

SSH-Dienst anpassen

Als root - oder mit Sudo-Rechten - editieren wir nun die Datei /etc/ssh/sshd_config

Auszug, in der Datei stehen noch mehr wichtige Konfigurationen, aber diese drei Stellen sind wichtig.

# Umstellen des Standard-Ports. War vorher 20
Port 4711

# Root-Login verbieten. War zuvor yes
PermitRootLogin no

# War bei mir nicht vorhanden, einfach als letzte Zeile hinzugefügt
AllowUser johndoe

Nun hört SSH nicht mehr auf den Standard-Port 20, sondern meinen eigenen Port 4711. Der Benutzer root darf sich nicht mehr anmelden, sondern nur noch der benannte User johndoe

Sinnvolle Ergänzung

Sinnvoll ist es auch, denn Login per Passwort komplett zu verbieten:

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

Das Bedingt aber, dass man zuvor einen eigenen SSH-Key für den Benutzer johndoe erstellt und auf dem Server hinterlegt hat. Dazu findet sich eine gute und ausführliche Anleitung im Wiki von Ubuntuusers.de.

Anschließend muss der SSH-Dienst neugestartet werden:

service ssh restart

Absichern in Plesk

Die nachfolgenden Schritte sind auch über die Command-Line möglich. Über Plesk geht es allerdings etwas komfortabler. Voraussetzung ist allerdings, dass folgende Pakete auf dem Server installiert sind (was bei mir bereits der Fall war):

  • fail2ban
  • plesk-fail2ban-configurator
  • iptables

Firewall aktivieren

Zunächst muss man in Plesk eine Erweiterung installieren. Unter “Tools & Settings” findet man den Punkt “Updates und Upgrades”. Auf der nächsten Seite findet man unter “Komponenten hinzufügen/entfernen” im Unterpunkt “Plesk extensions” die “Plesk Firewall”. Diese markieren wir zum Installieren und wenden die Änderungen an.

Anschließend findet man im Plesk unter “Erweiterungen” die “Firewall”, die man aktivieren kann. Hier muss man nun etwas vorsichtig sein, die Regeln machen in der Standard-Konfiguration Sinn. Doch wir haben unseren SSH-Port umgebogen. Deswegen wenden wir zunächst die Standard-Regeln an und fügen dann eine neue Regel hinzu: “Plesk Firewall Regeln modifizieren”, “Benutzerdefinierte Regel hinzufügen”. Dort tragen wir dann einen sprechenden Namen ein, es ist eine eingehende Regel, der Port ist 4711 (oder der Port, den wir in der /etc/ssh/sshd_config angegeben haben) und die Quelle ist ein beliebiger Host. Die Regel speichern wir und wenden die Änderungen in der Firewall an. Schon sollten wir über Port 4711 immer noch per SSH auf den vServer kommen.

Fail2Ban einrichten

In Plesk findet man unter “Tools & Settings” den Punkt “Sperren von IP-Adressen (Fail2Ban)”. Dort kann man unter “Einstellungen” die “Angriffserkennung aktivieren” und noch an ein paar Parametern schrauben.

Schon sollte der Server mit wenigen Handgriffen etwas sicherer sein. Als nächstes sollten nun die kleinen Details angepackt werden, sowas wie die Einrichtung des Mail-Servers oder das Ausliefern der Webseiten über HTTPS. Doch das sind wieder andere Geschichten…