Linux Security

Sicherheitscheck eines Linux-Servers

Wie sicher ist dein Linux-Server wirklich? Dieser Leitfaden zeigt dir Schritt für Schritt, wie du dein System auf Schwachstellen, Fehlkonfigurationen und Sicherheitsrisiken überprüfst.

4 min Lesezeit
Grafik: Sicherheitscheck für Linux-Server – So prüfst du dein System

So überprüfst du deinen Linux-Server auf Schwachstellen und Fehlkonfigurationen

Ein Linux-Server gilt grundsätzlich als stabil und sicher – vorausgesetzt, er wird regelmäßig gepflegt und überprüft. Doch selbst ein sorgfältig eingerichteter Server kann im Laufe der Zeit Schwachstellen entwickeln. Neue Benutzerkonten, geänderte Firewall-Regeln, veraltete Software oder falsch gesetzte Dateiberechtigungen erhöhen das Risiko von Sicherheitsvorfällen.

Ein regelmäßiger Sicherheitscheck hilft dabei, potenzielle Schwachstellen frühzeitig zu erkennen und zu beheben. Dabei geht es nicht nur um installierte Sicherheitsupdates, sondern um eine ganzheitliche Überprüfung des Systems.

In diesem Artikel zeigen wir Schritt für Schritt, welche Bereiche du kontrollieren solltest und mit welchen Werkzeugen sich die Sicherheit deines Linux-Servers bewerten lässt.


Warum ein Sicherheitscheck wichtig ist

Auch ein Server, der heute sicher konfiguriert ist, bleibt nicht dauerhaft sicher.

Typische Ursachen für neue Risiken:

  • neu entdeckte Sicherheitslücken
  • veraltete Software
  • falsch konfigurierte Dienste
  • unnötig geöffnete Netzwerkports
  • schwache Passwörter
  • vergessene Benutzerkonten
  • unzureichend geschützte SSH-Zugänge

Ein regelmäßiger Sicherheitscheck reduziert diese Risiken erheblich.


1. System aktualisieren

Der erste Schritt besteht darin, den aktuellen Patchstand zu prüfen.

Paketlisten aktualisieren:

sudo apt update

Installierbare Updates anzeigen:

apt list --upgradable

Alle Updates installieren:

sudo apt full-upgrade

Nicht mehr benötigte Pakete entfernen:

sudo apt autoremove --purge

2. Kernel-Version prüfen

Die installierte Kernel-Version lässt sich mit folgendem Befehl anzeigen:

uname -r

Nach Kernel-Updates sollte geprüft werden, ob ein Neustart erforderlich ist.


3. Betriebssystem identifizieren

Zur Kontrolle der Distribution:

cat /etc/os-release

4. Offene Netzwerkports überprüfen

Alle erreichbaren Dienste anzeigen:

ss -tulpen

Alternativ:

sudo lsof -i

Prüfe insbesondere:

  • Welche Dienste lauschen?
  • Werden wirklich alle benötigt?
  • Sind Dienste versehentlich öffentlich erreichbar?

5. Firewall kontrollieren

Bei UFW:

sudo ufw status verbose

Bei nftables:

sudo nft list ruleset

Überprüfe:

  • Standardrichtlinien
  • erlaubte Ports
  • unnötige Freigaben
  • Logging

6. SSH absichern

Die SSH-Konfiguration befindet sich unter:

/etc/ssh/sshd_config

Wichtige Einstellungen:

  • PermitRootLogin no
  • PubkeyAuthentication yes
  • MaxAuthTries
  • AllowUsers
  • Protocol 2

Konfiguration testen:

sudo sshd -t

7. Benutzerkonten kontrollieren

Alle Benutzer anzeigen:

cut -d: -f1 /etc/passwd

Administratorrechte prüfen:

getent group sudo

Kontrolliere:

  • unbekannte Benutzer
  • veraltete Konten
  • nicht mehr benötigte Administratoren

8. Passwortqualität prüfen

Installierte Passwortregeln:

grep pam_pwquality /etc/pam.d/common-password

Empfehlungen:

  • mindestens 14 Zeichen
  • Groß- und Kleinbuchstaben
  • Zahlen
  • Sonderzeichen
  • keine Wörterbuchbegriffe

9. Laufende Dienste überprüfen

Alle aktiven Dienste:

systemctl list-units --type=service --state=running

Nicht benötigte Dienste deaktivieren:

sudo systemctl disable --now dienstname

10. Dateiberechtigungen kontrollieren

Besonders kritisch sind:

  • Konfigurationsdateien
  • SSH-Schlüssel
  • Backup-Verzeichnisse
  • Webanwendungen

Berechtigungen prüfen:

find /etc -type f -perm -002

Dadurch werden weltweit beschreibbare Dateien gefunden.


11. Festplattenbelegung prüfen

df -h

Volle Partitionen können Dienste beeinträchtigen und Logdateien verhindern.


12. Speicherverbrauch überwachen

free -h

Alternativ:

vmstat

13. Prozesse analysieren

Aktive Prozesse anzeigen:

top

oder komfortabler:

htop

Achte auf:

  • unbekannte Prozesse
  • hohe CPU-Last
  • ungewöhnlichen Speicherverbrauch

14. Journal analysieren

Aktuelle Fehlermeldungen:

journalctl -p err

SSH-Protokolle:

journalctl -u ssh

Kernel-Meldungen:

journalctl -k

15. Fail2Ban prüfen

Status:

sudo fail2ban-client status

Jails anzeigen:

sudo fail2ban-client status sshd

16. AppArmor kontrollieren

Status:

sudo aa-status

Prüfen:

  • aktive Profile
  • deaktivierte Profile
  • Beschwerden (complain mode)

17. Automatische Updates

Status:

systemctl status unattended-upgrades

18. Dateiintegrität überwachen

Für produktive Systeme empfiehlt sich AIDE.

Installation:

sudo apt install aide

Datenbank erzeugen:

sudo aideinit

Integritätsprüfung:

sudo aide --check

19. Rootkits erkennen

Mit rkhunter:

Installation:

sudo apt install rkhunter

Datenbank aktualisieren:

sudo rkhunter --update

Prüfung starten:

sudo rkhunter --check

Alternativ eignet sich auch chkrootkit.


20. Sicherheitsaudit mit Lynis

Eines der bekanntesten Werkzeuge für Linux-Sicherheitsanalysen ist Lynis.

Installation:

sudo apt install lynis

Audit starten:

sudo lynis audit system

Lynis überprüft unter anderem:

  • Kernel
  • Benutzerkonten
  • SSH
  • Firewall
  • Dateirechte
  • Dienste
  • Softwareversionen
  • Boot-Konfiguration
  • Passwortregeln
  • Logging

Am Ende erhältst du einen Sicherheitsindex sowie konkrete Verbesserungsvorschläge.


Zusätzliche Werkzeuge

Je nach Einsatzgebiet können folgende Programme sinnvoll sein:

  • ClamAV – Malware-Scanner
  • CrowdSec – Angriffserkennung und automatisches Blockieren
  • auditd – Sicherheitsprotokollierung
  • OpenSCAP – Compliance-Scans
  • Suricata – Netzwerk-IDS/IPS
  • Wazuh – Host-basierte Sicherheitsüberwachung
  • Uptime Kuma – Verfügbarkeitsmonitoring

Checkliste für den Sicherheitscheck

  • System vollständig aktualisiert
  • Kernel aktuell
  • Firewall überprüft
  • SSH-Konfiguration kontrolliert
  • Offene Ports geprüft
  • Benutzerkonten überprüft
  • Administratorrechte kontrolliert
  • Passwortregeln geprüft
  • Laufende Dienste analysiert
  • Dateiberechtigungen kontrolliert
  • Festplattenbelegung geprüft
  • Speicherverbrauch kontrolliert
  • Prozesse analysiert
  • Journal ausgewertet
  • Fail2Ban geprüft
  • AppArmor kontrolliert
  • Automatische Updates aktiv
  • AIDE ausgeführt
  • Rootkit-Scan durchgeführt
  • Lynis-Audit abgeschlossen

Best Practices

Für einen dauerhaft sicheren Linux-Server empfehlen sich folgende Maßnahmen:

  • Sicherheitsupdates zeitnah installieren.
  • Nur benötigte Dienste aktivieren.
  • SSH bevorzugt mit Public Keys absichern.
  • Firewall standardmäßig restriktiv konfigurieren.
  • Administratorrechte regelmäßig überprüfen.
  • Logdateien automatisiert auswerten.
  • Sicherheitsprüfungen dokumentieren.
  • Backups regelmäßig testen.
  • Integritätsprüfungen automatisieren.
  • Sicherheitschecks in festen Intervallen durchführen.


Ein sicherer Linux-Server entsteht nicht allein durch eine sorgfältige Erstinstallation, sondern durch regelmäßige Überprüfungen und kontinuierliche Pflege. Ein strukturierter Sicherheitscheck hilft dabei, Schwachstellen frühzeitig zu erkennen, Fehlkonfigurationen zu beheben und die Angriffsfläche des Systems zu minimieren.

Werkzeuge wie Lynis, AIDE, rkhunter, Fail2Ban und AppArmor ergänzen die klassischen Administrationsaufgaben und liefern wertvolle Hinweise auf potenzielle Risiken. In Kombination mit regelmäßigen Updates, einer restriktiven Firewall und einer abgesicherten SSH-Konfiguration bilden sie die Grundlage für einen stabilen und sicheren Linux-Server – unabhängig davon, ob dieser als Webserver, Datenbankserver oder Self-Hosting-Plattform eingesetzt wird.