
Pravidelná aktualizace vašeho systému CentOS je jedním z nejdůležitějších aspektů celkového zabezpečení systému. Pokud neaktualizujete balíčky operačního systému nejnovějšími bezpečnostními záplatami, ponecháváte svůj počítač zranitelným vůči útokům.
Pokud spravujete více počítačů CentOS, ruční aktualizace systémových balíčků může být časově náročná. I když spravujete jednu instalaci CentOS, někdy můžete přehlédnout důležitou aktualizaci. Zde jsou automatické aktualizace užitečné.
V tomto tutoriálu projdeme procesem konfigurace automatických aktualizací na CentOS 7. Stejné pokyny platí pro CentOS 6.
Předpoklady #
Než budete pokračovat v tomto tutoriálu, ujistěte se, že jste přihlášeni jako uživatel s právy sudo.
Instalace balíčku yum-cron #
yum-cron
balíček vám umožňuje automaticky spustit příkaz yum jako úlohu cron pro kontrolu, stahování a použití aktualizací. Je pravděpodobné, že tento balíček je již nainstalován ve vašem systému CentOS. Pokud není nainstalován, můžete balíček nainstalovat spuštěním následujícího příkazu:
sudo yum install yum-cron
Po dokončení instalace povolte a spusťte službu:
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
Chcete-li ověřit, zda je služba spuštěna, zadejte následující příkaz:
systemctl status yum-cron
Informace o stavu služby yum-cron se zobrazí na obrazovce:
● yum-cron.service - Run automatic yum updates as a cron job
Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled)
Active: active (exited) since Sat 2019-05-04 21:49:45 UTC; 8min ago
Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
Main PID: 2713 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/yum-cron.service
Konfigurace yum-cron #
yum-cron se dodává se dvěma konfiguračními soubory, které jsou uloženy v /etc/yum
adresář, hodinový konfigurační soubor yum-cron-hourly.conf
a denní konfigurační soubor yum-cron.conf
.
yum-cron
služba pouze řídí, zda budou nebo nebudou spuštěny úlohy cron. yum-cron
nástroj je volán pomocí /etc/cron.hourly/0yum-hourly.cron
a /etc/cron.daily/0yum-daily.cron
cron soubory.
Ve výchozím nastavení je hodinový cron nakonfigurován tak, aby nic nedělal. Pokud jsou dostupné aktualizace, denní cron je nastaven tak, aby stahoval, ale neinstaloval dostupné aktualizace a posílal zprávy na stdout. Výchozí konfigurace je dostatečná pro kritické produkční systémy, kde chcete dostávat upozornění a po otestování aktualizací na testovacích serverech provést aktualizaci ručně.
Konfigurační soubor je strukturován do sekcí a každá sekce obsahuje komentáře, které popisují, co každý konfigurační řádek dělá.
Chcete-li upravit konfigurační soubor yum-cron, otevřete soubor ve svém textovém editoru:
sudo nano /etc/yum/yum-cron-hourly.conf
V první sekci [commands]
můžete definovat typy balíčků, které chcete aktualizovat, povolit zprávy a stahování a nastavit automatické použití aktualizací, když jsou dostupné. Ve výchozím nastavení update_cmd
je nastaveno na výchozí, což aktualizuje všechny balíčky. Pokud chcete nastavit automatické bezobslužné aktualizace, doporučujeme změnit hodnotu na security
což řekne yum, aby aktualizoval balíčky, které pouze opravují bezpečnostní problém.
V následujícím příkladu jsme změnili update_cmd
na security
a aktivovali bezobslužné aktualizace nastavením apply_updates
na yes
:
[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360
Druhá část definuje způsob odesílání zpráv. Chcete-li posílat zprávy na stdout i e-mail, změňte hodnotu emit_via
na stdio,email
.
[emitters]
system_name = None
emit_via = stdio,email
output_width = 80
V [email]
v sekci můžete nastavit e-mailovou adresu odesílatele a příjemce. Ujistěte se, že máte ve vašem systému nainstalovaný nástroj, který dokáže odesílat e-maily, jako je mailx nebo postfix.
[email]
email_from = [email protected]
email_to = [email protected]
email_host = localhost
[base]
umožňuje přepsat nastavení definovaná v yum.conf
soubor. Pokud chcete z aktualizace vyloučit konkrétní balíčky, můžete použít exclude
parametr. V následujícím příkladu vylučujeme [mongodb
] balíček.
[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*
yum-cron
nemusíte restartovat aby změny vstoupily v platnost.
Zobrazení protokolů #
Použijte grep ke kontrole, zda jsou prováděny úlohy cron spojené s yum:
sudo grep yum /var/log/cron
May 4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
May 4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
May 4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
May 4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cron
Historie aktualizací yum je zaznamenána v /var/log/yum
soubor. Nejnovější aktualizace můžete zobrazit pomocí příkazu tail:
sudo tail -f /var/log/yum.log
May 04 23:47:28 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
May 04 23:47:31 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
May 04 23:47:31 Updated: htop-2.2.0-3.el7.x86_64