Linux Server Setup für Experten: Baselines, Automatisierung und Audit-Readiness

Für erfahrene Administratoren ist ein Linux Server mehr als nur ein laufendes System – er muss konsistent, automatisierbar und audit-ready sein. Dieses Tutorial zeigt, wie Sie eine sichere Baseline aufbauen, Automatisierung integrieren und den Server für Compliance-Prüfungen vorbereiten. Damit schaffen Sie ein stabiles Fundament für produktive Umgebungen und erleichtern Wartung, Monitoring und Sicherheitskontrollen.

1. Basisinstallation und System-Baseline

Beginnen Sie mit einer minimalen Installation einer stabilen Distribution wie Ubuntu LTS, Debian oder RHEL/CentOS Stream. Die Baseline dient als Ausgangspunkt für spätere Hardening- und Automatisierungsmaßnahmen.

  • Systempakete aktualisieren:
    sudo apt update && sudo apt upgrade -y
  • Essentielle Tools installieren:
    sudo apt install -y vim htop curl wget net-tools unzip tar git sudo
  • Basis-Firewall:
    sudo apt install -y ufw
  • Audit-Tools:
    sudo apt install -y auditd audispd-plugins

2. Netzwerk- und DNS-Konfiguration

Stabile Netzwerkverbindungen sind essenziell. Verwenden Sie statische IPs oder DHCP-Reservierungen und konfigurieren Sie Gateway und DNS korrekt.

Netplan-Beispiel für Ubuntu

sudo nano /etc/netplan/01-netcfg.yaml
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, Gruppen und Rechte

Eine klare Benutzer- und Gruppenstruktur erhöht Sicherheit und Nachvollziehbarkeit.

  • Administrativen Benutzer anlegen:
    sudo adduser adminuser
  • Sudo-Rechte vergeben:
    sudo usermod -aG sudo adminuser
  • Root-Login per SSH deaktivieren:
    sudo nano /etc/ssh/sshd_config
    # PermitRootLogin no
    sudo systemctl restart sshd
  • Umask und Verzeichnisrechte setzen:
    umask 027
  • Audit-Logging aktivieren:
    sudo auditctl -w /etc/passwd -p wa -k passwd_changes

4. SSH-Härtung und Agenten

SSH ist die zentrale Remote-Verwaltungsschnittstelle. Sicherheit hier ist kritisch.

  • SSH Key-Pair generieren:
    ssh-keygen -t ed25519
  • Public Key auf Server kopieren:
    ssh-copy-id adminuser@server_ip
  • Passwort-Authentifizierung deaktivieren:
    sudo nano /etc/ssh/sshd_config
    # PasswordAuthentication no
    sudo systemctl restart sshd
  • SSH Agent nutzen:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
  • Fail2ban installieren und aktivieren:
    sudo apt install -y fail2ban
    sudo systemctl enable --now fail2ban

5. Kernel-Parameter und Sysctl

Optimieren Sie Systemleistung und Sicherheit durch gezieltes Tunen.

  • Beispiele für sysctl:
    sudo nano /etc/sysctl.conf
    net.ipv4.ip_forward = 0
    net.ipv4.conf.all.rp_filter = 1
    vm.swappiness = 10
    fs.file-max = 2097152
    sudo sysctl -p
  • Limits setzen:
    sudo nano /etc/security/limits.conf
    * hard nofile 65535
    * soft nofile 65535
  • Audit-Readiness: Kernel-Parameter regelmäßig prüfen und dokumentieren

6. Firewall und Dienste

Reduzieren Sie Angriffsflächen durch restriktive Firewall und abgeschaltete Dienste.

  • UFW Regeln:
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow 22/tcp
    sudo ufw enable
  • Offene Ports prüfen:
    sudo ss -tuln
    sudo netstat -tulnp
  • Dienste deaktivieren:
    sudo systemctl disable 
    sudo systemctl stop 

7. Automatisierung und Konfigurationsmanagement

Reduzieren Sie manuelle Fehler durch Automatisierung mit Ansible, Puppet oder Shell-Skripten.

  • Ansible installieren:
    sudo apt install -y ansible
  • Playbooks für Baseline-Konfiguration erstellen
  • Beispiel für Benutzer-Setup in Ansible:
  • - name: Admin user anlegen
      hosts: all
      become: yes
      tasks:
        - name: Benutzer anlegen
          user:
            name: adminuser
            groups: sudo
            shell: /bin/bash
            state: present
  • Automatisierte Updates konfigurieren:
    sudo apt install -y unattended-upgrades
    sudo dpkg-reconfigure --priority=low unattended-upgrades

8. Monitoring, Logging und Audit

Alle Änderungen und Zustände müssen nachvollziehbar sein.

  • Systemlogs prüfen:
    journalctl -xe
  • Auditd Regeln definieren:
    sudo auditctl -w /etc/shadow -p wa -k shadow_changes
  • Monitoring mit Prometheus/Grafana oder Netdata
  • Regelmäßige Health Checks per Cronjobs

9. Backup und Disaster Recovery

Backups sichern Konfigurationen und Daten und sind Voraussetzung für Audit-Readiness.

  • BorgBackup oder Restic für verschlüsselte Backups nutzen
  • Beispiel rsync Backup:
    rsync -avz /etc /home /var backup@backupserver:/backup/
  • Automatische Backups per Cron planen
  • Snapshots bei LVM, Btrfs oder ZFS nutzen für konsistente Zustände

10. Security Hardening & Compliance

Nach der Baseline folgt das Härtungspaket:

  • AppArmor oder SELinux aktivieren und Profile prüfen
  • Sysctl Parameter für Netzwerk und IPC härten
  • CIS Benchmark prüfen und umsetzen
  • Root-Login deaktivieren, sudo-Policy überprüfen
  • Regelmäßige Audit-Reports generieren

11. Container- und DevOps Integration

Für moderne Umgebungen können Container, CI/CD und Registry-Setups ergänzt werden:

  • Docker oder Podman installieren
  • Private Registry absichern
  • CI/CD Runner (GitLab, Jenkins) mit dedizierten Benutzern und Limits ausstatten
  • Netzwerkisolation und Firewalls für Container beachten

12. Zusammenfassung: Experten-Baseline

  • Minimalinstallation und Pakete aktualisieren
  • Statisches Netzwerk mit DNS und Gateway konfigurieren
  • Benutzer, Gruppen, SSH und Fail2ban absichern
  • Kernel, sysctl, Limits und Swappiness optimieren
  • Firewall konfigurieren, unnötige Dienste deaktivieren
  • Automatisierung mit Ansible oder Skripten
  • Logging, Monitoring, Auditd für Nachvollziehbarkeit
  • Backups verschlüsselt und regelmäßig erstellen
  • Hardening nach CIS/SELinux/AppArmor umsetzen
  • Optional: Container und DevOps-Tools integrieren
  • Audit-Readiness durch Dokumentation und regelmäßige Reports sicherstellen

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