Nur für unsere Blog-Besucher: Zusätzlich 3 Monate gratis + 10 % Rabatt auf den Dreijahresplan YSBLOG10
Schnapp dir den Deal

Wie man überwacht und sichert SSH auf Linux-Servern – Einfache Anleitung

Zuletzt aktualisiert: September 7, 2026 9 min gelesen Prahlad Prajapati
Überwachen und Sichern SSH unter Linux

Überwachung und Sicherung SSH auf einem Linux-Server bedeutet kontinuierliches Beobachten SSH Protokolle für verdächtige Aktivitäten, Erzwingung schlüsselbasierter Authentifizierung, Zugriffsbeschränkung per Firewall und Optimierung der sshd_config gemäß Best Practices. Echtzeitschutz (Fail2ban/CrowdSec), Zwei-Faktor-Authentifizierung und regelmäßige Patches reduzieren das Risiko von Brute-Force-Angriffen, Kontoübernahmen und Fehlkonfigurationen.

Wenn Sie manage Linux-Server: Überwachung und Sicherung lernen SSH Auf einem Linux-Server ist dies nicht verhandelbar. SSH SSH ist die Standardmethode für den Fernzugriff und ein beliebtes Ziel für automatisierte Bots. In diesem Leitfaden zeige ich Ihnen, wie Sie die SSH-Konfiguration absichern, Echtzeitüberwachung und -warnungen einrichten und mehrschichtige Sicherheitsvorkehrungen implementieren – ohne sich selbst auszusperren.

Welche Bedrohungen zielen SSH und was man sehen sollte

SSH sieht sich ständiger roher Gewalt gegenüber Angriffe, Credential Stuffing und Privilege Escalation-Versuche. Ihre Verteidigung beginnt mit Transparenz. Wissen Sie, wo Sie suchen müssen und wie „schädliche“ Aktivitäten in Ihren Protokollen und Metriken aussehen.

Wichtige Log-Signale

  • Wiederholte Eingaben von „Falsches Passwort“ oder „Ungültiger Benutzer“ von derselben IP-Adresse
  • Anmeldungen zu ungewöhnlichen Zeiten, aus unbekannten Ländern oder Netzwerken
  • Häufige Verbindungsabbrüche bei der Authentifizierung (Bot-Scans)
  • Root-Anmeldeversuche und sudo-Authentifizierungsfehler

Wichtige Kennzahlen zur Verfolgung

  • Erfolgs-/Fehlerraten und Spitzenwerte der Authentifizierung pro IP-Adresse
  • Anzahl gesperrter IPs (Fail2ban/CrowdSec)
  • Neue öffentliche Schlüssel hinzugefügt, Benutzeränderungen und sudoers-Bearbeitungen
  • SSH Daemon-Neustarts, Konfigurationsänderungen und Kernel-Updates

Schnellen SSH Sicherheits-Checkliste

  • Verwenden Sie schlüsselbasierte Authentifizierung; deaktivieren Sie Passwörter.
  • Direkte Root-Anmeldung deaktivieren
  • Benutzer/Gruppen einschränken, die berechtigt sind SSH
  • Aktivieren Sie Fail2ban oder CrowdSec, um Brute-Force-Angriffe auf IP-Adressen zu blockieren.
  • Firewall: erlauben SSH nur von vertrauenswürdigen IPs, wenn möglich
  • Leerlauf-Timeouts und Sperrrichtlinien festlegen
  • Aktivieren Sie die Zwei-Faktor-Authentifizierung (TOTP) für privilegierte Konten.
  • Protokolle überwachen, Warnmeldungen aktivieren und Patches installierenSSH regelmäßig

So überwachen Sie SSH Zugriff in Echtzeit

Kontrolliere SSH Protokolle schnell

Die meisten Debian/Ubuntu-Systeme protokollieren in /var/log/auth.log, während RHEL/CentOS/AlmaLinux /var/log/secure verwenden. Mit systemd ist journalctl oft der schnellste Weg, um einen Einblick zu erhalten.

# See SSH activity today
sudo journalctl -u ssh -S today

# Tail SSH logs live (Debian/Ubuntu)
sudo tail -f /var/log/auth.log

# Tail SSH logs live (RHEL/CentOS/AlmaLinux)
sudo tail -f /var/log/secure

# Top failing IPs (Debian/Ubuntu)
sudo grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head

# List recent successful and failed logins
last
lastb  # failed logins (requires btmp)

Blockieren Sie Brute-Force-Angriffe mit Fail2ban

Fail2ban liest Ihre Protokolle und sperrt automatisch an der Firewall gegen betreffende IP-Adressen – eine Kernkomponente von SSH Härten.

# Install
# Debian/Ubuntu
sudo apt update && sudo apt install -y fail2ban
# RHEL/CentOS/AlmaLinux
sudo dnf install -y fail2ban

# Enable and start
sudo systemctl enable --now fail2ban

# Create jail override
sudo tee /etc/fail2ban/jail.d/sshd.local >/dev/null <<'EOF'
[sshd]
enabled = true
port    = ssh
filter  = sshd
logpath = %(sshd_log)s
maxretry = 4
findtime = 10m
bantime  = 24h
ignoreip = 127.0.0.1/8 ::1
EOF

# Reload and check status
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

Tipp: Verwenden Sie ignoreip, um Ihr Büro/VPN auf die Whitelist zu setzen. Für Cloud-Server kombinieren Sie dies mit Firewalls des Anbieters, um einen umfassenden Schutz zu gewährleisten.

Audits SSH Änderungen und Anmeldungen mit auditd

Verwenden Sie Linux Audit, um kritische SSH Ereignisse (Konfigurationsänderungen, Daemon-Ausführungen, Authentifizierungsänderungen).

# Install
sudo apt install -y auditd || sudo dnf install -y audit

# Watch sshd_config changes
sudo auditctl -w /etc/ssh/sshd_config -p wa -k ssh_config

# Track sshd execution (may vary by distro path)
sudo auditctl -a always,exit -F arch=b64 -S execve -F exe=/usr/sbin/sshd -k sshd_exec

# Query recent related events
sudo ausearch -k ssh_config
sudo ausearch -k sshd_exec | aureport -x --summary

Bei größeren Flotten sollten die Protokolle an ein SIEM-System oder einen zentralen Stack (Elastic, Graylog, Wazuh) weitergeleitet und Schwellenwertwarnungen festgelegt werden.

sshd_config härten (Schritt für Schritt)

Sicher sichern und testen

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F)
# Keep an existing SSH session open while reloading to avoid lockout
sudo sshd -t    # syntax check
sudo systemctl reload sshd

Diese Einstellungen implementieren die schlüsselbasierte Authentifizierung, beschränken Konten, verringern die Angriffsfläche und verbessern die Sicherheit. Passen Sie sie an Ihre Distribution und Ihre Compliance-Richtlinien an.

# /etc/ssh/sshd_config (excerpt)
Protocol 2
# Optional: changing port reduces noise but is not a security control
# Port 22

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes

# Restrict to known users or groups
AllowUsers deploy adminuser
# or
# AllowGroups sshusers

# Limit auth attempts and connection bursts
MaxAuthTries 3
MaxStartups 10:30:60
LoginGraceTime 20

# Disconnect idle sessions
ClientAliveInterval 300
ClientAliveCountMax 2

# Modern defaults in OpenSSH are secure; only pin ciphers if required
# Ciphers [email protected],[email protected],aes256-ctr
# MACs [email protected],[email protected]

# Log more detail
LogLevel VERBOSE

# Banner to warn unauthorized users
Banner /etc/issue.net

Nach der Bearbeitung mit `sshd -t` überprüfen und neu laden. Vor dem Schließen der Administratorsitzung immer in einem zweiten Terminal testen.

Firewall und Ratenbegrenzung

UFW (einfach) oder nftables/iptables (fortgeschritten)

# UFW example (Debian/Ubuntu)
sudo ufw allow 22/tcp
# or restrict to office/VPN
sudo ufw allow from 203.0.113.10 to any port 22 proto tcp
sudo ufw enable
sudo ufw status

# nftables example (policy-based)
sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0 ; }
sudo nft add rule inet filter input ct state established,related accept
sudo nft add rule inet filter input iif lo accept
sudo nft add rule inet filter input tcp dport 22 ip saddr 203.0.113.0/24 accept
sudo nft add rule inet filter input tcp dport 22 drop

Koppeln Sie Ihre Host-Firewall mit Cloud Sicherheitsgruppen. Wenn Sie die ändern SSH Port, denken Sie daran, die Regeln entsprechend zu aktualisieren.

CrowdSec vs. Fail2ban (kurzer Vergleich)

  • Fail2ban: Leichtgewichtig, lokale Sperren, einfache Konfiguration, ideal für einzelne Server.
  • CrowdSec: Community-basierte Reputationsfeeds, verteilte Signale, reichhaltige Szenarien; ideal für Flotten.
  • Beide: Kann mit iptables/nftables integriert werden und Warnmeldungen exportieren.

Fügen Sie 2FA (TOTP) hinzu zu SSH

Die Zwei-Faktor-Authentifizierung fügt zusätzlich zu Ihren bisherigen Sicherheitsdaten einen Einmalcode (zeitbasiertes OTP) hinzu. SSH HauptDies mindert die Risiken, falls ein Schlüssel oder ein Passwort offengelegt wird. Anzuwenden auf privilegierte Benutzer und Sicherheitskonten.

# Install Google Authenticator PAM module
# Debian/Ubuntu
sudo apt install -y libpam-google-authenticator
# RHEL/CentOS/AlmaLinux
sudo dnf install -y google-authenticator

# Per-user setup (run as each user)
google-authenticator -t -d -f -r 3 -R 30 -W

# Update PAM (common path; verify on your distro)
# Add this line near the top of /etc/pam.d/sshd:
# auth required pam_google_authenticator.so nullok

# Update sshd_config to allow keyboard-interactive for 2FA
KbdInteractiveAuthentication yes
# Keep PasswordAuthentication no for key+TOTP flow
AuthenticationMethods publickey,keyboard-interactive

sudo sshd -t && sudo systemctl reload sshd

Testen Sie die Änderung zunächst in einer separaten Sitzung, bevor Sie sie für alle Benutzer erzwingen. Bewahren Sie Notfallcodes sicher auf.

Benachrichtigungen und Berichte einrichten

E-Mail-Zusammenfassungen mit Logwatch

# Install and configure
sudo apt install -y logwatch || sudo dnf install -y logwatch
# On systemd servers, create a daily timer or use cron
sudo logwatch --service sshd --range today --detail Med --mailto [email protected]

Für Echtzeitwarnungen integrieren Sie Fail2ban mit einem Aktionsskript, um Benachrichtigungen über Sperrungen/Entsperrungen zu senden, oder leiten Sie Protokolle an ein SIEM mit Regeln für Spitzenwerte und Anomalien weiter.

Laufende Wartung und Compliance

  • Patch offenSSH und Betriebssystempakete regelmäßig aktualisieren; veraltete Kryptokonfigurationen entfernen, sobald sich die Standardeinstellungen ändern.
  • Private Schlüssel regelmäßig wechseln und schützen; Hardware-Token für den Zugriff auf sensible Daten bevorzugen.
  • Überprüfen Sie Benutzer, Gruppen und autorisierte Schlüssel monatlich; entfernen Sie veraltete Zugriffsrechte.
  • Sichern Sie sshd_config und authorized_keys; dokumentieren Sie den Änderungsverlauf.
  • Protokolle zentralisieren; mindestens 90 Tage aufbewahren, um forensische Untersuchungen zu ermöglichen.

Häufige Fehler und sichere Behebung

  • Sich selbst aussperren: Bewahren Sie immer einen auf SSH Sitzung während des Neuladens geöffnet; Test von einem zweiten Terminal aus.
  • Überoptimierung von Verschlüsselungsalgorithmen: Modern OpenSSH Die Standardeinstellungen sind sicher; PIN-Algorithmen sollten nur dann verwendet werden, wenn dies aufgrund Ihrer Compliance-Richtlinie erforderlich ist.
  • Abhängigkeit von Portänderungen: Nicht standardmäßige Anschlüsse reduzieren zwar das Rauschen, ersetzen aber nicht die Authentifizierung und Überwachung.
  • Ausgang ignorieren: Angreifer exfiltrieren häufig Daten; überwachen Sie ungewöhnliche ausgehende Verbindungen (verwenden Sie ss, nft oder ein NIDS).

Warum das funktioniert: Mehrstufige, praktische Sicherheit

In über 12 Jahren Erfahrung in der Härtung von Linux-Servern haben sich die widerstandsfähigsten Server als besonders zuverlässig erwiesen. SSH Posture kombiniert starke Authentifizierung (Schlüssel + 2FA), minimalen Zugriff (Firewall + AllowUsers), aktiven Schutz (Fail2ban/CrowdSec) und kontinuierliche Transparenz (Protokolle + Warnmeldungen). Jede Ebene kompensiert die anderen und reduziert so das Risiko, ohne die Verfügbarkeit zu beeinträchtigen.

Brauchen Sie Hilfe? Gezielte Härtung durch YouStable

Wenn Sie eine professionelle Einrichtung bevorzugen, YouStable managed-Server umfassen SSH Härtung, Firewall-Optimierung, proaktive Überwachung und Support rund um die Uhr. Wir wenden diese Best Practices vom ersten Tag an an und halten sie an die sich weiterentwickelnden Open-Source-Technologien angepasst.SSH und Linux-Sicherheit Standards.

Häufig gestellte Fragen

1. Wie überprüfe ich das? SSH Protokolle unter Linux?

Verwenden Sie heute `journalctl -u ssh -S` auf Systemd-Hosts oder `tail -f /var/log/auth.log` (Debian/Ubuntu) bzw. `tail -f /var/log/secure` (RHEL-Familie). Zusammenfassungen erhalten Sie mit `last` und `lastb`, die die letzten erfolgreichen und fehlgeschlagenen Anmeldeversuche anzeigen.

2. Ändert die Standardeinstellung SSH Ist ein Port erforderlich?

Nein. Es reduziert zwar Bot-Angriffe, ist aber keine Sicherheitsmaßnahme. Setzen Sie stattdessen auf schlüsselbasierte Authentifizierung, deaktivieren Sie Passwörter und Root-Login, erzwingen Sie Firewall-Regeln und implementieren Sie Fail2ban oder CrowdSec. Wenn Sie den Port ändern, aktualisieren Sie die Firewall-Regeln und die Überwachung.

3. Wie blockiert man am besten? SSH Brute-Force-Angriffe?

Kombinieren Sie Fail2ban oder CrowdSec mit SSH Verwenden Sie eine Authentifizierung ausschließlich mit Schlüsseln und eine Firewall, die die Quell-IP-Adressen beschränkt. Setzen Sie MaxAuthTries auf einen niedrigen Wert, aktivieren Sie LoginGraceTime und überwachen Sie die Anzahl fehlgeschlagener Anmeldeversuche mit entsprechenden Warnmeldungen.

4. Wie deaktiviere ich das? SSH Passwortanmeldung sicher?

Fügen Sie Ihren öffentlichen Schlüssel zu ~/.ssh/authorized_keys hinzu, überprüfen Sie die Anmeldung mit dem Schlüssel, setzen Sie dann PasswordAuthentication auf no in /etc/ssh/sshd_config und laden Sie sshd neu. Lassen Sie während des Tests eine bestehende Sitzung geöffnet, um eine Sperrung zu vermeiden.

5. Soll ich bestimmte Dinge erzwingen? SSH Verschlüsselungen und MACs?

Modern OpenSSH Die Standardeinstellungen sind sicher. Verschlüsselungsalgorithmen/MACs/Schlüsselaustauschalgorithmen sollten nur dann fixiert werden, wenn dies aus Compliance-Gründen erforderlich ist oder um ältere Clients gezielt auszuschließen. Zu strenge Einschränkungen können Automatisierungen und ältere Systeme beeinträchtigen; daher sollten sie vor der Implementierung gründlich getestet werden.

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit * gekennzeichnet.

Nach oben scrollen