Sicherheits-Check: 5 Schritte für einen sicheren vServer
Ein neuer Server ist wie ein offenes Buch – für dich und für Angreifer. In diesem Guide zeigen wir dir die 5 wichtigsten Schritte, um deinen vServer abzusichern.
Schritt 1: SSH-Sicherheit optimieren
SSH ist das Einfallstor für Angreifer. Standard-Einstellungen sind unsicher.
a) Root-Login deaktivieren
# /etc/ssh/sshd_config
PermitRootLogin no
b) Passwort-Auth deaktivieren, nur Keys nutzen
PasswordAuthentication no
PubkeyAuthentication yes
c) Standard-Port ändern (Security by Obscurity, aber effektiv)
# /etc/ssh/sshd_config
Port 2222 # statt 22
d) SSH neu starten
systemctl restart sshd
Schritt 2: Firewall einrichten
Eine Firewall kontrolliert, welcher Traffic rein und raus darf.
UFW (Uncomplicated Firewall) nutzen:
# UFW installieren (falls nicht vorhanden)
apt install ufw
# SSH erlauben (wichtig!)
ufw allow 2222/tcp # dein SSH-Port
# Nur IPv4
echo "IPV6=no" >> /etc/default/ufw
# Firewall aktivieren
ufw enable
Nur benötigte Ports öffnen:
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
Schritt 3: Automatische Updates einrichten
Veraltete Software ist das #1 Sicherheitsrisiko.
unattended-upgrades installieren:
apt install unattended-upgrades
# Konfiguration
dpkg-reconfigure -plow unattended-upgrades
Update-Schedule prüfen:
# /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Schritt 4: Fail2ban installieren
Fail2ban schützt automatisch gegen Brute-Force-Angriffe.
Installation:
apt install fail2ban
Konfiguration:
# Kopie der Default-Config
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# SSH-Schutz aktivieren (falls nicht schon)
# In jail.local:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
Fail2ban starten:
systemctl enable fail2ban
systemctl start fail2ban
Schritt 5: Basis-Hardening
a) Unnötige Dienste deaktivieren
# Aktive Dienste anzeigen
systemctl list-unit-files | grep enabled
# Dienste deaktivieren, die du nicht brauchst
systemctl disable --now <dienstname>
b) Zeit synchronisieren
apt install chrony
systemctl enable chrony
c) Systemlogs überwachen
# Regelmäßig prüfen
tail -f /var/log/auth.log
tail -f /var/log/syslog
Bonus: Weitere Empfehlungen
Fail2ban für Webanwendungen:
# nginx/nginx-dos aktivieren
# Auskommentieren in jail.local:
[nginx-http-auth]
enabled = true
[nginx-noscript]
enabled = true
SSH-Zugriff nur für bestimmte Nutzer:
# /etc/ssh/sshd_config
AllowUsers benutzer1 benutzer2
Logwatch für Berichte:
apt install logwatch
Zusammenfassung der 5 Schritte
| Schritt | Aktion | Zeit |
|---|---|---|
| 1. SSH | Root-Login aus, Keys statt Passwort | 5 Min |
| 2. Firewall | UFW aktivieren, Ports beschränken | 5 Min |
| 3. Updates | Unattended-Upgrades einrichten | 5 Min |
| 4. Fail2ban | Automatische Sperrung aktivieren | 5 Min |
| 5. Hardening | Dienste prüfen, Logs überwachen | 10 Min |
Gesamtzeit: ~30 Minuten für einen signifikant sichereren Server.
Regelmäßige Wartung
Sicherheit ist kein einmaliger Akt:
- Wöchentlich: Logs prüfen
- Monatlich: Updates einspielen, Backups testen
- Quartalsweise: Sicherheitsaudit durchführen
- Bei Vorfällen: Sofort reagieren, dokumentieren
Wichtig: Kein System ist 100% sicher. Aber mit diesen 5 Schritten machst du es Angreifern extrem schwer. Die meisten automatisieren Angriffe suchen nach einfachen Zielen – die fallen weg.
Dein Server ist jetzt bereit für den produktiven Einsatz. Aber denk daran: Sicherheit ist ein kontinuierlicher Prozess, keine einmalige Checkliste.
