Der BrickLink-Tresor: Deinen VPS absichern
Kaum ist ein neuer Server im Internet online, beginnen automatisierte Bot-Netzwerke damit, ihn auf Schwachstellen abzutasten. Da Bricksync nur nach draußen funkt, können wir deinen Server wie einen Tresor verriegeln. In 15 Minuten machst du dein System für Angreifer unsichtbar.
Dieses Tutorial geht davon aus, dass auf diesem Server ausschließlich Bricksync läuft. Hast du auf demselben Server auch eine Webseite (z. B. einen WordPress-Blog, Shop) oder einen E-Mail-Server laufen?
Dann halte hier bitte an! Wenn du Schritt 4 (die Firewall) exakt so ausführst, wird deine Webseite sofort aus dem Internet verschwinden, da wir radikal alle Ports schließen.
Logge dich für dieses Tutorial über PuTTY mit deinem normalen Benutzer (z. B.
bricksync) ein, den wir im Installations-Guide angelegt haben. Da wir tiefgreifende Systemeinstellungen ändern, stellen wir jedem Befehl ein sudo voran – das gibt dir für diesen einen Befehl die nötigen Administrator-Rechte.
1 Der Autopilot für Updates
Ein sicheres System ist ein aktuelles System. Wir installieren zunächst alle offenen Updates und richten danach "Unattended Upgrades" ein. Damit installiert der Server kritische Sicherheits-Patches in Zukunft nachts vollautomatisch.
Bringe das System auf den neuesten Stand:
sudo apt update && sudo apt upgrade -y (Hinweis: Falls ein violetter Bildschirm erscheint, der nach Services fragt, drücke einfach "Enter", um die Standardauswahl zu bestätigen.)
Aktiviere die automatischen Sicherheitsupdates:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades Es erscheint ein rosa/blauer Bildschirm. Wähle mit den Pfeiltasten "Yes" (oder "Ja") und drücke Enter.
2 Der digitale Türsteher (Fail2Ban)
Bots probieren im Sekundentakt verschiedene Passwörter aus ("Brute-Force-Angriff"). Das Programm Fail2Ban stoppt das: Wer das Passwort zu oft falsch eingibt, dessen IP-Adresse wird für 24 Stunden komplett gesperrt.
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban Das war's schon! Fail2Ban ist sofort aktiv und schützt deinen Server im Hintergrund.
3 SSH absichern (Port & Root)
Fast alle Angriffe zielen auf den Standard-Port (22) und den Standard-Benutzer (root) ab. Wir ändern beides. Wir verlegen den Zugang auf Port 54321 und verbieten den direkten Login als "root" aus dem Internet.
sudo nano /etc/ssh/sshd_config 1. Suche die Zeile
#Port 22 (oft ziemlich weit oben).2. Entferne das Raute-Zeichen (
#) und ändere die Zahl auf 54321. (Die Zeile lautet nun: Port 54321).3. Drücke STRG + W, tippe
PermitRootLogin ein und drücke Enter.4. Ändere die Zeile von
PermitRootLogin yes zu PermitRootLogin no.5. Speichere mit STRG + O (Enter) und beende mit STRG + X.
4 Die Firewall hochziehen (UFW)
Bevor wir die Änderungen aus Schritt 3 aktivieren, MÜSSEN wir unserem Server mitteilen, dass der neue Port 54321 durch die Firewall gelassen werden darf. Vergessen wir das, sperren wir uns selbst aus!
Kopiere diesen Block komplett und drücke Enter:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 54321/tcp
sudo ufw enable (Falls eine Warnung "Command may disrupt existing ssh connections" erscheint, tippe "y" und drücke Enter.)
Nun blockiert dein Server jeglichen Datenverkehr von außen, mit Ausnahme deines neuen, geheimen SSH-Ports.
5 Änderungen aktivieren & Testen
Jetzt schalten wir die neuen Sicherheitsrichtlinien scharf, indem wir den SSH-Dienst neu starten.
sudo systemctl restart ssh Lass dieses PuTTY-Fenster geöffnet. Öffne PuTTY ein zweites Mal, um zu testen, ob der neue Zugang funktioniert. Solltest du einen Tippfehler gemacht haben, kannst du ihn im ersten (noch aktiven) Fenster problemlos korrigieren.
Der Test im neuen Fenster:
- Trage in PuTTY bei Host Name (or IP address) wieder deine IP ein.
- Ändere das Feld Port (meistens direkt daneben) von
22auf54321. - Klicke auf "Open" und logge dich als
bricksyncein.
Hat alles geklappt? Perfekt! Du bist drin. Du kannst das alte PuTTY-Fenster nun schließen. Dein Server ist jetzt für die Außenwelt ein unsichtbarer Tresor, der völlig eigenständig Sicherheitsupdates installiert und Angreifer aussperrt.
FAQ & Notausgang
Du hast dich ausgesperrt oder bist dir unsicher? Keine Panik!
Hilfe, ich kann mich nicht mehr als "root" einloggen!
bricksync einloggen. Ich brauche aber Root-Rechte, was nun?
Kein Problem. Logge dich als
bricksync ein. Wenn du einen Befehl als Admin ausführen willst, setze einfach ein sudo davor. Wenn du dauerhaft in den Root-Modus wechseln möchtest (z.B. weil du viel konfigurieren musst), tippe einfach:
sudo su -Nach Eingabe deines Passworts bist du sofort wieder der Root-Benutzer.
Wie mache ich die Root-Sperre wieder rückgängig?
1. Logge dich über PuTTY ein.
2. Öffne die Konfiguration:
sudo nano /etc/ssh/sshd_config3. Ändere die Zeile
PermitRootLogin no zurück zu PermitRootLogin yes.4. Speichern (STRG+O, Enter) und Beenden (STRG+X).
5. Neustart des Dienstes:
sudo systemctl restart ssh Wie ändere ich den Port wieder zurück auf 22?
sudo nano /etc/ssh/sshd_config2. Ändere
Port 54321 zurück auf Port 22.3. Speichern und Beenden.
4. WICHTIG: Erlaube Port 22 in der Firewall:
sudo ufw allow 22/tcp5. Lade den SSH-Dienst neu:
sudo systemctl restart ssh Ich habe auch eine Webseite auf dem Server. Was muss ich bei der Firewall beachten?
Führe zusätzlich zu den Befehlen aus Schritt 4 folgendes aus:
sudo ufw allow 80/tcp (für HTTP)sudo ufw allow 443/tcp (für HTTPS / SSL)