L'aggiornamento regolare del tuo sistema CentOS è uno degli aspetti più importanti della sicurezza generale del sistema. Se non aggiorni i pacchetti del tuo sistema operativo con le patch di sicurezza più recenti, la tua macchina sarà vulnerabile agli attacchi.
Se gestisci più macchine CentOS, l'aggiornamento manuale dei pacchetti di sistema potrebbe richiedere molto tempo. Anche se gestisci una singola installazione di CentOS, a volte potresti trascurare un aggiornamento importante. È qui che tornano utili gli aggiornamenti automatici.
In questo tutorial, esamineremo il processo di configurazione degli aggiornamenti automatici su CentOS 7. Le stesse istruzioni si applicano a CentOS 6.
Prerequisiti #
Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
Installazione del pacchetto yum-cron #
Il yum-cron
Il pacchetto consente di eseguire automaticamente il comando yum come cron job per verificare, scaricare e applicare gli aggiornamenti. È probabile che questo pacchetto sia già installato sul tuo sistema CentOS. Se non è installato puoi installare il pacchetto eseguendo il seguente comando:
sudo yum install yum-cron
Una volta completata l'installazione, abilita e avvia il servizio:
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
Per verificare che il servizio sia in esecuzione, digita il seguente comando:
systemctl status yum-cron
Le informazioni sullo stato del servizio yum-cron verranno visualizzate sullo schermo:
● 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
Configurazione di yum-cron #
yum-cron viene fornito con due file di configurazione che sono archiviati in /etc/yum
directory, il file di configurazione oraria yum-cron-hourly.conf
e il file di configurazione giornaliero yum-cron.conf
.
Il yum-cron
il servizio controlla solo se i lavori cron verranno eseguiti o meno. Il yum-cron
l'utilità è chiamata da /etc/cron.hourly/0yum-hourly.cron
e /etc/cron.daily/0yum-daily.cron
cron.
Per impostazione predefinita, il cron orario è configurato per non fare nulla. Se sono disponibili aggiornamenti, il cron giornaliero è impostato per scaricare ma non installare gli aggiornamenti disponibili e inviare messaggi a stdout. La configurazione predefinita è sufficiente per i sistemi di produzione critici in cui desideri ricevere notifiche ed eseguire l'aggiornamento manualmente dopo aver testato gli aggiornamenti sui server di prova.
Il file di configurazione è strutturato in sezioni e ogni sezione contiene commenti che descrivono cosa fa ogni riga di configurazione.
Per modificare il file di configurazione di yum-cron, apri il file nel tuo editor di testo:
sudo nano /etc/yum/yum-cron-hourly.conf
Nella prima sezione, [commands]
puoi definire i tipi di pacchetti che desideri aggiornare, abilitare messaggi e download e impostare l'applicazione automatica degli aggiornamenti quando sono disponibili. Per impostazione predefinita, il update_cmd
è impostato su predefinito che aggiornerà tutti i pacchetti. Se desideri impostare aggiornamenti automatici non presidiati, ti consigliamo di modificare il valore in security
che ti dirà di aggiornare i pacchetti che risolvono solo un problema di sicurezza.
Nell'esempio seguente abbiamo modificato update_cmd
a security
e abilitato gli aggiornamenti automatici impostando apply_updates
a yes
:
[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360
La seconda sezione definisce come inviare messaggi. Per inviare messaggi sia a stdout che a e-mail, cambia il valore di emit_via
a stdio,email
.
[emitters]
system_name = None
emit_via = stdio,email
output_width = 80
Nel [email]
sezione è possibile impostare l'indirizzo e-mail del mittente e del destinatario. Assicurati di avere uno strumento in grado di inviare e-mail installato sul tuo sistema, come mailx o postfix.
[email]
email_from = [email protected]
email_to = [email protected]
email_host = localhost
Il [base]
La sezione consente di sovrascrivere le impostazioni definite in yum.conf
file. Se desideri escludere pacchetti specifici dall'aggiornamento, puoi utilizzare exclude
parametro. Nell'esempio seguente, stiamo escludendo [mongodb
] pacchetto.
[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*
Non è necessario riavviare yum-cron
servizio per rendere effettive le modifiche.
Visualizzazione log #
Usa grep per verificare se i lavori cron associati a yum vengono eseguiti:
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
La cronologia degli aggiornamenti di yum è registrata in /var/log/yum
file. Puoi visualizzare gli ultimi aggiornamenti usando il comando 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