Attention : le support de WAPT 1.8.2 a pris fin le 30 juin 2022.

Il y a plusieurs vulnérabilité présente dans la branche WAPT 1.8.2.7393. Merci de mettre à jour sur la version supportée la plus récente. Liste des CVEs (non exhaustive) :
  • * python engine : python 2.7 (CVE-2020-10735, CVE-2015-20107, CVE-2022-0391, CVE-2021-23336, CVE-2021-3177, CVE-2020-27619, CVE-2020-26116, CVE-2019-20907, CVE-2020-8492, etc.)
  • * cryptography : openssl : CVE-2022-2068, CVE-2022-1292, CVE-2022-0778, CVE-2021-4160, CVE-2021-3712, CVE-2021-23841, CVE-2021-23840, CVE-2021-23839, CVE-2020-1971, CVE-2020-1968, CVE-2019-1551
  • * python dependencies : cryptography (CVE-2020-36242, CVE-2020-25659), eventlet (CVE-2021-21419), jinja2 (CVE-2020-28493), psutil (CVE-2019-18874), waitress (CVE-2022-31015), lxml (CVE-2021-4381, CVE-2021-28957, CVE-2020-27783, CVE-2018-19787), ujson (CVE-2022-31117, CVE-2022-31116, CVE-2021-45958), python-ldap (CVE-2021-46823)

Définir un mot de passe sur la clé privée

La console a perdu le chemin vers sa clé privée, c’est normal dans la version 1.3, la console pointait vers la clé privée. Depuis la version 1.5, la console pointe vers le certificat associé à la clé.

Rendez-vous donc dans Outils ‣ Préférences ‣ Chemin du certificat personnel et sélectionner le certificat issue de votre clé privée existante :

Select the private key certificate

Sélectionner le certificate de la clé privée

WAPT 1.6 nécessite un mot de passe sur la clé privée utilisée pour la signature des paquets et des actions.

Dans la console, aller dans Outils ‣ Changer le mot de passe de la clé privée puis sélectionnez votre certificat et choisissez un mot de passe pour la clé privée.

Générer un certificat Code Signing

WAPT 1.6 différencie maintenant les certificats Code Signing des certificats SSL simples.

Il faut donc regénérer un nouveau certificat Code Signing.

Par défaut, WAPT 1.6 Community Edition génère des certificats Code Signing autosignés.

Vous devez vous assurer que l’ancien certificat C:privatewapt-private.crt et la clé C:privatewapt-private.pem sont présents dans C:private.

Attention

Pour permettre l’installation des paquets sur les ordinateurs de l”Organisation, il faudra donc resigner tous les paquets en utilisant un certificat Code Signing.

Pour créer ce certificat, dans la console WAPT aller dans Outils ‣Générer un Certificat.

Code Signing certificate

Certificat Code Signing

Note

Normalement, vous n’avez pas à recréer une nouvelle clé. Seul le certificat sera changé. Dans chemin de la clé, vous devez indiquer votre clé C:privatewapt-private.pem.

Attention

Ne modifiez pas les informations du certificat. Si cette information est modifée, la mise à jour 1.3.13 vers 1.6 ne pourra pas être faite avec WAPT et le paquet waptupgrade ne fonctionnera pas !

La console vous demande maintenant si ce nouveau certificat doit être ajouté dans le dossier ssl de l’agent WAPT, vous pouvez accepter.

Maintenant que vous avez généré votre nouvelle clé, vous devez à nouveau modifier le chemin vers le certificat personnel. La console doit maintenant pointer vers ce nouveau certificat.

Rendez-vous donc dans Outils ‣ Préférences ‣ Chemin du certificat personnel et sélectionner le certificat issue de votre clé privée existante :

New Code Signing certificate

Nouveau certificat Code Signing

Vous pouvez maintenant supprimer l’ancien certificat.

Re-signer les paquets du dépôt

Les paquets 1.3.13 doivent être re-signés avec la nouvelle procédure 1.6 qui intègre le certificat Code-Signing dans le paquet et utilise l’algorithme de hachage sha256.

Linux

Transférer temporairement votre clé privée (.pem) et le certificat Code-Signing (.crt) sur le serveur WAPT en utilisant WinSCP ou un utilitaire équivalent.

Temporarily upload your Code Signing certificate on the WAPT server

Téléchargez temporairement votre certificat Code Signing sur le serveur WAPT

Se connecter en SSH sur le serveur, re-signer les paquets base en précisant le chemin du certificat :

PYTHONPATH=/opt/wapt PYTHONHOME=/opt/wapt python /opt/wapt/wapt-signpackages.py -i -s --message-digest=sha256,sha1 -c /root/wapt-private-20180312-1522.crt /var/www/wapt/*.wapt

Indication

Le mot de passe SuperAdmin du serveur est demandé pour accéder à la base de données pour établir la correspondance entre les FQDN et les UUID.

Renommer les paquets machine au format de nommage UUID :

PYTHONPATH=/opt/wapt PYTHONHOME=/opt/wapt python /opt/wapt/waptserver/scripts/migrate-hosts.py  -C /root/wapt-private-20180312-1522.crt  -K /root/wapt-private.pem

Note

La clé privée étant désormais protégée par un mot de passe, le mot de passe est demandé pour re-signer les paquets.

Attention

N’oubliez pas de SUPPRIMER la clé (.pem) du serveur après avoir re-signé les paquets !

Windows

Se connecter en SSH sur le serveur, re-signer les paquets base en précisant le chemin du certificat :

wapt-signpackages -i -s --message-digest=sha256,sha1 -c C:\private\wapt-private-20180312-1522.crt C:\wapt\waptserver\repository\wapt\*.wapt

Indication

Le mot de passe SuperAdmin du serveur est demandé pour accéder à la base de données.

Renommer les paquets host au format de nommage UUID :

"C:\wapt\waptserver\scripts\migrate-hosts.bat" -C C:\private\wapt-private-20180312-1522.crt -K C:\private\wapt-private.pem

Note

La clé privée étant désormais protégée par un mot de passe, le mot de passe est demandé pour re-signer les paquets.

Attention

N’oubliez pas de SUPPRIMER la clé (.pem) du serveur après avoir re-signé les paquets !

Générer la table des dépendances groupe

Dans la version 1.3 de WAPT, le filtrage par groupe était effectué en parcourant le fichier Packages du dossier wapt-host du serveur.

Pour des raisons de performance, ce filtrage est maintenant géré en parcourant une table PostgreSQL. Cette table sera alimentée au fur et à mesure en version WAPT 1.6.

Pour regénérer rapidement cette table, l’astuce consiste a créer un groupe mig-temp dans WAPT.

Vous pouvez ensuite appliquer le paquet mig-temp à tous les clients WAPT depuis la console WAPT (CTRL+A dans l’inventaire, puis Clic droit ‣ Ajouter en dépendance et sélectionnez le paquet mig-temp).

Faire l’opération inverse. (CTRL+A dans l’inventaire, puis Clic-droit ‣ Supprimer des dépendances et sélectionner mig-tempo).

Le filtrage groupe devrait à nouveau fonctionner.

Mettre à jour les clients WAPT

Vous pouvez maintenant suivre la procédure pour créer l’agent WAPT !!

Attention

Le changement de branche modifie le mode de signature.

Si vous mettez à jour depuis la version 1.3.13, le paquet waptupgrade devrait s’installer correctement si vous cochez la case signer waptupgrade en sha256 ET sha1 lors de la génération de l’agent wapt.

Si vos agents sont dans une version inférieure à 1.3.13, le paquet waptupgrade ne fonctionnera pas.

Vous pouvez mettre en place une GPO waptdeploy pour déployer le nouvel agent WAPT sur votre parc.

Lancer l’installation de waptupgrade sur les clients

Dans la version 1.6 il n’est plus possible de contacter les clients < 1.6 depuis la console WAPT.

Pour vous permettre de lancer l’installation du paquet waptupgrade sur les 1.3 nous avons prévu un petit script.

Linux

Vous pouvez donc lancer ce script :

/opt/wapt/waptserver/trigger_action.sh prefix-waptupgrade

Windows

Vous pouvez donc lancer ce script :

"C:\wapt\waptserver\trigger_action.bat" prefix-waptupgrade