SSH ist der wichtigste Zugangspunkt zu Servern und das haeufigste Ziel automatisierter Angriffe. Jeder Server mit oeffentlicher IP-Adresse ist taeglich Tausenden von SSH-Brute-Force-Versuchen ausgesetzt. Eine korrekte Absicherung ist der erste und wichtigste Schritt nach der Serverbereitstellung — ohne sie ist es nur eine Frage der Zeit, bis ein Angreifer Zugang erhaelt.
Schluessel¶
ssh-keygen -t ed25519 -C 'admin@server'
ssh-copy-id user@server
Ed25519-Schluessel sind sicherer und schneller als RSA. Schuetzen Sie den privaten Schluessel mit einer starken Passphrase und kopieren Sie ihn niemals auf Server. Fuer groessere Organisationen sollten Sie SSH CA (Certificate Authority) in Betracht ziehen, die die Notwendigkeit eliminiert, oeffentliche Schluessel auf jeden Server zu verteilen — stattdessen vertraut der Server von der CA signierten Zertifikaten.
sshd-Konfiguration¶
PasswordAuthentication no
PermitRootLogin no
AllowUsers admin deploy
Port 2222
MaxAuthTries 3
KexAlgorithms curve25519-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
Das Deaktivieren von Passwoertern ist die wirksamste Massnahme — es eliminiert eine ganze Kategorie von Brute-Force-Angriffen. Das Aendern des Ports von 22 auf einen nicht standardmaessigen reduziert das Volumen automatisierter Scans um 99 %. AllowUsers beschraenkt die Anmeldung auf bestimmte Benutzer und verhindert den Zugang ueber Systemkonten.
Fail2ban¶
sudo apt install fail2ban
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 3
bantime = 3600
Fail2ban ueberwacht Logs und blockiert automatisch IP-Adressen nach wiederholten fehlgeschlagenen Versuchen. Fuer Produktionsserver erhoehen Sie bantime auf 86400 (24 Stunden) und setzen Sie findtime auf 600 Sekunden. Fail2ban unterstuetzt E-Mail-Benachrichtigungen und Integration mit firewalld oder nftables.
Weiteres¶
- 2FA — Google Authenticator PAM-Modul fuer eine zweite Schutzschicht
- Port Knocking — knockd erfordert eine bestimmte Paketsequenz vor dem Oeffnen des SSH-Ports
- Firewall — SSH-Zugang nur von vertrauenswuerdigen IPs und VPN erlauben
- SSH CA — zentralisierte Zugriffsverwaltung anstelle der Schluesselverteilung auf jeden Server
SSH-Hardening ist Pflicht¶
Minimum fuer jeden Server: Schluesselauthentifizierung, deaktivierte Passwoerter, deaktivierter Root-Login und fail2ban. Diese vier Schritte eliminieren die meisten gaengigen Angriffe.