Zurück zur Übersicht

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.

WICHTIGER WARNHINWEIS: Nur für reine Bricksync-Server!
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.
Vorab-Info für das Tutorial:
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
So passt du die Datei an:
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
SCHLIESSE DEIN AKTUELLES FENSTER NOCH NICHT!
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 22 auf 54321.
  • Klicke auf "Open" und logge dich als bricksync ein.

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!
Das ist genau so gewollt und schützt deinen Server! Du kannst und sollst dich jetzt immer als 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?
Wenn du den direkten Login über das Internet für den Root-User wirklich wieder erlauben möchtest (nicht empfohlen):

1. Logge dich über PuTTY ein.
2. Öffne die Konfiguration: sudo nano /etc/ssh/sshd_config
3. Ä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?
1. Öffne die Konfiguration: sudo nano /etc/ssh/sshd_config
2. Ändere Port 54321 zurück auf Port 22.
3. Speichern und Beenden.
4. WICHTIG: Erlaube Port 22 in der Firewall: sudo ufw allow 22/tcp
5. Lade den SSH-Dienst neu: sudo systemctl restart ssh
Ich habe auch eine Webseite auf dem Server. Was muss ich bei der Firewall beachten?
Wenn du neben Bricksync auch einen Webserver (wie Apache oder Nginx für eine Homepage) betreibst, musst du die entsprechenden Ports für Besucher aus dem Internet öffnen, bevor du die Firewall aktivierst.

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)