Zurück zu KI
Security Fortgeschritten

Server absichern mit KI-Unterstützung

UFW, Fail2ban, SSH-Hardening und Tailscale — mit Claude Code als Security-Assistent.

Warum Absicherung Pflicht ist

Ein Server im Netzwerk wird sofort angegriffen. Automatisierte Bots scannen rund um die Uhr nach offenen Ports, Standard-Passwörtern und bekannten Schwachstellen. Ohne Absicherung ist es nur eine Frage der Zeit, bis jemand einbricht.

1. SSH absichern

SSH ist der Haupteingang zu deinem Server. Hier gelten strenge Regeln:

# /etc/ssh/sshd_config
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
KbdInteractiveAuthentication no
AllowUsers dein-user
MaxAuthTries 3
LoginGraceTime 30

# Nur moderne Algorithmen
KexAlgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256
HostKeyAlgorithms ssh-ed25519
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
# SSH-Key generieren (auf deinem Rechner)
ssh-keygen -t ed25519 -C "dein-name@server"

# Key auf den Server kopieren
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server-ip

# Dienst neu starten
sudo systemctl restart sshd

2. Firewall mit UFW

Prinzip: Alles verbieten, nur Erlaubtes zulassen (Zero-Trust).

# UFW installieren und konfigurieren
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default deny outgoing

# Nur das Nötigste erlauben
sudo ufw allow in on tailscale0     # Tailscale-Traffic
sudo ufw allow out 443/tcp          # HTTPS
sudo ufw allow out 80/tcp           # HTTP
sudo ufw allow out 53               # DNS

# Aktivieren
sudo ufw enable
sudo ufw status verbose

3. Fail2ban gegen Brute-Force

# Fail2ban installieren
sudo apt install fail2ban

# Konfiguration erstellen
sudo tee /etc/fail2ban/jail.local <<EOF
[sshd]
enabled = true
port = ssh
filter = sshd
maxretry = 3
bantime = 3600
findtime = 600
EOF

sudo systemctl enable --now fail2ban

4. Monitoring mit Telegram-Alerts

Werde sofort benachrichtigt, wenn sich jemand einloggt oder ein Login fehlschlägt:

# Login-Benachrichtigung in /etc/profile.d/login-notify.sh
#!/bin/bash
TITLE="SSH Login"
MSG="User: $(whoami) | Host: $(hostname) | IP: $(echo $SSH_CLIENT | awk '{print $1}')"
curl -s "https://api.telegram.org/bot<TOKEN>/sendMessage" \
  -d "chat_id=<CHAT_ID>" \
  -d "text=$TITLE: $MSG" >/dev/null 2>&1

5. Claude Code als Security-Assistent

Mit Claude Code kannst du deine Sicherheitskonfiguration prüfen und verbessern lassen:

  • Audit: „Prüfe meine sshd_config auf Schwachstellen“
  • Firewall: „Zeige mir alle offenen Ports und ob sie nötig sind“
  • Logs: „Analysiere /var/log/auth.log auf verdächtige Aktivitäten“
  • Updates: „Prüfe ob Sicherheitsupdates ausstehen“

Nie blind Befehle ausführen, die du nicht verstehst — auch nicht von einer KI. Lies immer zuerst, was ein Befehl tut, bevor du ihn mit sudo ausführst.