- Ist der SSH-Zugriff auf Ihrem Ubuntu-Server ausreichend sicher?
- Überblick und Ziele
- 1) Verwenden Sie starke SSH-Schlüssel und deaktivieren Sie Passwörter.
- 2) Zugriffsbeschränkung: Port, Benutzer, Adressen und AllowUsers/AllowGroups
- 3) Schutz vor Brute-Force-Angriffen und Angriffsmanagement: Fail2Ban, UFW und Anti-DDoS
- 4) Überwachung, Prüfung und Angriffserkennung
- 5) Zwei-Faktor-Authentifizierung, Bastion und Zugriffsmanagement (PAM, 2FA)
- Vorschlag für eine sshd_config-Konfiguration
- Zusätzliche und praktische Tipps für konkrete Szenarien
- Service- und Infrastrukturinformationen
- Zusammenfassung und Checkliste für die schnelle Umsetzung
- Häufig gestellte Fragen
Ist der SSH-Zugriff auf Ihrem Ubuntu-Server ausreichend sicher?
Die Sicherung des SSH-Zugriffs ist einer der grundlegendsten und wichtigsten Schritte für jeden Linux-Server, insbesondere wenn darauf kritische Dienste wie Websites, Datenbanken, Handelsserver oder GPU-Knoten gehostet werden. In diesem Leitfaden stellen wir fünf praktische und technische Lösungen vor. SSH-Härtung unter Ubuntu Es enthält praktische Anleitungen, Konfigurationsbeispiele und anpassbare Tipps für die Bereiche Handel, Gaming, KI und Webhosting.
Überblick und Ziele
Ziel dieses Leitfadens ist es, fünf Kernpunkte aufzuzeigen, die die Prinzipien von Vertraulichkeit, Reduzierte Angriffsreichweite, Einbruchserkennung und -reaktion und erhöhen Nachhaltigkeit Hüllen.
- Ersetzen der Authentifizierung durch SSH-Schlüssel Anstelle eines Passworts
- Zugriffsbeschränkung (Port, Benutzer, IP-Adresse)
- Einsatz von Schutzmaßnahmen wie Fail2Ban Und UFW/iptables
- Überwachung und Prüfung (Protokolle,
sshd -T(Überprüfungstools) - Verwenden Sie die Zwei-Faktor-Authentifizierung oder Bastion-/Jumphost-Methoden.
1) Verwenden Sie starke SSH-Schlüssel und deaktivieren Sie Passwörter.
Verwendung von SSH-Schlüssel Anstelle eines Passworts bietet es Schutz vor Brute-Force-Angriffen und eine einfachere Zugriffsverwaltung. Neue Schlüssel wie z. B. ed25519 Sie sind besonders empfehlenswert, wenn Kompatibilität mit älteren Systemen erforderlich ist. RSA 4096 Verwenden.
Erstellen eines sicheren Schlüssels auf dem Client:
ssh-keygen -t ed25519 -a 100 -o -f ~/.ssh/id_ed25519 -C "user@host"Oder (aus Kompatibilitätsgründen):
ssh-keygen -t rsa -b 4096 -o -a 100 -f ~/.ssh/id_rsa -C "user@host"Übertragung des Schlüssels an den Server:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@serverBeispiel für wichtige Einstellungen in /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keysSSH-Konfiguration hochladen:
sudo systemctl reload sshdBeispiel für ein GPU-Knotenszenario (KI)
Empfohlen für GPU-Server, die von ML/KI-Teams verwendet werden. Zugriffsgruppen Erstellen und verteilen Sie für jeden Benutzer einen eindeutigen Schlüssel. Verwenden Sie ein verschlüsseltes Dateisystem für den Schlüsselordner und aktivieren Sie die entsprechende Funktion. AppArmor (oder SELinux, falls verfügbar) wird ebenfalls empfohlen.
2) Zugriffsbeschränkung: Port, Benutzer, Adressen und AllowUsers/AllowGroups
Zugriffsebene reduzieren oder Angriffsfläche Verringert Eindringversuche. Gängige Methoden umfassen Portänderungen, Benutzerbeschränkungen und Beschränkungen basierend auf IP-Adressen.
Standardport ändern:
Port 2222Benutzer oder Gruppen einschränken:
AllowUsers deploy [email protected]/24
# or
AllowGroups sshusersIP-basierte Beschränkung mit UFW:
sudo ufw allow from 203.0.113.5 to any port 2222 proto tcpDeaktivierung risikoreicher Funktionen:
AllowTcpForwarding no
X11Forwarding no
PermitTunnel noZeit- und Arbeitsaufwand bei fehlgeschlagenen Anmeldeversuchen reduzieren:
LoginGraceTime 30
MaxAuthTries 3
MaxSessions 23) Schutz vor Brute-Force-Angriffen und Angriffsmanagement: Fail2Ban, UFW und Anti-DDoS
Automatisierte und Brute-Force-Angriffe sind weit verbreitet; Werkzeuge wie beispielsweise Fail2Ban Host-Firewalls können schädlichen Datenverkehr blockieren. Nutzen Sie außerdem Anti-DDoS-Dienste, um Angriffe der Schichten 4 und 7 abzuwehren.
Installation und Konfiguration von Fail2Ban:
sudo apt install fail2ban
# create /etc/fail2ban/jail.d/sshd.local with:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600Grundlegende Firewall-Konfiguration mit UFW:
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp
sudo ufw allow 80,443/tcp
sudo ufw enableWenn Sie einen stärkeren Schutz auf Netzwerkebene benötigen, verwenden Sie Anti-DDoS-Dienst Nutzen Sie unser Unternehmen. Unsere Anti-DDoS-Server lassen sich mit BGP/Anycast- und CDN-Netzwerken kombinieren, um schädlichen Datenverkehr am Netzwerkrand zu stoppen.
Vergleich von Standorten und deren Auswirkungen auf die Sicherheit
An den über 85 Standorten des Unternehmens weltweit verfügen einige Rechenzentren über Netzwerkfunktionen wie Edge-Firewalls, BGP und hardwarebasierten DDoS-Schutz. Für Handels- oder sicherheitskritische Server ist es wichtig, einen Standort mit DDoS-Schutz und kurzer Netzwerkverbindung zu den Finanzmärkten zu wählen (z. B. London, Frankfurt, New York, Singapur, Tokio).
4) Überwachung, Prüfung und Angriffserkennung
Es ist unerlässlich zu wissen, wer sich mit dem Server verbunden hat und welche Versuche fehlgeschlagen sind. Protokolle und Prüfwerkzeuge helfen dabei, Eindringversuche schnell zu erkennen.
Nützliche Befehle zum Überprüfen:
sshd -T
ss -tulpn | grep ssh
sudo tail -n 200 /var/log/auth.log
last -aZur Analyse von Protokollen können Sie Folgendes verwenden: rsyslog, Logwatch Alternativ können zentrale Logdienste (z. B. Elasticsearch/Graylog) verwendet werden. Weitere nützliche Tools sind: ssh-audit Und Lynis Und IDS/IPS wie OSSEC Oder Erdmännchen Sie sind.
5) Zwei-Faktor-Authentifizierung, Bastion und Zugriffsmanagement (PAM, 2FA)
Durch das Hinzufügen einer zweiten Authentifizierungsebene wird verhindert, dass Angreifer Zugriff erlangen, falls ein Schlüssel gestohlen oder das Konto kompromittiert wird. Zu den Optionen gehören die Verwendung von Google Authenticator (PAM), MFA-Diensten für Unternehmen und die Nutzung von Bastion/Jumphost.
Installieren Sie Google Authenticator PAM:
sudo apt install libpam-google-authenticator
# then run for each user:
google-authenticatorPAM und sshd konfigurieren:
# add to /etc/pam.d/sshd
auth required pam_google_authenticator.so
# in /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
UsePAM yesFür Organisationen, die MFA-Dienste wie Duo Oder Okta Es wird außerdem empfohlen, einen zu platzieren Bastion-Host Mit 2FA, zentralisierter Protokollierung und einheitlichen IAM-Richtlinien ist dies der beste Ansatz für große Teams.
Praktische Tipps für die Verwaltung von Schlüsseln und Kursen
Regelmäßige Schlüsselrotation, Entfernung inaktiver Schlüssel und die Nutzung von Identitätsmanagement (LDAP/AD/SSO) zur zentralen Steuerung sind für die Aufrechterhaltung der Sicherheit unerlässlich.
Vorschlag für eine sshd_config-Konfiguration
Das folgende Beispiel zeigt die empfohlenen Einstellungen (je nach Ihren spezifischen Bedürfnissen können weitere Anpassungen erforderlich sein):
Protocol 2
Port 2222
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding no
AllowTcpForwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
LogLevel VERBOSE
AllowUsers deploy [email protected]Zusätzliche und praktische Tipps für konkrete Szenarien
Händler: Nutzen Sie einen dedizierten Trading-VPS in Börsennähe, messen Sie die Antwortzeiten mit Netzwerktools und beschränken Sie den SSH-Zugriff auf bestimmte IP-Adressen. Verwenden Sie DDoS-Schutz und BGP-Netzwerktechnologie.
Spiel: Für VPS-Gaming empfiehlt sich ein Standort mit niedrigem Ping und ein privates Netzwerk. Der administrative Zugriff sollte über Bastion gesteuert werden.
KI und Rendering: Wählen Sie GPU-Server an KI-spezifischen Standorten aus, beschränken Sie den SSH-Zugriff mit Schlüsseln und 2FA und verwenden Sie AllowGroups für verschiedene Teams.
Webserver und WordPress: Verwenden Sie SSH-Schlüssel für Administratoren, sicheres SFTP für Inhalts-Uploads und CI/CD mit SSH-Bereitstellungsschlüsseln.
Service- und Infrastrukturinformationen
Dienstleistungsunternehmen in mehr als 85 Standorte weltweit Angebot: Verschiedene Arten von VPS-Servern für Trading und Gaming, Hochleistungs-Cloud-Server, Grafikserver (GPU), Anti-DDoS-Server, Hosting- und Domain-Dienste, CDN und BGP-unterstütztes Netzwerk.
- Für öffentliche Dienste nutzen Sie einen Standort mit Anti-DDoS-Schutz.
- Für einen sicheren Zugriff empfiehlt sich Bastion in einem privaten Netzwerk mit Zugriff über VPN oder statische IP-Adresse.
- Wählen Sie GPU-Server an KI-spezifischen Standorten, um die geringste Latenz zu erzielen.
- Zum Schutz der Anwendungsschicht sollten neben anderen Sicherheitsmaßnahmen auch CDN und WAF eingesetzt werden.
Zusammenfassung und Checkliste für die schnelle Umsetzung
Checkliste mit 10 Schritten zur Umsetzung der oben genannten Punkte:
- Erstellen und Verwenden eines sicheren SSH-Schlüssels (ed25519 Oder RSA4096)
- Deaktivierung
PasswortauthentifizierungUndPermitRootLogin - Ändern Sie den Standard-SSH-Port und schränken Sie zusätzliche Berechtigungen ein.
- Installation Fail2Ban und Konfiguration UFW/iptables
- IP-Beschränkung und -Nutzung
Benutzer zulassen/AllowGroups - Protokollierung aktivieren und Protokolle an den zentralen Dienst senden
- Implementieren Sie 2FA oder MFA für sensible Zugriffe
- Verwendung von Bastion/Jumphost für den Fernzugriff
- Überprüfen Sie die Konfiguration mit
sshd -Tund Prüfwerkzeuge - Überprüfen Sie regelmäßig die Schlüssel, entfernen Sie alte Schlüssel und tauschen Sie die Schlüssel aus.









