bintorosoft.com

SSH absichern: Keys, Ports, Fail2ban und sichere Konfiguration

Turtle with glasses and a surprised look on her face is looking at a laptop on white background.

SSH ist das Standardprotokoll für den sicheren Fernzugriff auf Linux-Server. Ein falsch konfigurierter SSH-Dienst kann jedoch ein erhebliches Sicherheitsrisiko darstellen. In diesem Tutorial lernen Sie, wie Sie SSH auf Ihrem Server absichern – von der Nutzung von Schlüsseln über Portänderungen bis hin zu Intrusion-Prevention-Maßnahmen wie Fail2ban.

SSH Grundkonfiguration überprüfen

Die zentrale Konfigurationsdatei für SSH befindet sich unter /etc/ssh/sshd_config. Bevor Änderungen vorgenommen werden, empfiehlt es sich, eine Sicherung zu erstellen:

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

Wichtige Parameter:

SSH Keys erstellen und verwenden

Schlüsselbasierte Authentifizierung ist sicherer als Passwort-Login. Erstellung eines RSA-Schlüssels:

# Auf dem Client
ssh-keygen -t rsa -b 4096 -C "user@example.com"

Der öffentliche Schlüssel wird auf den Server kopiert:

ssh-copy-id user@server_ip

Alternative Möglichkeit manuell:

cat ~/.ssh/id_rsa.pub | ssh user@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Die Datei authorized_keys sollte korrekte Berechtigungen haben:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

SSH Port ändern

Um automatisierte Angriffe zu reduzieren, kann der SSH-Port geändert werden:

sudo nano /etc/ssh/sshd_config
# Beispiel:
Port 2222

Nach Änderungen den SSH-Dienst neu starten:

sudo systemctl restart sshd

Firewall-Regeln anpassen:

# UFW Beispiel
sudo ufw allow 2222/tcp
sudo ufw reload

Root-Login deaktivieren

Direkter Root-Zugang birgt Sicherheitsrisiken. In der Konfiguration:

PermitRootLogin no

Administratoren melden sich mit einem normalen Benutzer an und nutzen sudo für privilegierte Aktionen.

Passwort-Authentifizierung deaktivieren

Nur Schlüsselbasierte Anmeldung verwenden:

PasswordAuthentication no
ChallengeResponseAuthentication no

Damit wird das brute-force Risiko auf Passwörter deutlich reduziert.

Fail2ban installieren und konfigurieren

Fail2ban schützt vor wiederholten fehlgeschlagenen Loginversuchen, indem IPs temporär gesperrt werden.

# Installation
sudo apt install fail2ban    # Debian/Ubuntu
sudo dnf install fail2ban    # RHEL/CentOS/Fedora

Standardkonfiguration kopieren

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Wichtige Parameter für SSH:

[sshd]
enabled  = true
port     = 2222
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5
bantime  = 3600

Fail2ban starten und aktivieren:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo systemctl status fail2ban

Zusätzliche Sicherheitsmaßnahmen

SSH Hardening Checkliste

Fazit

Durch die Kombination aus Schlüssel-basierter Authentifizierung, Portänderung, Fail2ban und restriktiven Konfigurationen lässt sich SSH auf Linux-Servern erheblich absichern. Die Umsetzung dieser Maßnahmen schützt vor Brute-Force-Angriffen, reduziert die Angriffsfläche und stellt sicher, dass administrative Aktionen nachvollziehbar bleiben.

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:

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

Exit mobile version