← Zur Übersicht
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

  1. Kein Backup – Mindestens Config-Dateien sichern!
  2. Root-Passwort vergessen – Immer dokumentieren
  3. Firewall vergessen – Server ist offen wie ein Scheunentor
  4. SSH-Key nicht getestet – Passwort-Login deaktiviert, Key geht nicht → ausgesperrt!
  5. Kein Monitoring – Probleme erst bemerken wenn's zu spät ist