Willkommen auf der Baustelle
Im ersten Teil haben wir den Bauplan gezeichnet. Jetzt ziehen wir die Arbeitshandschuhe an. Unser Ziel heute: Wir verwandeln zwei nackte Ubuntu-Installationen in sichere, gut verwaltbare Server. Wir nennen sie Server01 (unseren Verwalter) und Server02 (unser Arbeitspferd).
Wichtig ist: Wir führen alle Schritte auf beiden Servern identisch aus. Konsistenz ist der Schlüssel zu einem stressfreien Admin-Leben.
Schritt 1: Die Werkzeugkiste packen
Ein frisches Ubuntu ist wie eine leere Wohnung – funktional, aber unmöbliert. Bevor wir komplexe Systeme bauen, brauchen wir Werkzeug. Nichts ist frustrierender, als mitten in einer Konfiguration erst noch Editoren nachinstallieren zu müssen.
Logge dich auf beiden Servern ein und bringe sie erst einmal auf den neuesten Stand:
sudo apt update && sudo apt upgrade -y
Jetzt installieren wir unsere „Survival-Ausrüstung“:
- nano: Der Texteditor für Menschen, die bei
vimKnoten in den Fingern bekommen. Einfach und effektiv. - mc (Midnight Commander): Ein visueller Dateimanager für die Konsole. Erinnert an alte Norton-Commander-Zeiten, ist aber unschlagbar, wenn man schnell Dateien verschieben will.
- htop: Zeigt dir CPU, RAM und Prozesse viel schöner und übersichtlicher an als das standardmäßige
top. - ncdu: Ein Lebensretter, wenn die Festplatte voll ist. Es zeigt dir interaktiv, welcher Ordner den meisten Platz frisst.
- tree: Visualisiert Verzeichnisstrukturen als Baum – perfekt für den Überblick.
- curl & git: Standard-Tools, um Daten aus dem Netz zu holen.
Der Befehl für beide Server:
sudo apt install -y nano mc tree ncdu htop curl git
Schritt 2: Der sichere Zugang (SSH Keys)
Passwörter sind so 1990. Sie sind nervig zu tippen und anfällig für Brute-Force-Attacken. In einer professionellen Umgebung nutzen wir SSH-Keys. Das ist wie ein physikalischer Schlüssel: Wer ihn hat, kommt rein – ohne Code-Eingabe.
Das hat später einen riesigen Vorteil für unsere Backups: Server01 muss sich auf Server02 einloggen können, um Daten zu sichern. Das geht nur automatisiert, wenn kein Passwort abgefragt wird.
So richtest du es ein (Auf deinem PC zuhause):
Falls du noch keinen Schlüssel hast, erstelle einen und kopiere ihn auf beide Server:
# Key auf die Server kopieren (ersetze User und IP) ssh-copy-id user@IP-von-Server01 ssh-copy-id user@IP-von-Server02
Versuche dich jetzt einzuloggen. Wenn du nicht nach einem Passwort gefragt wirst: Glückwunsch! Du hast soeben deine Sicherheit und deinen Komfort massiv erhöht.
Schritt 3: Firewall – Volle Kontrolle (Bye Bye UFW)
Jetzt kommen wir zu einem Punkt, der oft für Diskussionen sorgt. Ubuntu kommt standardmäßig mit UFW (Uncomplicated Firewall). Der Name ist Programm: Sie ist einfach. „Erlaube Port 80“ ist schnell getippt.
Warum wir UFW trotzdem entfernen:
Wir werden später Docker intensiv nutzen. Docker ist ein mächtiges Tool, aber es hat die Angewohnheit, direkt in die Netzwerkeinstellungen (iptables) des Kernels einzugreifen. Oft passiert Folgendes: Du blockierst einen Port in UFW, aber Docker öffnet ihn trotzdem, weil Docker seine Regeln vor deine UFW rules schiebt.
Das ist ein Sicherheitsrisiko. Wir wollen sehen, was wirklich passiert. Deshalb nutzen wir das „reine“ iptables in Verbindung mit iptables-persistent. Das speichert unsere Regeln so, dass sie auch nach einem Neustart noch da sind.
Die Umstellung
Führe dies auf beiden Servern aus, um UFW zu deaktivieren und das persistente Tool zu installieren:
sudo ufw disable sudo apt remove ufw sudo apt install iptables-persistent
Während der Installation wirst du gefragt, ob die aktuellen IPv4 und IPv6 Regeln gespeichert werden sollen. Bestätige das mit JA.
Deine Firewall-Regeln liegen jetzt in der Datei /etc/iptables/rules.v4. Das sieht auf den ersten Blick kryptischer aus als UFW, gibt uns aber die absolute Kontrolle darüber, wer mit unseren Containern sprechen darf.
Zwischenfazit
Unsere Server sind jetzt aktualisiert, haben die richtigen Werkzeuge an Bord, lassen uns sicher per Key herein und nutzen eine professionelle Firewall-Basis.
Im nächsten Teil wird es spannend: Wir verlegen unsere „internen Kabel“ (VLAN) und installieren den Motor für unsere Anwendungen (Docker).

Sei der Erste der einen Kommentar abgibt