Server mit Debian-Symbol und leuchtendem Schutzschild mit Schloss

Du möchtest einen Debian Server absichern, bevor darauf eine Website, ein Spieleserver oder andere Dienste laufen? Eine sinnvolle Grundkonfiguration beginnt mit aktuellen Paketen, einem eigenen Administrationskonto, SSH-Schlüsseln und einer Firewall. Diese Anleitung führt dich durch die Einrichtung auf einem frisch installierten Debian-13-vServer und zeigt dir, wie du jeden wichtigen Schritt kontrollierst.

Stand: 6. November 2026. Debian 13 „Trixie“ ist die aktuelle stabile Debian-Version. Die folgenden Beispiele setzen ein normales Debian-System mit systemd voraus. Bei verwalteten Servern, vorhandenen Firewall-Regeln oder individuell angepassten Provider-Images musst du die Konfiguration zuerst prüfen.

Bevor du beginnst: Zugang und Wiederherstellung sichern

Halte die Webkonsole oder das Rettungssystem deines Hosters bereit. Lege vor Änderungen an einem bereits genutzten Server ein Backup an und prüfe, wie du es wiederherstellen kannst. Eine funktionierende SSH-Sitzung bleibt während der Einrichtung geöffnet. Neue Einstellungen testest du jeweils in einem zweiten Terminal.

In den Beispielen ersetzt du SERVER_IP durch deine Serveradresse und serveradmin durch deinen gewünschten Benutzernamen. Befehle stehen ohne Eingabezeichen wie $ oder #, damit du sie leichter kopieren kannst. Führe die Schritte einzeln aus und lies die jeweilige Ausgabe.

Inhalt

1. Debian-Server vorbereiten: Updates und Grundeinstellungen

Melde dich mit dem vom Hoster bereitgestellten Administrationszugang an. Falls das zunächst root ist:

ssh root@SERVER_IP

Vergleiche beim ersten Verbindungsaufbau den angezeigten SSH-Hostschlüssel-Fingerabdruck mit einer vertrauenswürdigen Angabe des Hosters beziehungsweise der Serverkonsole. Bestätige einen unbekannten Schlüssel nicht ungeprüft.

Als root aktualisierst du zunächst die Paketlisten und installierst anschließend die verfügbaren Aktualisierungen:

apt update
apt upgrade
apt install sudo nano openssh-server

apt update erneuert nur die Paketinformationen. Erst apt upgrade installiert Updates. Lies Rückfragen zu Konfigurationsdateien aufmerksam. Ein apt full-upgrade kann zusätzlich Pakete entfernen und gehört deshalb nicht ungeprüft in eine allgemeine Kopieranleitung. Falls du dich bereits mit einem sudo-Benutzer angemeldet hast, setzt du vor die Befehle sudo.

Optional stellst du die Zeitzone auf Deutschland um:

timedatectl
timedatectl set-timezone Europe/Berlin

Eine andere Zeitzone, etwa UTC, ist ebenfalls möglich. Entscheidend ist, dass du die Zeitangaben in Protokollen richtig zuordnen kannst. Eine deutsche Systemsprache ist für die Absicherung nicht erforderlich.

2. Debian-Server mit eigenem sudo-Benutzer verwalten

Lege für die tägliche Administration ein eigenes Konto an. Als root führst du aus:

adduser serveradmin
usermod -aG sudo serveradmin

Vergib ein eigenes, starkes Passwort. Das Konto benötigt es im üblichen Debian-sudo-Setup später zur Bestätigung administrativer Befehle. Mit -aG ergänzt du die Gruppenmitgliedschaft, ohne andere zusätzliche Gruppen zu ersetzen.

Öffne ein zweites Terminal auf deinem Computer und teste die Anmeldung:

ssh serveradmin@SERVER_IP
sudo whoami

Wenn sudo whoami nach erfolgreicher Authentifizierung root ausgibt, funktioniert die Rechtevergabe. Die ursprüngliche Sitzung bleibt weiterhin offen. Falls sudo scheitert, behebst du zuerst diesen Fehler, bevor du den root-Login einschränkst.

3. Debian Server absichern: SSH-Schlüssel einrichten

Wenn du deinen Debian Server absichern möchtest, ist die Schlüsselanmeldung ein wichtiger Schritt. Ein SSH-Schlüsselpaar besteht aus einem privaten Schlüssel auf deinem Computer und einem öffentlichen Schlüssel auf dem Server. Der private Schlüssel bleibt bei dir. Erzeuge das Paar lokal, nicht in der SSH-Sitzung des Servers:

Sichere SSH-Schlüssel einrichten – Anmeldung ohne Serverpasswort
ssh-keygen -t ed25519 -C "serveradmin"

Schütze den privaten Schlüssel mit einer Passphrase. Wenn am vorgeschlagenen Speicherort bereits ein Schlüssel liegt, überschreibe ihn nicht unüberlegt; wähle bei Bedarf einen eigenen Dateinamen. Die folgenden Beispiele verwenden den Standardpfad.

Unter Linux, macOS oder einer passenden WSL-Umgebung überträgst du den öffentlichen Schlüssel so:

ssh-copy-id -i ~/.ssh/id_ed25519.pub serveradmin@SERVER_IP

Unter Windows ist ssh-copy-id nicht überall verfügbar. Alternativ fügst du den vollständigen Inhalt der öffentlichen .pub-Datei beim Zielbenutzer als einzelne Zeile in ~/.ssh/authorized_keys ein. Das Verzeichnis ~/.ssh sollte diesem Benutzer gehören und die Rechte 700, die Datei die Rechte 600 besitzen.

Prüfe in einem neuen lokalen Terminal ausdrücklich die Anmeldung ohne Rückfall auf ein Serverpasswort:

ssh -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes -o PasswordAuthentication=no -o KbdInteractiveAuthentication=no serveradmin@SERVER_IP

Eine Abfrage der Passphrase deines lokalen Schlüssels ist dabei normal. Erst wenn diese Verbindung und anschließend sudo whoami funktionieren, geht es weiter.

4. SSH-Zugang zum Debian Server absichern

Wechsle in die getestete Sitzung als serveradmin. Sichere die SSH-Konfiguration und öffne eine eigene Konfigurationsdatei:

sudo cp -a /etc/ssh /root/ssh-backup-before-hardening
sudo nano /etc/ssh/sshd_config.d/00-local-hardening.conf

Trage für einen Server mit ausschließlich schlüsselbasierter SSH-Anmeldung diese Einstellungen ein:

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no

Diese Variante ist nicht für eine vorhandene Anmeldung mit interaktivem zweiten Faktor gedacht. OpenSSH verwendet bei vielen Optionen den zuerst gefundenen Wert. Debian bindet die Dateien aus sshd_config.d am Anfang ein; prüfe trotzdem vorhandene Dateien und Match-Regeln. Eine zusätzliche Zeile am Dateiende überschreibt frühere Werte nicht zuverlässig.

Kontrolliere Syntax und wirksame Einstellungen:

sudo /usr/sbin/sshd -t
sudo /usr/sbin/sshd -T | grep -E "^(permitrootlogin|pubkeyauthentication|passwordauthentication|kbdinteractiveauthentication) "

Bei einer fehlerfreien Syntaxprüfung erscheint üblicherweise keine Ausgabe. Erwartet werden no, yes, no und no für die vier gezeigten Optionen. Bei Match-Regeln kann zusätzlich eine verbindungsspezifische Prüfung mit sshd -T -C nötig sein. Lade erst nach erfolgreicher Prüfung neu:

sudo systemctl reload ssh

Teste danach erneut eine neue Schlüsselverbindung und sudo. Schließe bestehende Sitzungen erst, wenn das funktioniert. Das root-Konto bleibt für lokale Administration über sudo verfügbar; gesperrt wird hier seine direkte SSH-Anmeldung.

5. Debian-Server mit der UFW-Firewall absichern

Mit UFW kannst du deinen Debian Server absichern und eingehende Zugriffe gezielt begrenzen. Für einen neuen Server ohne bestehendes Firewall-Konzept ist das eine übersichtliche Möglichkeit. Prüfe vorab den tatsächlich verwendeten SSH-Port. Diese Beispiele gehen von TCP-Port 22 aus; bei einem anderen Port ersetzt du die Zahl vor dem Aktivieren.

Debian mit UFW-Firewall absichern – Zugriffe gezielt erlauben
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp comment "SSH"

Nur wenn du einen öffentlich erreichbaren Webserver betreiben möchtest, ergänzt du die Freigaben für HTTP und HTTPS:

sudo ufw allow 80/tcp comment "HTTP"
sudo ufw allow 443/tcp comment "HTTPS"

Danach aktivierst und kontrollierst du die Firewall:

sudo ufw enable
sudo ufw status verbose

Prüfe auch IPv6 und eine mögliche zusätzliche Provider-Firewall. Teste anschließend eine neue SSH-Verbindung von deinem Computer. Weitere Ports öffnest du gezielt für tatsächlich benötigte Dienste.

Wichtig bei Docker: Veröffentlichte Container-Ports können UFW-Regeln umgehen, weil Docker den Verkehr über eigene Firewall- und NAT-Regeln verarbeitet. Eine UFW-Anzeige allein beweist deshalb nicht, dass Container abgeschirmt sind. Prüfe die Docker-Netzwerkkonfiguration und die Erreichbarkeit von außen separat.

6. Automatische Sicherheitsupdates einrichten und prüfen

Mit unattended-upgrades lassen sich Updates aus freigegebenen Paketquellen automatisch installieren. Richte das Paket ein:

Debian Server: automatische Updates einrichten
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Aktiviere die automatischen Aktualisierungen im Dialog. Kontrolliere anschließend insbesondere /etc/apt/apt.conf.d/20auto-upgrades und /etc/apt/apt.conf.d/50unattended-upgrades. Welche Updates installiert werden, hängt von den dort erlaubten Quellen ab. Fremdquellen wie zusätzliche PHP-Repositories sind nicht automatisch vollständig eingeschlossen.

Simuliere einen Durchlauf, bevor du dich auf die Einrichtung verlässt:

sudo unattended-upgrade --dry-run --debug

Das Hauptprotokoll findest du unter /var/log/unattended-upgrades/unattended-upgrades.log. Automatische Paketupdates ersetzen weder die Kontrolle fehlgeschlagener Durchläufe noch die Planung notwendiger Neustarts.

7. Abschließende Kontrolle: Was ist wirklich erreichbar?

Mit folgendem Befehl siehst du auf dem Server lauschende TCP- und UDP-Dienste einschließlich Prozessinformationen:

sudo ss -tulpen

Achte auf Dienste, die an allen Adressen statt ausschließlich an 127.0.0.1 oder ::1 lauschen. Das zeigt mögliche Netzwerkzugänge, ersetzt aber keinen externen Erreichbarkeitstest. Vergleiche die Ausgabe mit deinen Firewall-Regeln und den tatsächlich benötigten Diensten.

  • Neue SSH-Anmeldung mit Schlüssel und sudo erfolgreich getestet.
  • SSH-Konfiguration geprüft und direkter root-Login deaktiviert.
  • Benötigte Ports gezielt freigegeben; IPv4 und IPv6 berücksichtigt.
  • Automatische Updates probeweise ausgeführt und Quellen kontrolliert.
  • Backups außerhalb des Servers vorhanden und Wiederherstellung getestet.

Häufige Fragen: Debian Server absichern

Muss ich den SSH-Port ändern?

Für diese Anleitung bleibt SSH auf Port 22. Ein anderer Port ersetzt weder Schlüsselanmeldung noch Updates oder eine korrekt eingerichtete Firewall. Wenn du ihn änderst, müssen SSH-Konfiguration, Verbindungsbefehl und sämtliche beteiligten Firewalls zusammenpassen.

Kann ich mich nach dem Abschalten der Passwortanmeldung noch mit sudo anmelden?

Ja. Die SSH-Anmeldung und die Rechtevergabe durch sudo sind getrennt. Das Benutzerpasswort kann weiterhin für sudo benötigt werden, obwohl SSH keine Passwortanmeldung mehr akzeptiert.

In welcher Reihenfolge sollte ich meinen Debian Server absichern?

Aktualisiere zuerst das System, lege einen eigenen Benutzer mit sudo-Rechten an und teste die SSH-Schlüsselanmeldung. Erst danach deaktivierst du den direkten root-Login und die Passwortanmeldung. Gib vor dem Aktivieren der Firewall den tatsächlich verwendeten SSH-Port frei. Halte währenddessen eine bestehende Sitzung offen und prüfe neue Verbindungen in einem zweiten Terminal.

Installiert unattended-upgrades auch Updates aus zusätzlichen Paketquellen?

Nur wenn diese Quellen in der Konfiguration ausdrücklich zugelassen sind. Prüfe deshalb die erlaubten Ursprünge in /etc/apt/apt.conf.d/50unattended-upgrades und simuliere einen Durchlauf mit sudo unattended-upgrade –dry-run –debug. Verlasse dich bei zusätzlich eingebundenen Repositories nicht darauf, dass deren Pakete automatisch aktualisiert werden.

Warum kann ein Docker-Container trotz aktiver UFW-Firewall erreichbar sein?

Docker richtet für veröffentlichte Container-Ports eigene Netzwerk- und Firewall-Regeln ein. Dadurch kann der Verkehr die von UFW verwendeten Regeln umgehen. Kontrolliere veröffentlichte Ports und die Docker-Netzwerkkonfiguration deshalb separat und teste die Erreichbarkeit von einem anderen Rechner aus.

Ist mein vServer danach vollständig sicher?

Die Anleitung schafft eine Grundlage. Später installierte Anwendungen benötigen eigene Updates und passende Zugriffsregeln. Prüfe nach jeder Erweiterung erneut offene Dienste, Berechtigungen und Backups. Sicherheit bleibt eine laufende Administrationsaufgabe.

Kurz zusammengefasst: So sicherst du deinen Debian-Server ab

Wenn du deinen Debian Server absichern möchtest, beginne mit aktuellen Paketen und einem eigenen Administrationskonto. Richte danach die SSH-Schlüsselanmeldung ein und teste sie, bevor du root-Login und Passwortanmeldung deaktivierst. Mit gezielten UFW-Freigaben und geprüften automatischen Updates schaffst du eine solide Grundlage. Behalte offene Dienste im Blick, kontrolliere Docker-Ports separat und teste deine Backups. Gehe dabei Schritt für Schritt vor und halte deinen bisherigen Zugang offen, bis die neue Verbindung funktioniert.

Quellen und weiterführende Dokumentation

Offizielle Dokumentationen, geprüft am 6. November 2026:
Debian-Versionen · APT · adduser · usermod · sudo · SSH-Schlüssel · ssh-copy-id · SSH-Konfiguration · SSH-Prüfung · UFW · Automatische Updates · Systemzeit · Docker & UFW · Netzwerkdienste



Proudly Presented by: SimplyFuture 🚀
Bilder/Medien: Pexels, Bilder können mithilfe von KI erstellt/verbessert worden sein.

0 0 votes
Thema Bewerten
Abonnieren
Benachrichtige mich bei
guest
0 Comments
Älteste
Neueste Meist Bewertet