mercoledì 3 settembre 2014

Security update automatico su Debian e CentOS

Dato che sono diventato pigro ed i server sono aumentati ho deciso di mettere l'aggiornamento automatico sulle macchine CentOS e Debian. Cio' che volevo evitare usando un sistema automatico era quello di avere aggiornamenti non di sicurezza che possono compromettere le applicazioni in uso
Con l'ultima versione di CentOS7 e qualche modifica su Debian adesso e' decisamente fattibile

CentOS
per attivare l'aggiornamento automatico su CentOS si deve installare il pacchetto yum-cron
yum install yum-cron

la configurazione si effettua mediante /etc/yum/yum-cron.conf
l'aspetto nuovo di CentOs 7 e' la possibilita' di selezionare l'aggiornamento dei soli pacchetti di sicurezza modificando update_cmd
Per l'installazione automatico si porta su yes apply_updates

Comoda e' la possibilita' di impostare una mail a cui inviare i messaggi
Per attivare yum-cron si digita

systemctl start yum-cron.service
per verifica lo stato del servizio
systemctl status yum-cron.service
---------------------------------------------------------------------------

Debian
Per Debian ho usato la guida di questo sito
in pratica si deve creare il file /etc/cron-apt/action.d/5-security ed aggiungere

upgrade -y -o APT::Get::Show-Upgraded=true

creare il file /etc/cron-apt/config.d/5-security  ed aggiungere
OPTIONS="-o quiet=1 --no-list-cleanup -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts=\"/dev/null\""

creare il file /etc/apt/sources.list.d/security.list ed aggiungere

deb http://security.debian.org/ wheezy/updates main deb-src 
http://security.debian.org/ wheezy/updates main


a questo punto il cron e' settato per le 4 di notte (si modifica da /etc/cron.d/)
si puo' comunque forzare mediante cron-apt

di seguito il risultato su /var/log/cron-apt/log
-----------------------------------------------------------------
root@debian:/etc/cron.d# tail /var/log/syslog
Sep  3 11:48:28 debian cron-apt: CRON-APT LINE: /usr/bin/apt-get -o quiet=1 --no-list-cleanup -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts="/dev/null" upgrade -d -y -o APT::Get::Show-Upgraded=true
Sep  3 11:48:28 debian cron-apt: Reading package lists...
Sep  3 11:48:28 debian cron-apt: Building dependency tree...
Sep  3 11:48:28 debian cron-apt: Reading state information...
Sep  3 11:48:28 debian cron-apt: The following packages will be upgraded:
Sep  3 11:48:28 debian cron-apt:   liblua5.1-0
Sep  3 11:48:28 debian cron-apt: 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Sep  3 11:48:28 debian cron-apt: Need to get 0 B/185 kB of archives.
Sep  3 11:48:28 debian cron-apt: After this operation, 32.8 kB disk space will be freed.
Sep  3 11:48:28 debian cron-apt: Download complete and in download only mode