Application automatique des mises à jour de sécurité

Une mésaventure m’est arrivée ce matin sur ma VM hebergeant un site LAMP avec une installation TURNKEY. J’avais activé les mise à jour automatique de sécurité en voulant m’éviter d’aller manuellement faire des “apt-get dist-upgrade” quand apticron m’alerte par mail.

Ce matin Jetpack me previent que mon site est indisponible. Rien d’affolant jusque là car je n’ai jamais eu le temps de régler l’installation pour la charge attendue etde temps à autre, linux tue mes processus mysql. C’est vrai que je suis plus famillier des applications Java que Php.

Le message qui s’affichait était un habituel “Erreur de connexion à la base de données”. Dans ce cas je fait un tour sur la VM à la recherche du status du service mysql. Et la c’est le drame ! Pas de service mysql enregistré. Un tour dans /var/log/message pour constater que le paquet mysql avait été désinstallé! Par qui ? par quoi ? un hacker ?

La trace indique que c’est cron-apt qui a lancé la suppression et en allant voir l’historique des commande dans /var/log/apt/history.log je vois:

Start-Date: 2018-11-20 04:54:11
Commandline: /usr/bin/apt-get -o quiet=1 dist-upgrade -q -y -o APT
:Get::Show-Upgraded=true -o Dir::Etc::sourcelist=/etc/apt/sources.
ist.d/security.sources.list -o Dir::Etc::sourceparts=nonexistent –
DPkg::Options::=–force-confdef -o DPkg::Options::=–force-confol
Upgrade: mariadb-common:amd64 (10.1.26-0+deb9u1, 10.1.37-0+deb9u1)
mariadb-server-core-10.1:amd64 (10.1.26-0+deb9u1, 10.1.37-0+deb9u
), mariadb-client-core-10.1:amd64 (10.1.26-0+deb9u1, 10.1.37-0+deb
u1)
Remove: mysql-server:amd64 (5.5.9999+default), mariadb-server-10.1
amd64 (10.1.26-0+deb9u1), default-mysql-server:amd64 (1.0.2), mari
db-client-10.1:amd64 (10.1.26-0+deb9u1)
End-Date: 2018-11-20 04:56:13

Je ne suis pas absolument sûr que c’est la mise à jour automatique de sécurité qui est la seule en cause ou bien si c’est une mauvaise configuration entre turnkey et les dépôt de debian mais en tout depuis cette mise à jour de la version 10.1.26 vers la 10.137 je n’ai plus de BDD.

Encore quelques heures à passer dans l’administration du système…

update1: une mise installation manuelle par un apt-get install mariadb-server remet tout en ordre

update2: un mail de la part de turnkey indique la marche officielle pour correction. //www.turnkeylinux.org/blog/debian-secupdate-breaks-lamp-server

Avec le libre les problèmes sont pris en compte rapidement.

Virtual Appliance ou Software Appliance

Les solutions de virtualisation font désormais partie du quotidien de tout administrateur système cherchant à rationaliser l’utilisation de ses ressources matérielles et logistiques. Ainsi pour des raisons de place et de coût de fonctionnement (consommation électrique et refroidissement) l’utilisation d’outils tel que VMWare est une alternative avantageuse à l’achat de nouvelle machine.

Un OS virtualisé reste cependant un système qu’il faut administrer. Il faut toujours le maintenir et installer des logiciels. La virtualisation utilisée tel quel ne réduit pas le coût de maintenance c’est-à-dire le coût lié à l’administration. Il y certes moins de serveur physique mais toujours autant de serveur virtuel. Mon expérience professionnelle m’a d’ailleurs montré que les systèmes virtualisés peuvent être de sérieux goulots d’étranglement et ne sont à priori pas à destiner à des usages lourds (nombreux utilisateurs, base de données…) si l’on multiplie les applications pour une même machine virtuelle. C’est une évidence: du multi-tâche virtualisé sera moins performant qu’en natif. La solution serait de multiplier les machines virtuelles pour séparer les applications mais alors on augmente la charge de la machine hôte qui doit gérer plus de machines virtuelles et qui doit supporter la charge d’autant d’OS invité. Si la puissance machine (CPU, Mémoire) n’est pas un problème, il restera encore le coût d’administration du nouveau serveur virtuel.

C’est là qu’interviennent les “Virtual Appliance” qui sont des machines virtuelles toutes prêtes que l’on peut ajouter dans une machine hôte. Ainsi si on a besoin d’un serveur pour une application donnée, il est inutile d’installer un OS puis l’application et de configurer l’ensemble pour commencer à utiliser l’application. Il y 2 philosophies. La première celle de VMWare qui fournit des “Virtual Appliance” sous la forme de machine virtuelle à ajouter dans un VMWare. La seconde celle de Turnkey qui propose une image ISO utilisable directement sur une machine physique ou dans une machine virtuelle quelconque. Ainsi Turnkey propose des “Virtual Appliance” pour différente configuration comme par exemple Tomcat ou WordPress. L’image ISO est en réalité un disque d’installation du système basé sur Ubuntu qui va installer l’application configurer prêt à l’emploi.

Personnellement,  je préfère VirtualBox comme application de virtualisation qui a l’avantage d’être disponible dans le dépôt officiel d’Ubuntu. Il suffit de créer une machine virtuelle de type Linux/Ubuntu  puis de choisir une configuration réseau “réseau privé hôte” qui autorisera l’acces à la VM depuis l’OS hôte. L’installation de l’OS invité se fait en moins de 5 minutes depuis une ISO prise sur le site de Turnkey et on a alors accès en http/ssh au serveur virtuel. Il est alors tellement facile d’avoir un serveur dédié totalement configuré que l’on s’habitue vite à ne plus avoir à s’occuper d’administration de son OS principal: plus de téléchargement de paquetd, plus de configuration de base de données, plus de modification de port ou de redirection apache à faire. Pour 5 minutes on a une IP sur laquelle répond l’application que l’on veut utiliser. Il suffit juste d’avoir de la puissance processeur et de la mémoire. Avec les beaux jours fleurissent les serveurs virtualisés dédié….