SSH Root Login verbieten – Server-Sicherheit unter Linux erhöhen
Linux
Übersicht: SSH Root Login verbieten
Was ist SSH Root Login?
SSH Root Login ermöglicht es, sich direkt als Root-Benutzer über SSH auf einem Linux-Server anzumelden. Dies stellt ein erhebliches Sicherheitsrisiko dar, da der Root-Account uneingeschränkte Systemrechte besitzt und ein bevorzugtes Ziel für Angreifer ist.
Sicherheitsrisiko: Root-Account hat vollständige Systemkontrolle
Brute-Force-Schutz: Angreifer können nicht direkt Root-Credentials erraten
Auditierbarkeit: Bessere Nachverfolgung von Benutzeraktionen
Privilege Escalation: Kontrollierte Rechteerweiterung über sudo
Best Practice: Industrie-Standard für Server-Sicherheit
Der direkte Root-Login via SSH (Secure Shell) ist eine häufige Sicherheitslücke auf Linux-Servern. Standardmäßig kann sich der Root-Benutzer direkt per SSH anmelden, was ein hohes Risiko darstellt, da Angreifer so gezielt versuchen können, sich mit dem mächtigsten Benutzerkonto Zugriff zu verschaffen. Um die Sicherheit Ihres Servers zu erhöhen, sollten Sie den Root-Login über SSH deaktivieren.
Voraussetzungen
Bevor du den Root-Login deaktivierst, stelle sicher, dass:
Ein SSH-Daemon (OpenSSH) installiert und aktiv ist
Du einen alternativen Benutzer mit sudo-Berechtigung hast
Du Zugriff auf den Server über die Konsole hast (falls SSH-Probleme auftreten)
Eine Backup-Verbindung besteht (für den Notfall)
SSH-Status prüfen
SSH-Service überprüfen:
1 2 3 4 5 6 7 8
# Service-Status anzeigen sudo systemctl status ssh
# SSHD-Konfiguration testen sudo sshd -t
# Aktuelle SSH-Verbindungen anzeigen ss -tlnp | grep :22
# Syntax der SSHD-Konfiguration prüfen sudo sshd -t
# Bei Erfolg: keine Ausgabe # Bei Fehlern: Fehlermeldung wird angezeigt
Schritt 4: SSH-Service neu starten
1 2 3 4 5 6 7 8 9 10
# Moderne Systeme (systemd) sudo systemctl restart ssh
# Ältere Systeme sudo service ssh restart
# Status nach Neustart prüfen sudo systemctl status ssh # Hinweis: Auf RHEL/CentOS/Alma/Rocky heißt der Dienst meist "sshd" # sudo systemctl status sshd
Alternative Konfigurationen
Option 1: Root-Login nur mit SSH-Keys
1 2
# In /etc/ssh/sshd_config PermitRootLogin prohibit-password
Erlaubt Root-Login nur mit SSH-Schlüsseln, nicht mit Passwort
Option 2: Root-Login nur von bestimmten IPs
1 2 3 4 5 6
# In /etc/ssh/sshd_config PermitRootLogin no
# Zusätzlich Match-Block für spezielle IPs Match Address 192.168.1.100 PermitRootLogin yes
Option 3: Root-Login nur für bestimmte Commands
1 2
# In /etc/ssh/sshd_config PermitRootLogin forced-commands-only
Konfiguration testen
Test 1: Root-Login versuchen (sollte fehlschlagen)
# Minimale sichere SSH-Konfiguration PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes PermitEmptyPasswords no MaxAuthTries 3 ClientAliveInterval 300 Protocol 2
Zusätzliche Sicherheitsmaßnahmen:
Verwende SSH-Schlüssel statt Passwörter
Ändere den Standard-SSH-Port (22)
Implementiere Fail2Ban oder ähnliche Tools
Aktiviere UFW/iptables Firewall-Regeln
Regelmäßige Überwachung der SSH-Logs
Verwende 2FA für SSH-Verbindungen
Tipps
Teste Änderungen immer mit einer zweiten SSH-Verbindung
Erstelle vor Änderungen ein Backup der sshd_config
Dokumentiere alle SSH-Konfigurationsänderungen
Überwache SSH-Logs auf verdächtige Aktivitäten
Verwende starke, einzigartige SSH-Schlüssel
Aktualisiere OpenSSH regelmäßig
Fazit
Das Deaktivieren des SSH Root Logins ist ein grundlegender Sicherheitsschritt für jeden Linux-Server. In Kombination mit SSH-Schlüsseln, Fail2Ban und anderen Sicherheitsmaßnahmen reduziert es das Risiko erfolgreicher Angriffe erheblich. Eine ordnungsgemäße Konfiguration und regelmäßige Überwachung sind essentiell für die Server-Sicherheit.