
5 einfache Schritte zur Absicherung deines Servers

Sichere deinen Cloud-Server mit fünf wichtigen Schritten: richte Firewalls ein, implementiere Fail2ban, konfiguriere Backups, nutze UFW für mehrschichtige Verteidigung und logge dich mit sicheren SSH-Keys statt Passwörtern ein.
Serversicherheit muss nicht kompliziert sein. Dieser Leitfaden behandelt fünf wesentliche Schritte, um deinen Cloud-Server vor gängigen Bedrohungen und Angriffen zu schützen. Wir gehen durch die Einrichtung von Firewalls, die Implementierung von Fail2ban, die Konfiguration von Backups und mehr.
Ich verwende für dieses Tutorial einen Hetzner Server, aber die Schritte sind bei anderen Anbietern ähnlich. Falls du noch kein Hetzner-Konto hast, kannst du gerne meinen Empfehlungslink nutzen, um 20€ Guthaben kostenlos zu erhalten.

Sorgen wir dafür, dass du nicht wegen eines Hacks in den Nachrichten landest! 😤
1. Firewall
Das erste, was du immer tun solltest, wenn du einen neuen Cloud-Server erstellst, ist eine Firewall einzurichten. Eine Firewall kontrolliert eingehende und ausgehende Netzwerkanfragen zu/von deinem Server. Eine Firewall könnte zum Beispiel so konfiguriert sein, dass dein Server keinen Zugriff aufs Internet hat oder dass nur eine bestimmte IP-Adresse deinen Server erreichen kann.
Die eigentliche Konfiguration der Firewall hängt von den Anwendungen ab, die auf deinem Server laufen. Wenn du eine einfache Website betreibst, hast du normalerweise folgende Anforderungen:
- Jeder kann die Website über HTTP oder HTTPS erreichen
- Der Server hat vollen Zugriff auf das Internet
Die erste Anforderung betrifft den "eingehenden" (oder Inbound) Traffic. Mit anderen Worten, jede IP-Adresse (IPv4 oder IPv6) kann deinen Server an den Ports 80 (http) und 443 (https) erreichen.
Im Hetzner Dashboard würde das etwa so aussehen:
Hinweis: Wahrscheinlich möchtest du auch SSH-Verbindungen nur von deiner IP aus zulassen. Finde dazu deine IP-Adresse heraus und füge dann eine eingehende Regel nur für diese IP zu TCP/22 hinzu!
Unsere zweite Anforderung, dass der Server auf alles zugreifen kann, ist in der Regel die Standardeinstellung. Bei Hetzner müsstest du nichts ändern:
2. Fail2Ban
Fail2ban ist wie ein Sicherheitswächter für deinen Server. Es achtet auf jeden, der versucht, in dein System einzudringen, indem er immer wieder Passwörter errät. Wenn zu viele falsche Versuche von einem bestimmten Ort aus festgestellt werden, wird dieser für eine Weile ausgesperrt, um deinen Computer vor Hackern zu schützen. Aber natürlich gibt's auch hier keinen free lunch. Wenn du selbst dein Passwort erraten musst, könntest du dich auch selbst aussperren!
Jedenfalls kannst du Fail2ban ganz einfach so installieren:
sudo apt-get install fail2ban
Du könntest das Setup noch weiter optimieren, aber das reicht schon aus und die meisten automatisierten Versuche werden ziemlich schnell aufgeben!
3. Backups
Ich weiß, ich weiß. Niemand denkt gerne an Backups oder zahlt dafür. Und wenn wir ehrlich sind, manchmal kann man auch ohne leben, zum Beispiel wenn man nur einen temporären Entwicklungsserver betreiben möchte.
Es gibt viele Wege, Backups zu erstellen, aber der einfachste ist normalerweise die Nutzung der Snapshot-Backups deines Cloud-Anbieters. Die meisten Anbieter verlangen 20% des Serverpreises, um tägliche Backups zu erstellen. Wenn du deinen Server zerstörst, stelle ihn einfach vom Vortag wieder her und alles sollte wieder funktionieren! 🥳
Auch das ist eine spezifische Funktion von Hetzner, ähnliche gibt es auch bei Hosts wie DigitalOcean!
4. UFW
Noch eine Firewall! 🔥
UFW, was für Uncomplicated Firewall steht, ist ein einfaches Tool, das dir hilft, die Firewall auf deinem Computer zu kontrollieren und zu verwalten. Genau wie die erste Firewall lässt es dich entscheiden, welcher Traffic deinen Server erreichen darf. Der Unterschied ist, dass es nicht Teil der Infrastruktur deines Cloud-Anbieters ist, sondern stattdessen auf deinem Server läuft. Wenn du vergisst, die Firewall deines Cloud-Anbieters zu aktivieren (oder wenn sie keine haben), wird UFW trotzdem unerwünschten Traffic draußen halten. Das mag redundant klingen, aber Defense in depth ist ein sehr wichtiges Konzept und kann dich vor menschlichen Fehlern schützen. Schauen wir uns an, wie du es verwenden kannst:
Installiere es zuerst:
sudo apt install ufw
Wir bauen jetzt unsere Firewall Schritt für Schritt auf, indem wir zuerst jeden eingehenden Traffic ablehnen und jeden ausgehenden Traffic erlauben. Das bedeutet im Wesentlichen, dass wir jeden kontaktieren können, aber niemand uns kontaktieren kann.
sudo ufw default deny incoming
sudo ufw default allow outgoing
Wenn wir jetzt aufhören würden, könnten wir uns nicht mehr mit unserem Server verbinden! Deshalb erlauben wir jetzt SSH-Verbindungen sowie http und https für unseren Webserver. Wenn du keinen Webserver hostest, führe die letzten beiden Zeilen nicht aus :)
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
Schließlich aktivieren wir die Firewall und überprüfen nochmal, ob wir alles richtig gemacht haben!
sudo ufw enable
sudo ufw status
5. SSH-Keys verwenden
Bei der Erstellung deines Servers hast du normalerweise 2 Möglichkeiten. Du kannst dich entweder mit einem Passwort oder mit einem SSH-Key anmelden. Während Passwörter die offensichtliche Wahl sein mögen, sind sie auch die am wenigsten sichere! Passwörter können durch Brute-Force geknackt werden, SSH-Keys verwenden asymmetrische Verschlüsselung und können (realistisch betrachtet) nicht durch Brute-Force geknackt werden. Natürlich musst du deine privaten Schlüssel sicher aufbewahren, aber das ist in der Regel viel einfacher als bei Passwörtern! Wie du SSH-Keys für die Anmeldung bei deinem Server verwenden kannst, hängt von deinem Cloud-Anbieter ab. Hier ist eine Anleitung für Hetzner, DigitalOcean und AWS.
Fazit
Wir haben hier nur an der Oberfläche der Sicherheit gekratzt. Es gibt noch viele weitere Dinge, die du tun kannst, um deinen Server abzusichern, aber dies sollte dir einen guten Ausgangspunkt geben!
Wenn du das nicht zum Lernen machst, sondern um Dinge erledigt zu bekommen, lohnt es sich vielleicht, andere Optionen wie verwaltete Container-Dienste in Betracht zu ziehen, die sich um alle Sicherheitsaspekte für dich kümmern. Ich bin der Gründer von Sliplane, einer PaaS speziell für Docker. Du kannst in weniger als 2 Minuten loslegen, die ersten 48 Stunden sind kostenlos, danach nur 7 Euro pro Monat für eine unbegrenzte Anzahl von Docker-Containern :)
{% cta https://sliplane.io?utm_source=vpssecurity %} Docker Apps in 2 Minuten deployen 🚀 {% endcta %}
Cheers,
Jonas