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)

Activer la vérification du certificat SSL / TLS

Lorsque le script post-configuration est lancé sur le serveur WAPT, le script va générer un certificat auto-signé afin d’activer les communications HTTPS.

L’agent WAPT vérifie que le certificat du serveur renseigné dans l’option verify_cert de la section [global] dans le fichier C:\Program Files (x86)\wapt\wapt-get.ini corresponde.

Options pour « verify_cert »

Options pour « verify_cert »

Principe de fonctionnement de l’agent WAPT

verify_cert = 0

l’agent WAPT ne vérifiera pas le certificat HTTPS du serveur WAPT

verify_cert = 1

l’agent WAPT vérifiera le certificat HTTPS du serveur avec le bundle de certificats C:\Program Files (x86)\wapt\lib\site-packages\certifi\cacert.pem

verify_cert = C:\Program Files (x86)\wapt\ssl\srvwapt.mydomain.lan.crt

l’agent WAPT vérifiera le certificat HTTPS du serveur WAPT avec le bundle de certificats C:\Program Files (x86)\wapt\ssl\srvwapt.mydomain.lan.crt

Indication

Pour activer rapidement et simplement la vérification du certificat htts, vous pouvez utiliser la méthode d”Épinglage

Épingler le certificat

L”épinglage de certificat consiste à vérifier le certificat SSL/ TLS à l’aide de la définition d’un paquet bien défini et restrictif.

Indication

Cette méthode est la plus simple concernant les certificats auto-signés.

Pour cela, vous aurez besoin de lancer la commande suivante dans la console Windows cmd.exe (avec élévation de privilèges si les UAC sont activées).

Si vous avez déjà une console Windows cmd.exe d’ouverte, fermez-là et ouvrez-en une nouvelle afin de prendre en compte la mise à jour des variables d’environnement:

wapt-get enable-check-certificate
net stop waptservice
net start waptservice

Validez le certificat avec wapt-get update

Lorsque vous avez exécuté la commande update, assurez-vous que tout ce soit bien déroulé et en cas de doute, vérifiez Problème lors du enable-check-certificate.

Note

  • La commande enable-check-certificate va télécharger le certificat srvwapt.mydomain.lan.crt dans le dossier C:\Program Files (x86)\WAPT\ssl\server;

  • cela va alors modifier le fichier wapt-get.ini avec de spécifiée la valeur verify_cert = C:\Program Files (x86)\wapt\ssl\server\srvwapt.mydomain.lan.crt;

  • l’agent WAPT va désormais vérifier les certificats en utilisant le certificat épinglé;

Attention

Si vous utilisez la méthode d”épinglage de certificat, n’oubliez pas de sauvegarder le dossier /opt/wapt/waptserver/ssl sur votre serveur WAPT.

Le fichier devra être restauré sur votre serveur si vous migrez ou mettez à jour votre seveur WAPT, si vous voulez que les agents WAPT continuent d’avoir une connexion HTTPS sécurisée.

Comment utiliser le ou les certificat(s) founi(s) par votre organisation ?

Si la méthode d’épinglage ne vous convient pas, vous pouvez remplacer le certificat auto-signé généré pendant l’installation de WAPT.

Remplacez l’ancien certificat avec le nouveau dans le dossier /opt/wapt/waptserver/ssl/ (linux) ou c:\wapt\waptserver\ssl\ (windows).

La nouvelle paire de clé doit être une PEM encodée en Base64

Note

Cas spécifique où votre certificat a été signé par un Certificat d’Authorité interne

Les certificats issus d’un Autorité de Certification interne doit avoir la chaîne complète jusqu’au Autorité de Certification.

Vous pouvez ajouter la chaîne du Certificat d’Authorité manuellement au certificat qui sera utilisé par Nginx. »

Exemple : echo srvwapt.mydomain.lan.crt ca.crt > cert.pem

Pour les serveurs Linux, il est nécessaire d’aussi réinitialiser les ACLs:

#Debian:
chown root:www-data /opt/wapt/waptserver/ssl/*.pem

#Centos:
chown root:nginx /opt/wapt/waptserver/ssl/*.pem
  • redémarrer Nginx pour qu’il prenne en compte les nouveaux certificats;

    • Linux:

      systemctl restart nginx
      
    • Windows:

      net stop waptnginx
      net start waptnginx
      

Configurer l’agent WAPT

Pour un certificat commercial, vous pouvez paramétrer verify_cert = 1 dans wapt-get.ini.

Pour un certificat issu d’un Certificat d’Authorité interne, vous devez placer le certificat dans le dossier C:\Program Files (x86)\wapt\ssl\server\ca.crt et renseigner le chemin du certificat dans verify_cert dans le wapt-get.ini. de l’agent.

Pour appliquer la nouvelle configuration à tout votre parc, vous pouvez regénérer unagent WAPT avec les options appropriées.

Vérifier les certificats dans la console WAPT

Lorsque la console WAPT se lance pour la première fois, elle va lire le contenu de C:\Program Files (x86)\WAPT\wapt-get.ini et va créer son fichier de configuration dans C:\Users\admin\AppData\Local\waptconsole\waptconsole.ini.

Cela va configurer correctement l’attribut verify_cert pour les communications HTTPS entre la console WAPT et le serveur WAPT.