Linux Sicherheit - Updates und Patching

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Linux Sicherheit - Updates und Patching

  • Regelmäßige Updates und zeitnahes Einspielen von Sicherheitspatches gehören zu den zentralen Maßnahmen der Systemhärtung. Veraltete Pakete, ungepatchte Bibliotheken oder Kernelversionen sind die häufigsten Ursachen erfolgreicher Angriffe. Ziel ist es, alle Systeme stets auf einem sicheren, getesteten und konsistenten Stand zu halten.*

Grundlagen

  • Updates schließen Sicherheitslücken und beheben bekannte Schwachstellen (CVEs).
  • Ein ungepatchtes System kann innerhalb von Minuten nach Veröffentlichung einer Schwachstelle kompromittiert werden.
  • Automatische Updates sind sinnvoll für Workstations, auf Servern sollten sie kontrolliert und dokumentiert erfolgen.
  • Für produktive Systeme gilt: erst Testsystem, dann Rollout.

Paketverwaltung und Sicherheitsaktualisierung

  • apt update && apt upgrade -y
  • apt full-upgrade -y
  • dnf update -y
  • zypper update -y
yum update -y
  • Vor jedem Update Cache aktualisieren (apt update).
  • Sicherheitsaktualisierungen regelmäßig und automatisiert durchführen.
  • Unnötige Pakete entfernen, um Angriffsflächen zu reduzieren.
  • apt autoremove --purge -y
  • dnf remove <paketname>

Nur Sicherheitsupdates einspielen

  • apt install unattended-upgrades -y
  • dpkg-reconfigure --priority=low unattended-upgrades
  • unattended-upgrades --dry-run
  • Mit unattended-upgrades werden nur sicherheitsrelevante Pakete automatisch aktualisiert.
  • Logs befinden sich unter /var/log/unattended-upgrades/.
  • Auf Red Hat-basierten Systemen:
  • dnf updateinfo list security
  • dnf update --security -y

Kernel-Updates und Reboot-Management

  • uname -r
  • apt install linux-image-amd64
  • dnf upgrade kernel*
  • Nach Kernel-Updates ist ein Neustart notwendig, um Patches wirksam zu machen.
  • Zur Minimierung von Downtime: Live-Patching nutzen.
  • apt install kpatch
  • kpatch list
  • kpatch update
  • Kpatch oder Canonical Livepatch ermöglichen Kernel-Updates ohne Reboot.

Repositories und Vertrauenswürdigkeit

  • ls /etc/apt/sources.list.d/
  • cat /etc/apt/sources.list
  • apt-key list
  • Nur offizielle oder geprüfte Repositories verwenden.
  • GPG-Schlüssel regelmäßig prüfen und abgelaufene Keys entfernen.
  • Manipulierte Repositories sind ein häufiges Einfallstor für Supply-Chain-Angriffe.

Update-Strategie und Zeitplan

  • Sicherheitsupdates täglich, Funktionsupdates wöchentlich oder nach Testfreigabe.
  • Planmäßige Wartungsfenster einführen.
  • Automatische Benachrichtigung bei neuen CVEs:
  • apt install apt-listchanges apticron
  • Auf RHEL-basierten Systemen:
  • dnf-automatic install
  • Konfiguration in /etc/dnf/automatic.conf:
apply_updates = yes
download_updates = yes
emit_via = email

Überprüfung und Nachvollziehbarkeit

  • grep "upgrade" /var/log/dpkg.log
  • grep "Updated" /var/log/dnf.log
  • rpm -qa --last | head
  • Update-Vorgänge müssen nachvollziehbar und dokumentiert sein.
  • Logdateien zentral sammeln (rsyslog, journald forwarding).
  • Audit-Pfad: wer, wann, welches Paket installiert oder aktualisiert hat.

Sicherheitsfeeds und CVE-Überwachung

  • CVE-Monitoring-Tools informieren über neu entdeckte Schwachstellen.
  • apt install debsecan
  • debsecan --suite bookworm --only-fixed
  • dnf updateinfo info --security
  • Alternative Tools: OpenVAS, Greenbone, Lynis, OpenSCAP.
  • oscap oval eval --report report.html /usr/share/xml/scap/ssg/ssg-debian12-ds.xml
  • Regelmäßige CVE-Scans in CI/CD-Pipelines integrieren.

Beispiel: Automatische tägliche Sicherheitsupdates (Debian/Ubuntu)

  • apt install unattended-upgrades apt-listchanges apticron -y
  • vi /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
};
  • systemctl enable --now apt-daily.timer
  • systemctl enable --now apt-daily-upgrade.timer
  • Damit werden Sicherheitsupdates täglich eingespielt, Logs unter /var/log/unattended-upgrades/.

Beispiel: DNF-Automatik (RHEL/CentOS/Fedora)

  • dnf install dnf-automatic -y
  • vi /etc/dnf/automatic.conf
upgrade_type = security
apply_updates = yes
emit_via = motd
  • systemctl enable --now dnf-automatic.timer
  • Damit werden täglich nur sicherheitsrelevante Updates installiert.

Quick Checklist

  • Sicherheitsupdates täglich, Funktionsupdates manuell mit Review.
  • Kernel regelmäßig aktualisieren, Live-Patching wenn möglich.
  • Nur vertrauenswürdige Repositories verwenden.
  • Update-Logs regelmäßig prüfen.
  • Automatische Benachrichtigung bei CVEs einrichten.
  • Unnötige Pakete und Dienste entfernen.
  • Updates vor Rollout auf Testsystem validieren.

Zusammenfassung

  • Regelmäßiges Patching ist eine der einfachsten und effektivsten Sicherheitsmaßnahmen.
  • Automatisierte Prozesse reduzieren menschliche Fehler und Reaktionszeiten.
  • Sicherheitsbewusste Update-Strategien kombinieren: Monitoring, Automatisierung, Dokumentation.
  • Ziel: minimaler Angriffszeitraum zwischen Bekanntwerden und Schließen einer Schwachstelle.