Un des points les plus importants pour améliorer la sécurité de votre système GNU/Linux est d'être sûr d'appliquer les correctifs de sécurité fournis par votre distribution.

Si vous administrez une distribution sous Debian stable, ces mises à jours sont peu fréquentes. Néanmoins, elles peuvent survenir de manière inopinée. Cette année, il y a eu ShellShock et quelques problèmes sur OpenSSL. Bien entendu, si vous faîtes un peu de veille technologique, vous serez au courant. Pour autant, difficile de se concentrer sur toutes les failles de sécurité qui concernent vos machines de production qui peuvent avoir des paquets différents d'une machine à l'autre.

Certains diront qu'on peut configurer des mises à jour automatiques sans interaction. Pourtant, sur des machines de production, je ne recommande pas cette stratégie. En effet, une machine de production doit être stable et la mise à jour des paquets doit se faire uniquement après des tests concluants. Sous Debian, il est très rare qu'une mise à jour de sécurité pose problème mais ça peut arriver et là, c'est le drame.

Le vrai défi est donc d'avoir une alerte qui indique lorsqu'il y a une mise à jour et ensuite, on peut réaliser les tests sur des machines de pré-production pour voir s'il n'y a pas de régressions. Donc, ce qu'on veut, c'est juste avoir l'information qu'une mise à jour existe et non d'appliquer aveuglément la mise à jour.

Une des solutions que j'ai retenue pour ce problème est d'utiliser le paquet apticron. Ce dernier est un simple script cron qui se lance tous les jours et qui va réaliser un apt-get update et voir s'il y a des paquets à installer. Si c'est le cas, il vous envoie un mail. Le principe est donc simple et très efficace.

Sa mise en oeuvre l'est également. Il suffit d'installer le paquet apticron de la manière suivante:

# aptitude install -R apticron

Par défaut, apticron recommande apt-listchanges mais à l'usage, ce paquet n'est pas nécéssaire. Voilà pourquoi je fais une installation minimaliste.

Ensuite, il faut juste renseigner l'adresse email qui va recevoir l'alerte dans le fichier de configuration situé dans /etc/apticron/apticron.conf:

# apticron.conf
#
# set EMAIL to a space separated list of addresses which will be notified of
# impending updates
#
EMAIL="mederic.ribreux@medspx.fr"
...

Le reste du fichier de configuration sert à customiser un peu le comportement d'apticron ou le contenu du mail qui sera envoyé. Pour ma part, je n'ai rien changé.

Une fois mis en service, le script cron est disponible dans /etc/cron.d/apticron. Son contenu est très simple à comprendre:

44 * * * * root if test -x /usr/sbin/apticron; then /usr/sbin/apticron --cron; else true; fi

Toutes les heures, lors de la 44ème minute, le script se lance. Par défaut, l'option --cron permet à apticron de ne pas envoyer de courriel plus d'une fois par jour. Cette configuration par défaut me convient bien.

A chaque mise à jour disponible sur les paquets de mes machines, je reçois une alerte par courrier électronique. Après, c'est à moi de voir ce que je dois faire... Mais au moins, j'ai l'information dans un délai raisonnable.