Linux Server Setup Checkliste: Von Installation bis Hardening in 60 Minuten

Ein frisch aufgesetzter Linux Server benötigt eine sorgfältige Konfiguration, um sicher, performant und wartbar zu sein. Diese Checkliste führt Sie Schritt für Schritt durch die wichtigsten Aufgaben, vom Basis-Setup über Netzwerk und Benutzerverwaltung bis hin zu Sicherheitshärtung und Monitoring. Mit dieser Anleitung können Administratoren, IT-Studierende oder Junior Network Engineers in etwa 60 Minuten eine solide Grundlage schaffen.

1. Basisinstallation und Pakete

Starten Sie mit der Installation einer stabilen Linux-Distribution wie Ubuntu LTS oder CentOS Stream. Achten Sie auf minimale Installation, um unnötige Dienste zu vermeiden.

  • System aktualisieren:
    sudo apt update && sudo apt upgrade -y
  • Essenzielle Tools installieren:
    sudo apt install -y vim htop curl wget net-tools unzip tar git
  • Firewall-Tools:
    sudo apt install -y ufw

2. Netzwerk konfigurieren

Für einen stabilen Betrieb müssen IP, Gateway und DNS korrekt eingerichtet sein.

Statische IP mit Netplan (Ubuntu)

sudo nano /etc/netplan/01-netcfg.yaml
# Beispiel:
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
sudo netplan apply

3. Benutzer und Rechte

Richten Sie administrative Benutzer ein und deaktivieren Sie Root-Login per SSH.

  • Neuen Benutzer anlegen:
    sudo adduser adminuser
  • Zur sudo-Gruppe hinzufügen:
    sudo usermod -aG sudo adminuser
  • Root-Login deaktivieren:
    sudo nano /etc/ssh/sshd_config
    # PermitRootLogin no
    sudo systemctl restart sshd
  • Umask und Berechtigungen prüfen:
    umask 027

4. SSH absichern

Schlüssel-basierte Authentifizierung ist Pflicht, Passwörter sollten deaktiviert werden.

  • SSH-Key generieren auf Client:
    ssh-keygen -t ed25519
  • Public-Key auf Server kopieren:
    ssh-copy-id adminuser@server_ip
  • SSH Konfiguration anpassen:
    sudo nano /etc/ssh/sshd_config
    # PasswordAuthentication no
    # PubkeyAuthentication yes
    sudo systemctl restart sshd
  • Fail2ban installieren:
    sudo apt install -y fail2ban
    sudo systemctl enable --now fail2ban

5. Swap und Memory Tuning

Optimieren Sie den Speicherverbrauch und Swapping:

  • Swap prüfen und ggf. anlegen:
    sudo swapon --show
    sudo fallocate -l 4G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
  • Swappiness anpassen:
    sudo sysctl vm.swappiness=10
    echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf

6. Firewall und Ports

Öffnen Sie nur notwendige Dienste.

  • Standard-Firewall aktivieren:
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
  • Wichtige Ports freigeben:
    sudo ufw allow 22/tcp   # SSH
    sudo ufw allow 80/tcp   # HTTP
    sudo ufw allow 443/tcp  # HTTPS
    sudo ufw enable
  • Offene Ports prüfen:
    sudo netstat -tulnp

7. Paketmanagement & Updates

Regelmäßige Updates verhindern Sicherheitslücken.

  • Automatische Sicherheitsupdates aktivieren:
    sudo apt install -y unattended-upgrades
    sudo dpkg-reconfigure --priority=low unattended-upgrades
  • Manuelles Update:
    sudo apt update && sudo apt upgrade -y

8. Logging & Monitoring

Systemzustand permanent überwachen:

  • Journalctl nutzen:
    journalctl -xe
    journalctl -u ssh
  • Ressourcen überwachen:
    htop
    df -h
    free -h
  • Monitoring-Tools optional: Grafana + Prometheus, Netdata

9. Hardening & Sicherheit

Erhöhen Sie die Sicherheit nach Best Practices:

  • SELinux/AppArmor aktivieren und konfigurieren:
    sudo apt install apparmor apparmor-utils
    sudo aa-status
  • Unnötige Dienste deaktivieren:
    sudo systemctl disable 
    sudo systemctl stop 
  • SSH Banner zur Warnung:
    sudo nano /etc/issue.net
  • CIS Benchmarks prüfen und umsetzen

10. Backup & Wiederherstellung

Erstellen Sie sofort ein Backup nach der Grundinstallation:

  • Lokales Backup:
    tar czvf server-backup.tar.gz /etc /home /var
  • Remote Backup via rsync:
    rsync -avz /etc /home /var user@backupserver:/backup/
  • Automatisierung: Cronjobs oder Backup-Tools wie Borg oder Restic

11. Optional: Container & DevOps Tools

Für moderne Server-Setups können Docker, Podman oder Kubernetes-Komponenten integriert werden:

  • Docker installieren:
    sudo apt install -y docker.io
    sudo systemctl enable --now docker
  • Docker Compose installieren:
    sudo apt install -y docker-compose
  • CI/CD Tools wie GitLab Runner oder Jenkins aufsetzen

12. Zusammenfassung der Checkliste

  • System aktualisieren und essentielle Tools installieren
  • Netzwerk statisch konfigurieren
  • Benutzer, Gruppen und Rechte sauber einrichten
  • SSH absichern und Fail2ban aktivieren
  • Swap und Memory-Tuning prüfen
  • Firewall aktivieren und nur notwendige Ports öffnen
  • Automatische Updates einrichten
  • Logging, Monitoring und Alerts konfigurieren
  • Hardening nach CIS, AppArmor/SELinux und unnötige Dienste deaktivieren
  • Backup & Wiederherstellung planen
  • Optional: Container, CI/CD Tools integrieren

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles