Zuletzt aktualisiert: 2026-02-09
·
serversecuritysetupanfänger
Server-Checkliste – Nach der Installation
Server-Checkliste – Nach der Installation
Du hast einen frischen Linux-Server (VPS, Root-Server, Cloud-VM)? Diese Checkliste hilft dir, ihn sicher und einsatzbereit zu machen.
✅ Phase 1: Erste Schritte (Tag 1)
1.1 System aktualisieren
sudo apt update && sudo apt upgrade -y
Warum? Schließt bekannte Sicherheitslücken.
1.2 Neuen Admin-Benutzer erstellen
Niemals dauerhaft als root arbeiten!
# Benutzer erstellen
sudo adduser admin
# Sudo-Rechte geben
sudo usermod -aG sudo admin
# Testen (in neuem Terminal!)
ssh admin@dein-server
sudo whoami # Sollte "root" ausgeben
1.3 SSH absichern
sudo nano /etc/ssh/sshd_config
Wichtige Einstellungen:
Port 2222 # Anderen Port wählen
PermitRootLogin no # Root-Login verbieten
PasswordAuthentication no # Nur SSH-Keys (erst nachdem Key funktioniert!)
MaxAuthTries 3 # Max. Login-Versuche
WICHTIG: Erst SSH-Key einrichten, dann Passwort-Login deaktivieren!
# SSH-Key vom lokalen Rechner kopieren
ssh-copy-id -p 2222 admin@dein-server
# Dann erst: PasswordAuthentication no
sudo systemctl restart sshd
# Bei Ubuntu müssen für eine änderung der Config noch diese diesnste neu geladen werden
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
1.4 Firewall einrichten (UFW)
# Installieren
sudo apt install ufw -y
# SSH erlauben (WICHTIG!)
sudo ufw allow 2222/tcp comment 'SSH'
# Standard-Regeln
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Aktivieren
sudo ufw enable
# Status prüfen
sudo ufw status numbered
1.5 Fail2Ban installieren
Schützt vor Brute-Force-Angriffen:
sudo apt install fail2ban -y
# Konfiguration anpassen
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 3
[sshd]
enabled = true
port = 2222
maxretry = 3
sudo systemctl enable fail2ban
sudo systemctl restart fail2ban
✅ Phase 2: Basis-Konfiguration
2.1 Hostname setzen
sudo hostnamectl set-hostname mein-server
# /etc/hosts anpassen
sudo nano /etc/hosts
127.0.0.1 localhost
127.0.1.1 mein-server
2.2 Zeitzone setzen
# Verfügbare Zeitzonen
timedatectl list-timezones | grep Europe
# Setzen
sudo timedatectl set-timezone Europe/Berlin
# Prüfen
timedatectl
2.3 Automatische Updates
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
Wähle "Ja" für automatische Sicherheits-Updates.
2.4 Swap einrichten (falls nicht vorhanden)
Besonders bei wenig RAM (1-2 GB):
# Prüfen ob Swap existiert
free -h
# Falls nicht:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Permanent machen
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
✅ Phase 3: Monitoring & Tools
3.1 Nützliche Tools installieren
sudo apt install -y \
htop \
ncdu \
net-tools \
curl \
wget \
vim \
git \
tmux
| Tool | Funktion |
|---|---|
| htop | Prozess-Manager |
| ncdu | Speicherplatz analysieren |
| tmux | Terminal-Multiplexer |
| curl/wget | HTTP-Anfragen |
3.2 Basis-Monitoring mit Cron
crontab -e
# Täglicher Speicherplatz-Report
0 8 * * * df -h | mail -s "Disk Report" admin@example.com
# System-Reboot bei Kernel-Updates (optional)
# 0 4 * * * [ -f /var/run/reboot-required ] && /sbin/reboot
✅ Phase 4: Je nach Verwendungszweck
Webserver?
sudo apt install nginx -y
sudo ufw allow 'Nginx Full'
Docker?
sudo apt install docker.io docker-compose -y
sudo usermod -aG docker admin
Datenbank?
# MySQL
sudo apt install mysql-server -y
sudo mysql_secure_installation
# PostgreSQL
sudo apt install postgresql postgresql-contrib -y
📋 Zusammenfassung Checkliste
| # | Aufgabe | Erledigt? |
|---|---|---|
| 1 | System aktualisiert | ☐ |
| 2 | Admin-Benutzer erstellt | ☐ |
| 3 | SSH-Key eingerichtet | ☐ |
| 4 | SSH-Port geändert | ☐ |
| 5 | Root-Login deaktiviert | ☐ |
| 6 | Passwort-Login deaktiviert | ☐ |
| 7 | UFW Firewall aktiv | ☐ |
| 8 | Fail2Ban installiert | ☐ |
| 9 | Hostname gesetzt | ☐ |
| 10 | Zeitzone korrekt | ☐ |
| 11 | Auto-Updates aktiviert | ☐ |
| 12 | Swap eingerichtet | ☐ |
| 13 | Monitoring-Tools installiert | ☐ |
🛡️ Regelmäßige Wartung
| Aufgabe | Häufigkeit |
|---|---|
apt update && apt upgrade |
Wöchentlich |
Logs prüfen (journalctl) |
Wöchentlich |
Speicherplatz prüfen (df -h) |
Wöchentlich |
Fail2Ban-Status (fail2ban-client status) |
Monatlich |
| Backups testen | Monatlich |
| SSH-Keys überprüfen | Vierteljährlich |
⚠️ Häufige Fehler vermeiden
- Kein Backup – Mindestens Config-Dateien sichern!
- Root-Passwort vergessen – Immer dokumentieren
- Firewall vergessen – Server ist offen wie ein Scheunentor
- SSH-Key nicht getestet – Passwort-Login deaktiviert, Key geht nicht → ausgesperrt!
- Kein Monitoring – Probleme erst bemerken wenn's zu spät ist