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)

Configurer l’agent WAPT

Le fichier de configuration C:\Program Files (x86)\wapt\wapt-get.ini contrôle le comportement de l’agent WAPT.

La section [global] est obligatoire :

[global]

Description des options possibles pour l’agent WAPT

Note

  • si les champs repo_url et wapt_server sont vides, le client WAPT ira chercher son dépôt en utilisant l’enregistrement SRV dans la zone dnsdomain ;

  • s’il n’y a pas de clé wapt_server dans la section [global], aucun serveur WAPT ne sera contacté ;

  • s’il n’y a pas d’attribut repo_url dans la section [global], il sera nécessaire de définir explicitement un dépôt dans une section [wapt], et de l’activer en l’ajoutant à la clé repositories de la section [global] ;

  • les dépôts activés sont listés dans le paramètres repositories de la section [global] ;

Description des options possibles pour l’agent WAPT

Options

Description

use_hostpackages = 1

Utiliser du paquet machine ou non (défaut 1).

waptupdate_task_period = 120

Fréquence d’update (120 minutes par défaut).

waptupgrade_task_period = 360

Fréquence d’upgrade (inactif par défaut).

waptservice_port = 8088

Port local HTTPS d’écoute du service WAPT.

dbpath = C:\Program Files(x86)\wapt\db\waptdb.sqlite

Path to the local database file.

loglevel = warning

Niveau de log de l’agent WAPT. Valeurs possibles : debug, info, warning, critical.

maturities = PROD

Liste des maturités de paquets qui peuvent être vus et installés par l’agent WAPT. La valeur par défaut est PROD. N’importe quelle valeur peut être utilisée.

use_fqdn_as_uuid = 1

Permet d’utiliser le nom FQDN plutôt que l’UUID BIOS comme identifiant unique de la machine dans WAPT.

waptupdate_task_period = 120

Définit la fréquence à laquelle l’agent vérifie s’il a des audits à faire.

loglevel = warning

Permet de définir la liste des langues de l’agent WAPT pour modifier la liste des paquets visibles par WAPT (pour le filtrage des paquets). Vous pouvez ajouter plusieurs langues (par exemple locales=fr,en) par ordre de préférence.

host_profiles = tis-firefox,tis-java

Défint une liste de paquets WAPT que l’agent WAPT doit installer.

language = en

Forcer la langue par défaut de la console graphique (ne s’applique pas au filtrage des paquets)

host_organizational_unit_dn = OU=TOTO,OU=TEST,DC=DEMO,DC=LAN

Allows you to force an Organizational Unit on the WAPT agent. (Convenient to assign a fake OU for out-of-domain PC) Make sure it respects a consistent case (don’t mix « dc »s and « DC »s, for example), which you can find in the console (in the DN/computer_ad_dn fields for each machine)

download_after_update_with_waptupdate_task_period = True

Définir si un téléchargement de paquets en attente doit être lancé après une mise à jour avec waptupdate_task_period

log_to_windows_events = False

Envoyer les logs wapt dans la fenêtre événements

service_auth_type = system

How the self service authentication works. Possible values are: system, waptserver-ldap or waptagent-ldap

uninstall_allowed = 1

Whether or not it is possible for the user to uninstall applications via the self-service.

Paramètres d’accès au serveur WAPT

Ces options définissent le comportement de l’agent WAPT lors de sa connexion avec le serveur WAPT.

Description des options possibles pour le serveur WAPT

Options

Description

wapt_server =

URL du serveur WAPT. Si pas présent, aucun serveur n’est contacté. Si vide, une recherche DNS est effectuée sur la zone dnsdomain.

dnsdomain =

Zone sur laquelle la recherche DNS SRV _waptserver._tcp est effectuée.

wapt_server_timeout = 10

Timeout en secondes lors de la tentative de connexion https vers le serveur

use_kerberos = 1

Utilisation de l’authentification Kerberos pour l’enregistrement sécurisé avec le serveur WAPT.

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

Voir la documentation pour activer la vérification des certificats HTTPS

public_certs_dir = C:\Program Files (x86)\wapt\ssl

Répertoire des certificats autorisés pour la vérification de _signature_ des paquets. Par défaut : <wapt_base_dir>\\ssl. Seuls les fichiers dans ce répertoire avec l’extension .crt ou .pem sont pris en compte. Il peut y avoir plusieurs certificats X509 dans chaque fichier. Les certificats de paquets autorisés sont ceux dont la signature peut être vérifiée par l’un des certificats contenus dans les fichiers PEM de ce répertoire. Chaque dépôt peut avoir son propre répertoire de certificats autorisés.

Utiliser plusieurs dépôts

D’autres sections peuvent être définies dans le wapt-get.ini pour définir d’autres dépôts.

  • [wapt]: dépôt principal. Options pertinentes: repo_url, verify_cert, dnsdomain, http_proxy, use_http_proxy_for_repo, timeout. Si cette section n’existe pas, les paramètres sont récupérés depuis la section [global] ;

  • [wapt-templates] : dépôt externe par défaut dans la console WAPT pour importer des nouveaux paquets ou des paquets mis à jour ;

  • [wapt-host]: dépôt pour les paquets machines. Si cette section n’existe pas, elle est extrapolée des paramètres du dépôt principal ;

Plus d’informations sur cet usage sont à découvrir dans cet article sur comment fonctionner avec de multiples dépôts publics ou privés.

Note

Les dépôts activés sont listés dans le paramètres repositories de la section [global].

Description des options possibles pour les dépôts

Options

Description

repositories = depot1,depot2

Liste des dépôts activés. Séparateur : virgule. Les valeurs désignent le nom de la section du fichier wapt-get.ini. Dans chaque section, on peut préciser repo_url, dnsdomain, public_certs_dir, http_proxy.

Note

Ce paramètre est également à définir dans la configuration de la console WAPT située dans C:\Users\%username%\AppData\Local\waptconsole\waptconsole.ini.

Pour plus d’informations, visitez la documentation sur la configuration de la console WAPT.

Paramètres pour waptexit

Description des options possibles pour WAPTexit

Options

Description

allow_cancel_upgrade = 1

Interdire à l’utilisateur d’annuler la mise à jour lors de l’extinction de sa machine.

pre_shutdown_timeout = 180

Temps d’attente maximum pour l’exécution des scripts à l’extinction.

max_gpo_script_wait = 180

Temps d’attente maximum pour l’application des GPO à l’extinction.

hiberboot_enabled = 0

Désactive Hiberboot pour utiliser waptexit sur Windows 10.

Paramètres pour le libre-service WAPT et l’authentification Waptservice

Description des options disponibles pour le libre-service WAPT et l’authentification Waptservice

Options

Description

waptservice_admin_filter = True

Appliquer le filtrage des paquets selfservice aux Administrateurs Locaux.

service_auth_type = system

Définit le système d’authentification du service wapt, les valeurs disponibles sont system, waptserver-ldap, waptagent-ldap.

ldap_auth_ssl_enabled = False

Utile avec waptagent-ldap, définit si la demande LDAP doit être chiffrée.

verify_cert_ldap = True

Utile avec waptagent-ldap, définit si le certificat doit être vérifié.

ldap_auth_base_dn = dc=domain,dc=lan

Utile avec waptagent-ldap, définit le dn de base pour la requête LDAP.

ldap_auth_server = srvads.domain.lan

Utile avec waptagent-ldap, définit le serveur LDAP à contacter.

waptservice_user = admin

Oblige un utilisateur à s’authentifier sur le service WAPT.

waptservice_password = 5e884898da

Mot de passe hashé sha256 hex lors de l’appel d’une fonction par un waptservice_user (la valeur NOPASSWORD permet de ne pas mettre de mot de passe).

Paramètres pour wapttray

Description des options possibles pour le WAPTtray

Options

Description

notify_user = 0

Empêche waptray d’envoyer des notifications (popup).

Paramètres proxy

Description des options possibles pour le serveur WAPT

Options

Description

http_proxy = http://user:pwd@host_fqdn:port

Adresse du proxy HTTP à utiliser

use_http_proxy_for_repo = 0

Utiliser un proxy pour accéder aux dépôts.

use_http_proxy_for_server = 0

Utiliser un proxy pour accéder au serveur WAPT.

use_http_proxy_for_templates = 0

Utiliser un proxy pour accéder au serveur de modèles de paquets.

Paramètres pour la création de paquets

Description des options possibles pour créer des paquets WAPT

Options

Description

personal_certificate_path = C:\private\org-codeur.crt

Chemin de la clé privée de l’Administrateur.

default_sources_root = C:\waptdev

Répertoire de développement des paquets.

default_sources_root_host = C:\waptdev\hosts

Répertoire de développement des paquets hosts.

default_package_prefix = tis

Préfixe des paquets par défaut ou des paquets importés.

default_sources_suffix = wapt

Préfixe des paquets par défaut ou des paquets importés.

Paramètres pour les WAPT Windows Updates

Se référer à cet article sur la configuration de WAPTWUA pour l’agent WAPT.

Paramètres de surcharge des commandes upload

Il est possible de surcharger les commandes upload pour définir un comportement particulier lors de l’envoi des paquets. On pourrait par exemple envoyer le paquet sur plusieurs dépôts, via un autre protocole, etc.

Pour téléverser le paquet hôte sur le serveur (upload-package ou build-upload d’un paquet machine), utiliser :

upload_cmd="C:\\Program Files (x86)\\WinSCP\\WinSCP.exe" admin@srvwapt.mydomain.lan /upload %(waptfile)s

Pour téléverser le paquet hôte sur le serveur (upload-package ou build-upload d’un paquet machine), utiliser :

upload_cmd_host="C:\\Program Files (x86)"\\putty\\pscp -v -l admin %(waptfile)s srvwapt.mydomain.lan:/var/www/wapt-host/

Pour à exécuter après l”upload :

after_upload="C:\\Program Files (x86)"\\putty\\plink -v -l admin srvwapt.mydomain.lan "python /var/www/wapt/wapt-scanpackages.py /var/www/%(waptdir)s/"

Configurer les agents WAPT

Lors de l’installation les paramètres par défaut sont :

[global]
waptupdate_task_period=120
waptserver=https://srvwapt.mydomain.lan
repo_url=https://srvwapt.mydomain.lan/wapt/
use_hostpackages=1

Modifier le wapt-get.ini et regénérer un agent ne suffit pas à pousser une nouvelle configuration.

Vous pouvez en revanche faire un paquet WAPT qui va pousser la nouvelle configuration.

Le paquet exemple est présent dans le dépôt Tranquil IT : https://store.wapt.fr/wapt/tis-wapt-conf-policy_6_f913e7abc2f223c3e243cc7b7f95caa5.wapt :

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():

  print('Modify max_gpo_script_wait')
  inifile_writestring(WAPT.config_filename,'global','max_gpo_script_wait',180)

  print('Modify Preshutdowntimeout')
  inifile_writestring(WAPT.config_filename,'global','pre_shutdown_timeout',180)

  print('Disable Hyberboot')
  inifile_writestring(WAPT.config_filename,'global','hiberboot_enabled',0)

  print('Disable Notify User')
  inifile_writestring(WAPT.config_filename,'global','notify_user',0)