Mises à jour de sécurité

Gestion des mises à jour de sécurité (via apt, apt-get), manuellement ou automatiquement. Sous Debian, Mint, Ubuntu…

Avant propos, il existe un paquet qui gère les mises à jour de sécurité : unattended-upgrade, mais ici il sera présenté comment le faire avec apt ou apt-get puisque ces outils permettent de le faire.

Comme on parle de Debian et de Mint, faire attention au prompt # = Commande admin sous Mint et Ubuntu à préfixer d'un sudo

Sera d’abord présenté le processus manuel, puis son automatisation via cron-apt.

Installer manuellement les mises à jour de sécurité sur un système DEBIAN, Mint, Ubuntu avec apt-get ou apt...

Si en retour, vous avez un message “No packages found that can be upgraded unattended and no pending auto-removals”, c'est que le système est à jour, aucune mise à jour de sécurité n'a été trouvée.

Via apt-get, tout simplement

Pas de paquet tierce à installer. On travaille directement avec apt-get et grep pour filtrer les retours

Recherche des mises à jour de sécurité

# apt-get -s dist-upgrade | grep "^Inst" | grep -i securi

Pour installer ces mises à jour, on utilisera en plus l'utilitaire xargs

# apt-get -s dist-upgrade | grep "^Inst" | grep -i securi | awk -F " " {'print $2'} | xargs apt-get install

Via apt

La recherche

# apt list --upgradable | grep -e "-security"

# L'installation

# apt list --upgradable | grep -e "-security" | awk -F "/" '{print $1}' | xargs apt install

Automatisation des mises à jour de sécurité

Dans un premier temps, installer cron-apt

# apt-get install cron-apt

Récupérer dans les repo d’apt les entrées des mises à jour de sécurité uniquement

$ find /etc/apt -type f -name '*.list' | xargs cat | grep -v \"^#\" | grep security

A partir de cela, on va créer un fichier spécifique pour apt ne contenant que les mises à jour de sécurité.

# find /etc/apt -type f -name '*.list' | xargs cat | grep -v \"^#\" | grep security > /etc/apt/sources.list.d/security-updates-only.list

On va positionner un cron d’apt dessus.

Créer dans : /etc/cron-apt/action.d/ un fichier se nommant : 5-security-update-only

Avec le contenu suivant :

upgrade -y -o APT::Get::Show-Upgraded=true OPTIONS="-o quiet=1 -o APT::Get::List-Cleanup=false -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security-updates-only.list -o Dir::Etc::SourceParts=\"/dev/null\" MAILTO=\"vote-mail@ici.ext\" MAILON=\"always\""

Et hop, c’est joué !

Pour modifier l’horaire des mises à jour, ça se passe dans /etc/cron.d/cron-apt :

# Every night at 4 o'clock. 0 4 * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt

A modifier si vous souhaitez un horaire ou une fréquence différents