Technologieführer

Automatische Sicherheitsupdates auf CentOS 7 mit yum-cron

4 min read Systemadministration Aktualisiert 17 Oct 2025
CentOS 7: Automatische Sicherheitsupdates mit yum-cron
CentOS 7: Automatische Sicherheitsupdates mit yum-cron

Kurzfassung: Richte yum-cron auf deinem CentOS 7-Server ein, um Sicherheitsupdates automatisch herunterzuladen und anzuwenden. Dieser Leitfaden führt dich Schritt für Schritt durch Installation, Konfiguration, das Ausschließen bestimmter Pakete, sowie Log- und Fehlerbehebung. Backup und Testumgebung vor Produktivänderungen sind empfohlen.

Einleitung

Sicherheitsupdates sind essenziell für stabile und sichere Linux-Systeme. Nutzer sollten Sicherheitsupdates idealerweise innerhalb von 30 Tagen nach Veröffentlichung einspielen. Dieser Leitfaden zeigt, wie du einen CentOS 7-Server so konfigurierst, dass Sicherheitsupdates automatisch heruntergeladen und installiert werden – ohne manuelles Eingreifen.

Begriffsdefinition: yum-cron ist ein Dienst, der periodisch yum-Aufgaben ausführt (z. B. Updates herunterladen und anwenden).

Wichtig: Teste Änderungen zunächst in einer Staging-Umgebung und stelle Backups bereit, bevor du automatische Updates in Produktion aktivierst.

Was behandelt dieser Leitfaden

  • Installation von yum-cron auf CentOS 7
  • Konfiguration für automatische Sicherheitsupdates
  • Ausnahmen für bestimmte Pakete definieren (z. B. Kernel)
  • Logs prüfen und einfache Fehlerbehebung

Voraussetzungen

  • CentOS 7 Server
  • Root- oder sudo-Zugriff

Schritt 1 - yum-cron auf CentOS 7 installieren

yum-cron ist in den Standard-Repositories von CentOS 7 enthalten. Installiere das Paket mit:

yum -y install yum-cron

Starte den Dienst und aktiviere ihn für den Systemstart:

systemctl start yum-cron
systemctl enable yum-cron

Nach diesen Befehlen ist yum-cron installiert und beim Booten aktiv.

Schritt 2 - yum-cron für automatische Sicherheitsupdates konfigurieren

yum-cron unterstützt verschiedene Update-Modi: default (normales Upgrade), minimal und security (nur Sicherheitsupdates). Wir konfigurieren nur Sicherheitsupdates.

Bearbeite die Konfigurationsdatei:

cd /etc/yum/
vim yum-cron.conf

Hinweis: Du kannst jeden Editor verwenden.

Setze in der Datei folgende Werte (Suche nach den jeweiligen Schlüsseln):

update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = yes

Diese Optionen sorgen dafür, dass Sicherheitsupdates automatisch heruntergeladen und angewendet werden.

Yum-Cron für automatische Updates konfigurieren

Benachrichtigungen

yum-cron kann Statusmeldungen entweder auf STDOUT ausgeben oder per E-Mail versenden. Für E-Mail setze:

emit_via = email

Und definiere Absender, Empfänger und Mail-Host:

email_from = root@hakase-labs
email_to = [email protected]
email_host = hakase-labs

E-Mail-Konfiguration für yum-cron

Speichere die Datei und starte den Dienst neu:

systemctl restart yum-cron

Ab jetzt lädt das System Sicherheitsupdates in regelmäßigen Abständen automatisch herunter und installiert sie.

Schritt 3 - Pakete von automatischen Updates ausschließen

Manche Pakete möchtest du möglicherweise nicht automatisch aktualisieren (z. B. Kernel oder spezialisierte Datenbankversionen). So schließt du Pakete aus:

cd /etc/yum/
vim yum-cron.conf

Unterhalb der Sektion [base] füge eine Zeile mit den auszuschließenden Paketen hinzu, z. B.:

exclude = mysql* kernel*

Speichere und starte yum-cron neu:

systemctl restart yum-cron

Jetzt werden Pakete, deren Namen mit mysql bzw. kernel beginnen, nicht automatisch aktualisiert.

Konfiguration zum Ausschließen von Paketen

Hinweis: Das Ausschließen des Kernels kann automatische Kernel-Updates verhindern. Plane Kernel-Updates bewusst (z. B. Wartungsfenster und Neustart).

Schritt 4 - Logs prüfen und Status kontrollieren

Logs von zeitgesteuerten Aufgaben findest du unter /var/log. Beispiele:

cd /var/log/
cat cron | grep yum-daily

Um die tatsächlich aktualisierten Pakete zu sehen:

cat yum.log | grep Updated

Zusätzliche nützliche Kommandos zur Diagnose:

systemctl status yum-cron
journalctl -u yum-cron --since "1 day ago"
tail -n 200 /var/log/yum.log

Diese Befehle zeigen Status, Journaleinträge und die letzten yum-Logs.

Troubleshooting: Wann automatische Updates fehlschlagen und wie du reagierst

Häufige Ursachen und schnelle Lösungen:

  • Kein E-Mail-Versand: Prüfe email_host, MX-Einträge, Firewall und lokale MTA-Konfiguration.
  • Netzwerkprobleme: Teste DNS und Verbindung zu Repositories (ping, curl).
  • Sperrdateien (RPMDB busy): Warte oder prüfe laufende Paketprozesse (ps aux | grep yum).
  • Fehlerhafte Pakete verhindern Installation: Deaktiviere temporär apply_updates und führe manuelles yum update durch, um Fehler genauer zu sehen.

Nützliche Befehle zur Ursachenanalyse:

systemctl status yum-cron
journalctl -u yum-cron -n 200
yum -y check-update
yum history

Sichere Vorgehensweise bei Problemen: Deaktiviere automatische Anwendung (apply_updates = no) und erlaube nur das Herunterladen. Prüfe Downloads manuell und teste Updates in Staging.

Alternative Ansätze

  • dnf-automatic: Auf neueren Systemen (z. B. Fedora, CentOS Stream) ist dnf-automatic eine Alternative.
  • Configuration Management: Tools wie Ansible, Puppet oder Salt ermöglichen kontrollierte Rollouts und können automatische Updates mit Genehmigungsworkflows kombinieren.
  • Staging + Canary: Führe Updates zuerst auf Test- und Canary-Servern aus, bevor du Produktionsservern erlaubst, automatische Updates anzuwenden.

Sicherheits-Hardening & Betriebsempfehlungen

  • Backups: Immer vollständige Backups vor größeren Änderungen.
  • Reboots planen: Kernel-Updates erfordern oft Neustarts. Plane und automatisiere Reboot-Fenster separat.
  • Wartungsfenster: Setze Updates außerhalb der Hauptgeschäftszeiten.
  • SELinux und Firewall: Stelle sicher, dass Sicherheitsrichtlinien nach Updates weiterhin greifen.
  • Monitoring: Integriere yum-cron-Meldungen in dein Monitoring/Alerting.

Entscheidungsbaum: Automatische Updates aktivieren?

flowchart TD
  A[Start: Produktionsserver?] --> B{Hast du Staging und Backups?}
  B -- nein --> C[Erst Staging & Backups einrichten]
  B -- ja --> D{Kritische Dienste betroffen?}
  D -- ja --> E[Ausschlüsse definieren und Tests]
  D -- nein --> F[Aktiviere automatische Sicherheitsupdates]
  E --> F
  F --> G[Monitoring & Reboot-Plan]
  C --> H[Keine automatischen Updates]

Abnahmekriterien

  • yum-cron läuft aktiv und ist beim Booten aktiviert.
  • Sicherheitsupdates werden heruntergeladen (download_updates = yes).
  • apply_updates = yes oder approvals-Prozess vorhanden, je nach Policy.
  • E-Mail-Benachrichtigungen kommen beim Update-Zyklus an.
  • Ausgeschlossene Pakete werden nicht automatisch aktualisiert.

Administrator-Checkliste (Rollenbasiert)

  • Systemadministrator:

    • yum-cron installieren und konfigurieren
    • apply_updates-Policy festlegen
    • Ausschlussliste prüfen
    • Neustart-Plan bereitstellen
  • Sicherheitsverantwortlicher:

    • Prüfen, ob nur Sicherheitsupdates angewendet werden
    • Monitoring und Benachrichtigungen konfigurieren
  • Betriebsverantwortlicher:

    • Backup- und Rollback-Strategien definieren
    • Wartungsfenster planen

Kurze Glossarzeile

  • yum-cron: Dienst, der yum-Aktionen zeitgesteuert ausführt.

Zusammenfassung

Automatische Sicherheitsupdates mit yum-cron vereinfachen das Patch-Management auf CentOS 7. Konfiguriere update_cmd=security, aktiviere download_updates und apply_updates, setze sinnvolle Ausnahmen und überwache Logs und E-Mails. Teste Änderungen in einer Staging-Umgebung und halte Backups bereit.

Wichtige Hinweise

  • Wichtige Entscheidungen wie Kernel-Updates sollten geplant werden.
  • Automatische Updates reduzieren manuellen Aufwand, ersetzen aber kein Monitoring und kein Backup.

Quellen und weiterführende Links

Autor
Redaktion

Ähnliche Materialien

Podman auf Debian 11 installieren und nutzen
DevOps

Podman auf Debian 11 installieren und nutzen

Apt-Pinning: Kurze Einführung für Debian
Systemadministration

Apt-Pinning: Kurze Einführung für Debian

FSR 4 in jedem Spiel mit OptiScaler
Grafikkarten

FSR 4 in jedem Spiel mit OptiScaler

DansGuardian + Squid (NTLM) auf Debian Etch installieren
Netzwerk

DansGuardian + Squid (NTLM) auf Debian Etch installieren

App-Installationsfehler auf SD-Karte (Error -18) beheben
Android

App-Installationsfehler auf SD-Karte (Error -18) beheben

Netzwerkordner mit KNetAttach in KDE
Linux Netzwerk

Netzwerkordner mit KNetAttach in KDE