Ein frisch installierter Server ist noch nicht sicher. Diese Maßnahmen sollten Sie unmittelbar nach der Installation durchführen.
1. System aktualisieren
apt update && apt upgrade -yAutomatische Sicherheitsupdates aktivieren:
apt install unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades2. Neuen Admin-Benutzer erstellen
Nicht als root arbeiten:
adduser admin
usermod -aG sudo adminTesten Sie den Login mit dem neuen Benutzer, bevor Sie root deaktivieren!
3. SSH absichern
Bearbeiten Sie /etc/ssh/sshd_config:
# Root-Login verbieten
PermitRootLogin no
# Nur bestimmte Benutzer
AllowUsers admin
# Passwort-Auth deaktivieren (nach Key-Setup!)
PasswordAuthentication no
# Leere Passwörter verbieten
PermitEmptyPasswords no
# Timeout für inaktive Sessions
ClientAliveInterval 300
ClientAliveCountMax 2SSH neu starten:
systemctl restart sshdWichtig: Erst SSH-Key einrichten, dann Passwort-Auth deaktivieren!
SSH-Key einrichten
Auf Ihrem lokalen Computer:
ssh-keygen -t ed25519
ssh-copy-id admin@server-ip4. Firewall aktivieren
apt install ufw
# Standardregeln
ufw default deny incoming
ufw default allow outgoing
# SSH erlauben (wichtig!)
ufw allow ssh
# Weitere Ports nach Bedarf
ufw allow http
ufw allow https
# Aktivieren
ufw enable5. Fail2ban installieren
Schützt vor Brute-Force-Angriffen:
apt install fail2ban
systemctl enable fail2banBasis-Konfiguration /etc/fail2ban/jail.local:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
[sshd]
enabled = true
maxretry = 3systemctl restart fail2ban6. Unnötige Dienste deaktivieren
Prüfen Sie laufende Dienste:
systemctl list-units --type=service --state=running
ss -tulpnNicht benötigte Dienste stoppen:
systemctl disable --now cups # Druckserver
systemctl disable --now avahi-daemon # Bonjour/mDNS7. Kernel-Hardening
Erstellen Sie /etc/sysctl.d/99-security.conf:
# IP-Spoofing-Schutz
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# ICMP-Redirects ignorieren
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# Source-Routing deaktivieren
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# SYN-Flood-Schutz
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
# Log Martians (verdächtige Pakete)
net.ipv4.conf.all.log_martians = 1Anwenden:
sysctl -p /etc/sysctl.d/99-security.conf8. Berechtigungen prüfen
Wichtige Dateien absichern:
chmod 600 /etc/ssh/sshd_config
chmod 700 /root
chmod 600 /etc/shadowWelt-beschreibbare Dateien finden:
find / -xdev -type f -perm -0002 2>/dev/null9. Logging einrichten
Logs sollten zentral gesammelt werden:
# Log-Rotation prüfen
cat /etc/logrotate.conf
ls /etc/logrotate.d/Wichtige Logs überwachen:
tail -f /var/log/auth.log # Login-Versuche
tail -f /var/log/syslog # System-Events10. Regelmäßige Backups
Ohne Backup ist alles andere nutzlos:
# Beispiel-Backup-Skript
cat > /root/backup.sh << 'EOF'
#!/bin/bash
DATE=$(date +%Y%m%d)
tar -czf /backup/system-$DATE.tar.gz /etc /var/www /home
mysqldump --all-databases | gzip > /backup/db-$DATE.sql.gz
rsync -avz /backup/ user@backup-server:/backup/
EOF
chmod +x /root/backup.shCron einrichten:
crontab -e
# 0 3 * * * /root/backup.shSicherheits-Checkliste
Unmittelbar nach Installation
- [ ] System aktualisiert
- [ ] Admin-Benutzer erstellt
- [ ] SSH-Key eingerichtet
- [ ] Root-Login deaktiviert
- [ ] Passwort-Auth deaktiviert
- [ ] Firewall aktiviert
- [ ] Fail2ban installiert
Fortgeschritten
- [ ] Kernel-Hardening
- [ ] Unnötige Dienste deaktiviert
- [ ] Automatische Updates aktiviert
- [ ] Backup eingerichtet und getestet
- [ ] Monitoring eingerichtet
Regelmäßig
- [ ] System-Updates prüfen
- [ ] Logs durchsehen
- [ ] Backup-Tests
- [ ] Fail2ban-Status prüfen
- [ ] Offene Ports prüfen (
ss -tulpn)
Weitere Maßnahmen
Zwei-Faktor-Authentifizierung für SSH
apt install libpam-google-authenticatorIntrusion Detection
apt install aide
aideinitRootkit-Scanner
apt install rkhunter chkrootkit
rkhunter --check
chkrootkitPort Knocking (optional)
Versteckt SSH-Port bis zur "Klopf-Sequenz".
Was NICHT tun
1. Alles als root: Immer sudo für Admin-Tasks 2. Passwort-Auth mit schwachen Passwörtern: SSH-Keys nutzen 3. Firewall vergessen: Nur benötigte Ports öffnen 4. Updates aufschieben: Sicherheitsupdates sofort einspielen 5. Keine Backups: Immer 3-2-1-Regel befolgen
Fazit
Server-Sicherheit ist kein einmaliges Setup, sondern ein fortlaufender Prozess. Die hier gezeigten Maßnahmen bilden eine solide Grundlage. Bleiben Sie wachsam, halten Sie das System aktuell, und testen Sie regelmäßig Ihre Backups.