Root-Login per SSH deaktivieren: Warum und wie

Der direkte Root-Login per SSH auf Linux-Servern ist eine der häufigsten Angriffspunkte für Brute-Force- und gezielte Cyberattacken. Aus Sicherheitsgründen empfiehlt es sich, den Root-Zugang über SSH zu deaktivieren und administrative Aufgaben über normale Benutzer mit sudo zu erledigen. Dieser Leitfaden erklärt die Gründe dafür und zeigt Schritt für Schritt, wie Sie die Konfiguration sicher anpassen.

Warum der Root-Login per SSH riskant ist

Root ist das Superuser-Konto auf Linux-Systemen und besitzt uneingeschränkte Rechte. Ein kompromittiertes Root-Konto ermöglicht einem Angreifer die vollständige Kontrolle über das System. Zu den Risiken zählen:

  • Brute-Force-Angriffe auf das Passwort
  • Direkter Zugriff auf kritische Systemdateien und Dienste
  • Erhöhte Gefahr von Malware-Installation und Persistenz
  • Fehlende Nachvollziehbarkeit von administrativen Aktionen, wenn mehrere Nutzer das Root-Konto verwenden

Voraussetzungen für die Umstellung

Bevor Root-Login deaktiviert wird, sollten Sie sicherstellen, dass mindestens ein Benutzer mit administrativen Rechten existiert:

# Beispiel: Benutzer anlegen und sudo-Rechte vergeben
sudo adduser adminuser
sudo usermod -aG sudo adminuser

Testen Sie den Zugriff, um sicherzustellen, dass administrative Aufgaben über sudo möglich sind:

su - adminuser
sudo whoami
# Ausgabe sollte 'root' sein

SSH-Konfiguration anpassen

Die SSH-Konfiguration befindet sich in der Datei /etc/ssh/sshd_config. Vor Änderungen empfiehlt es sich, eine Sicherung zu erstellen:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Root-Login deaktivieren:

sudo nano /etc/ssh/sshd_config
# Zeile anpassen
PermitRootLogin no

Optional können Sie zusätzliche Sicherheitsmaßnahmen ergänzen:

  • PasswordAuthentication no – nur Schlüssel-basierter Login
  • AllowUsers adminuser – Zugriff nur für bestimmte Benutzer
  • Port 2222 – Änderung des Standardports

SSH-Dienst neu starten

Nach der Anpassung muss der SSH-Dienst neu gestartet werden, damit die Änderungen wirksam werden:

sudo systemctl restart sshd
sudo systemctl status sshd

Überprüfen Sie mit einem separaten Terminal die Verbindung, um nicht ausgesperrt zu werden:

ssh adminuser@server_ip -p 2222

Testen der Konfiguration

Versuchen Sie, sich direkt als Root einzuloggen:

ssh root@server_ip
# Verbindung sollte verweigert werden

Stellen Sie sicher, dass der normale Benutzer weiterhin administrative Rechte über sudo hat.

Best Practices nach Deaktivierung

  • Regelmäßig prüfen, dass nur autorisierte Benutzer Zugriff haben
  • Schlüsselbasierte Authentifizierung verwenden
  • Fail2ban oder ähnliche Mechanismen zur Absicherung implementieren
  • SSH-Logs überwachen (/var/log/auth.log oder /var/log/secure)
  • Multi-Faktor-Authentifizierung für Benutzerkonten einsetzen

Fazit

Die Deaktivierung des direkten Root-Logins per SSH ist ein zentraler Schritt zur Absicherung von Linux-Servern. Durch den Einsatz von Benutzerkonten mit sudo und zusätzlichen Sicherheitsmaßnahmen reduzieren Sie die Angriffsfläche und verbessern die Nachvollziehbarkeit von administrativen Aktionen erheblich.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles