Automatische Sicherheitsupdates auf CentOS 7 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.
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
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.
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
Ähnliche Materialien
KI-Apps zum Englischlernen – Top 10 & Auswahlhilfe

Untertitel in Final Cut Pro hinzufügen
BIKA LIMS auf Ubuntu Server in 15 Minuten installieren

iPhone-Akku optimieren: Laufzeit & Gesundheit

Fehler 0x800F0909 bei Sprachpaket-Installation beheben
