Die 5 besten Techniken zur Sicherung von SSH unter Ubuntu
12:12, 28.07.2026
Die Absicherung des SSH-Zugriffs (Secure Shell) auf Servern mit verschiedenen Betriebssystemen, darunter Ubuntu, ist entscheidend, um unbefugten Zugriff zu verhindern und Sicherheitsrisiken zu minimieren. Ohne die erforderlichen Sicherheitsmaßnahmen kann SSH zu einem anfälligen Einstiegspunkt werden.
In diesem Artikel stellen wir die fünf besten Methoden zur Absicherung von SSH unter Ubuntu vor, darunter die Implementierung der Multi-Faktor-Authentifizierung, die Anpassung der Standard-Sicherheitseinstellungen und die Absicherung durch Firewalls.
1. Einrichten der Zwei-Faktor-Authentifizierung
Eine der einfachsten Möglichkeiten, die SSH-Sicherheit zu verbessern, ist das Hinzufügen einer zusätzlichen Authentifizierungsebene durch die Zwei-Faktor-Authentifizierung (2FA). Mit 2FA benötigt ein Angreifer selbst dann, wenn er ein Passwort errät oder in die Hände bekommt, noch eine zweite Authentifizierungsform, um Zugriff zu erlangen. Üblicherweise wird eine Kombination aus einem an die Geräte des Benutzers gesendeten Einmalpasswort und einer Passphrase verwendet.
Durch Hinzufügen dieser zweiten Authentifizierungsebene können Nutzer sicher sein, dass jeder Versuch, über SSH Fernzugriff zu erlangen, einer Authentifizierung mit mehr als nur einem Anmelde-Kredit unterzogen wird.
Beliebte Tools wie Google Authenticator oder Authy lassen sich in Ihren SSH-Anmeldeprozess integrieren. Die Aktivierung der 2FA bei SSH kann das Risiko eines unbefugten Zugriffs erheblich verringern, insbesondere auf öffentlich zugänglichen Servern. Schließlich sind zwei Schutzebenen besser als eine.
2. Ändern der Standard-Sicherheitseinstellungen
Das Ändern der SSH-Standardeinstellungen kann häufige Angriffsvektoren schließen, die von böswilligen Akteuren genutzt werden.
Die Standardoptionen von SSH befinden sich in einer Konfigurationsdatei unter /etc/ssh/sshd_config. Hier sind einige wichtige Einstellungen, die Sie für mehr Sicherheit anpassen sollten.
Den Standardport ändern
Standardmäßig läuft SSH auf Port 22. Die Änderung dieses Ports auf einen weniger gebräuchlichen (z. B. 2222) verringert die Anfälligkeit für automatisierte Scans und Brute-Force-Angriffe, da Angreifer als Erstes die Standardports anpeilen.
Um den Standardport zu ändern, bearbeiten Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config und passen Sie die Port -Anweisung auf den von Ihnen gewählten Port an. Denken Sie daran, alle Firewall-Regeln entsprechend dieser Änderung anzupassen.
Deaktivieren der Root-Anmeldung
Das Zulassen der Root-Anmeldung über SSH kann riskant sein, da dies direkten Zugriff auf den Root-Benutzer ermöglicht. Die Root-Rechte gewähren vollständigen Zugriff auf das gesamte System. Durch das Deaktivieren der Root-Anmeldung können Sie daher die Zugriffsebene jedes Benutzers auf den Server überprüfen und kontrollieren.
Durch das Deaktivieren der Root-Anmeldung wird sichergestellt, dass Angreifer einen bestimmten Benutzernamen kennen müssen, was eine zusätzliche Sicherheitsebene schafft. Um die Root-Anmeldung zu deaktivieren, öffnen Sie /etc/ssh/sshd_config und setzen Sie PermitRootLogin auf no.
Sie können sudo-Benutzer einrichten, falls Systemadministratoren für bestimmte Aufgaben entsprechende Berechtigungen benötigen.
Deaktivieren der passwortbasierten Authentifizierung
Die standardmäßige passwortbasierte Authentifizierung ist zwar bequem, oft jedoch der Grund dafür, dass Brute-Force-Angriffe erfolgreich sind.
Nach unserer Erfahrung ist die Umstellung auf die schlüsselbasierte Authentifizierung optimal, da hierfür ein SSH-Schlüsselpaar erforderlich ist und Sie so das mit schwachen Passwörtern verbundene Risiko beseitigen.
Um die standardmäßige passwortbasierte Authentifizierung zu deaktivieren, setzen Sie in /etc/ssh/sshd_config die Einstellung PasswordAuthentication auf no, wodurch der Zugriff auf Benutzer mit einem gültigen SSH-Schlüssel beschränkt wird.
Der Eintrag sollte wie folgt aussehen:
PasswordAuthenticationno
Zugriffseinschränkung mit „AllowUsers“
Alle Systembenutzer können sich per SSH mit ihren Passwörtern oder öffentlichen Schlüsseln anmelden, doch nicht alle sollten dazu berechtigt sein. Mit der AllowUsers -Direktive können Sie festlegen, welche Benutzer sich per SSH auf dem Server anmelden dürfen. Dies ist eine einfache Möglichkeit, den Zugriff auf bestimmte Benutzer zu beschränken und unbefugte Anmeldungen zu verhindern.
Fügen Sie in /etc/ssh/sshd_config die Zeile AllowUsers ein, gefolgt von den Benutzernamen, denen der Zugriff über SSH gestattet ist, um die Sicherheit weiter zu erhöhen.
3. Verwendung von SSH-Zertifikaten für die Client-Authentifizierung
SSH-Zertifikate sind eine Alternative zu herkömmlichen SSH-Schlüsseln und bieten ein höheres Maß an Sicherheit. SSH-Schlüssel sind im Grunde genommen Zeichenfolgen, die kopiert werden können, sodass sie keinen ausreichenden Schutz bieten.
Die Authentifizierung auf Basis von SSH-Zertifikaten ist eine bessere Alternative. SSH-Zertifikate überprüfen die Identität jedes Schlüssels, wenn dieser für die Anmeldung verwendet wird. Mit SSH-Zertifikaten lassen sich Zugriffsrechte und Ablaufzeiten einfacher verwalten, was ideal für große Umgebungen oder temporären Zugriff ist. Indem Sie Ihren SSH-Server so konfigurieren, dass er einer Zertifizierungsstelle (CA) vertraut, die Zertifikate an Benutzer ausstellt, erhalten Sie eine bessere Kontrolle darüber, wer Zugriff auf den Server hat, ohne einzelne Schlüssel manuell verwalten zu müssen.
Sie können Zertifikate über OpenSSH mit ssh-keygen generieren.
4. Zugriffssicherung mit einem Bastion-Host
Ein Bastion-Host fungiert als sicherer Vermittler zwischen Ihren privaten Servern und dem externen Zugriff. Indem Sie den SSH-Zugriff auf interne Server hinter einen Bastion-Host verlagern, schaffen Sie einen einzigen, gehärteten Einstiegspunkt, der leichter zu überwachen und zu sichern ist. Ein Bastion-Host befindet sich direkt vor der Firewall und ist somit die erste Schutzstufe des Systems.
Um einen Bastion-Host zu implementieren, beschränken Sie den SSH-Zugriff auf private Server so, dass nur der Bastion-Host diese erreichen kann, wodurch das Risiko durch externe Bedrohungen verringert wird.
5. Sicherheit durch Firewalls
Firewalls bieten eine wichtige Sicherheitsebene, indem sie den ein- und ausgehenden Datenverkehr kontrollieren; je nach Konfiguration können Firewalls auch den Datenverkehr innerhalb des privaten Netzwerks schützen. Unter Ubuntu ist UFW (Uncomplicated Firewall) ein benutzerfreundliches Tool zur Verwaltung von Firewall-Regeln.
Erlauben Sie zunächst nur den ausgewählten SSH-Port und blockieren Sie andere, nicht autorisierte Ports. Darüber hinaus kann die Ratenbegrenzung von SSH-Verbindungen Brute-Force-Angriffe abmildern, indem wiederholte Verbindungsversuche von einer einzelnen IP-Adresse blockiert werden.
So stärken Sie die Sicherheit mit Firewalls:
- Installieren Sie UFW: sudo apt install ufw
- Lassen Sie nur den von Ihnen gewählten SSH-Port (z. B. 2222) zu: sudo ufw allow 2222/tcp
- Aktivieren Sie die Ratenbegrenzung: sudo ufw limit 2222/tcp
- Aktivieren Sie die Firewall: sudo ufw enable
Durch diese Konfiguration Ihrer Firewall wird die Angriffsfläche verringert und das Risiko eines unbefugten Zugriffs minimiert.
Benutzer, die unter Linux arbeiten, können iptables verwenden, mit dem sich Regeln für den eingehenden SSH-Datenverkehr definieren und diesen nach Port, IP-Adresse oder Protokoll sortieren lassen. Das System von iptables ist eine Schnittstelle zur netfilter-Firewall, sodass durch die Anpassung seiner Einstellungen auch die Firewall angepasst wird.
Abschließende Gedanken
Die Absicherung von SSH unter Ubuntu erfordert eine Kombination verschiedener Maßnahmen, von der Anpassung der Standardeinstellungen bis hin zur Implementierung fortgeschrittener Techniken wie SSH-Zertifikate und Bastion-Hosts. Jede der hier beschriebenen Methoden spielt eine wesentliche Rolle beim Schutz des SSH-Zugriffs und bei der Stärkung der Serversicherheit. Durch diese Maßnahmen lassen sich Schwachstellen erheblich reduzieren und die allgemeine Sicherheitslage Ihres Ubuntu-Servers verbessern.