Attention : le support de WAPT 2.1 a pris fin le 10 jangiver 2023.

Merci de mettre à jour sur la version supportée la plus récente

Configuration avancée de l’agent

Le fichier de configuration wapt-get.ini définit le comportement de l’agent WAPT.

Emplacement du wapt-get.ini par le système

Système

Localisation

Windows

C:\Program Files(x86)\wapt\wapt-get.ini

Linux

/opt/wapt/

Mac OS

/opt/wapt/

La section [global] est obligatoire.

[global]

Après l’installation standard, la configuration par défaut est la suivante :

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

Tous les paramètres ne sont pas disponibles lors de la génération de l’agent. Il est possible de faire des changements dans wapt-get.ini manuellement ou en déployant un paquet WAPT avec les nouveaux paramètres de configuration.

Un exemple de paquet est disponible dans le dépôt Tranquil IT :

https://store.wapt.fr/store/tis-wapt-conf-policy

# -*- 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)

  print('Reload WAPT configuration')
  WAPT.reload_config_if_updated()

La définition de la fonction inifile_writestring est :

inifile_writestring(inifilename,section,key,value)

Description des sections disponibles

Description des sections disponibles pour l’agent WAPT

Section

Description

[global]

Options de l’agent global.

[wapt]

Options du dépôt principal.

[wapt-template]

Options du dépôt externe à distance.

[wapt-host]

Dépôt pour les paquets de l’hôte options.

[waptwua]

Options de l’agent WUA.

[repo-sync]

Options de dépôt multiple.

Toutes les sections sont détaillées ci-dessous.

Description des options disponibles par section

[global]

Paramètres généraux

Description des options disponibles pour l’agent WAPT sur la section globale

Options / Valeur par défaut

Description

Exemple

Fonctionnalité WAPT Enterprise uniquement allow_remote_reboot = False

Permet de redémarrer les hôtes à distance à partir de la console WAPT (par défaut False).

allow_remote_reboot = True

Fonctionnalité WAPT Enterprise uniquement allow_remote_shutdown = False

Permet d’arrêter l’hôte à distance depuis la console WAPT (par défaut False).

allow_remote_reboot = True

check_certificates_validity = False

Force la vérification de la date et de la CRL du certificat du paquet.

check_certificates_validity = True

dbpath = WAPT root dir)\wapt\db\waptdb.sqlite

Chemin d’accès au fichier de la base de données locale.

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

download_after_update_with_waptupdate_task_period = True

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

download_after_update_with_waptupdate_task_period = False

Fonctionnalité WAPT Enterprise uniquement host_organizational_unit_dn = None

Permet de forcer une unité organisationnelle sur l’agent WAPT (pratique pour attribuer un fake OU pour un PC hors-domaine). Assurez-vous qu’il respecte une casse cohérente (ne pas mélanger les « dc « s et les « DC « s, par exemple), que vous pouvez trouver dans la console (dans les champs DN/computer_ad_dn pour chaque hôte)

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

Fonctionnalité WAPT Enterprise uniquement host_profiles = non défini

Permet de définir une liste de paquets WAPT que l’agent WAPT doit installer.

host_profiles = tis-firefox,tis-java

language = langue par défaut sur le client

Force la langue par défaut pour l’interface graphique (pas pour le filtrage des paquets)

language = fr

locales = locale par défaut sur le client

Permet de définir la liste des langues de l’agent WAPT pour pré-filtrer la liste des paquets visibles par l’agent WAPT (pour le filtrage des paquets). Le paramètre accepte plusieurs entrées (par exemple, locales=fr,en) ordonnées par préférence.

locales = en

log_to_windows_events = False

Envoie les journaux WAPT dans le journal des événements de Windows.

log_to_windows_events = True

loglevel = warning

Niveau de journalisation de l’agent WAPT. Les valeurs possibles sont : debug, info, warning, critical.

loglevel = critical

maturities = PROD

Liste des maturités de paquets qui peuvent être visualisées et installées par l’agent WAPT. La valeur par défaut est PROD. Seules les valeurs DEV, PREPROD et PROD sont utilisées par Tranquil IT, cependant toute valeur peut être utilisée pour s’adapter à vos processus internes.

maturities = PROD,PREPROD

repo_url = l’adresse de votre dépôt WAPT

Adresse du dépôt principal de WAPT.

repo_url = https://srvwapt.mydomain.lan/wapt

repositories = None

Liste des dépôts activés, séparés par une virgule. Chaque valeur définit une section du fichier wapt-get.ini. Plus d’info ici.

repositories = dépôt1, dépôt2

send_usage_report = True

Permet à la console WAPT d’envoyer des statistiques anonymes à Tranquil IT. Mettre à 0 pour désactiver la télémétrie.

send_usage_report = True

service_auth_type = system

Comment fonctionne l’authentification du self-service. Les valeurs possibles sont : system, waptserver-ldap ou waptagent-ldap

service_auth_type = waptserver-ldap

Fonctionnalité WAPT Enterprise uniquement uninstall_allowed = True

S’il est possible ou non pour l’utilisateur de désinstaller des applications via le self-service.

uninstall_allowed = False

Fonctionnalité WAPT Enterprise uniquement use_ad_groups = False

Pour l’utilisation de paquet groupe (par défaut False).

use_ad_groups = True

use_fqdn_as_uuid = False

Permet d’utiliser le FQDN plutôt que l’UUID du BIOS comme identifiant unique de la machine dans WAPT (par défaut False).

use_fqdn_as_uuid = True

use_hostpackages = False

Utilisez paquets host (par défaut False).

use_hostpackages = True

Fonctionnalité WAPT Enterprise uniquement use_repo_rules = False

Pour utiliser les dépôts secondaires (par défaut False).

use_repo_rules = True

waptaudit_task_period = None

Définit la fréquence à laquelle les audits sont déclenchés.

waptaudit_task_period = 120

wapt_server = None

URL du serveur WAPT. Si cet attribut n’est pas présent, aucun serveur WAPT ne sera contacté.

wapt_server = https://srvwapt.mydomain.lan

waptservice_port = 8088

Loopback de l’agent WAPT. Il n’est pas accessible depuis le réseau.

waptservice_port = 8080

waptupdate_task_period = 120m

Fréquence de mise à jour (120 minutes par défaut).

waptupdate_task_period = 24h

waptupgrade_task_period = None

Fréquence de mise à niveau

waptupgrade_task_period = 360

Note

  • S’il n’y a pas d’attribut repo_url, un dépôt dans la section [wapt] devra être explicitement défini. Il devra être activé en l’ajoutant à l’attribut repositories.

  • S’il n’y a pas d’attribut wapt_server, aucun serveur WAPT ne sera utilisé.

Paramètres du serveur

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

Description des options disponibles pour l’agent WAPT dans la section [globale] pour la configuration du serveur

Options / Valeur par défaut

Description

Exemple

public_certs_dir = None

Dossier des certificats autorisés à vérifier la signature des paquets WAPT.

public_certs_dir = C:\Program Files (x86)\wapt\ssl (sous Windows) public_certs_dir = /opt/wapt/ssl/ (sous Linux et MacOS)

use_kerberos = False

Utiliser l’authentification kerberos pour l’enregistrement initial sur le serveur WAPT (par défaut False).

use_kerberos = True

verify_cert = False

Voir la documentation sur l’activation de la vérification des certificats HTTPS

verify_cert = True

wapt_server = None

URL du serveur WAPT. Si cet attribut n’est pas présent, aucun serveur WAPT ne sera contacté.

wapt_server = https://srvwapt.mydomain.lan

wapt_server_timeout = 30

Délai de connexion HTTPS du serveur WAPT en secondes

wapt_server_timeout = 10

paramètres waptexit

Description des options disponibles pour l’agent WAPT sur la section globale pour le waptexit

Options / Valeur par défaut

Description

Exemple

“”allow_cancel_upgrade”” = True

Empêche les utilisateurs d’annuler les mises à jour des paquets à l’arrêt du poste. Si désactivé, les utilisateurs ne seront pas en capacité d’annuler les mises à jour des paquets à l’arrêt du poste. Si cette valeur n’est pas renseignée, elle sera par défaut a 10.

“”allow_cancel_upgrade”” = True

hiberboot_enabled = None

Désactive Hiberboot sur Windows 10 pour waptexit.

hiberboot_enabled = True

max_gpo_script_wait = None

Délai d’exécution des GPO à l’arrêt de l’ordinateur.

max_gpo_script_wait = 180

pre_shutdown_timeout = None

Délai d’attente pour les scripts à l’arrêt de l’ordinateur.

pre_shutdown_timeout = 180

“”upgrade_only_if_not_process_running”” = False

Ne pas exécuter une mise à niveau du logiciel en cours d’exécution sur la machine (attribut impacted_process du package)

“”upgrade_only_if_not_process_running”” = True

upgrade_priorities = high

Réalise une mise a jour sur les paquets avec des propriétés spécifiques

upgrade_priorities = high

“”waptexit_countdown”” = 1

Temps avant le démarrage automatique des installations

“”waptexit_countdown”” = 25

Paramètres d’authentification de Self-Service WAPT et Waptservice

Description des options disponibles pour l’agent WAPT dans la section globale pour le self-service WAPT et l’authentification Waptservice

Options / Valeur par défaut

Description

Exemple

ldap_auth_base_dn = None

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

ldap_auth_base_dn = dc=domain,dc=lan

ldap_auth_ssl_enabled = False

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

ldap_auth_ssl_enabled = True

ldap_auth_server = None

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

ldap_auth_server = srvads.domain.lan

service_auth_type = system

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

service_auth_type = waptagent-ldap

verify_cert_ldap = False

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

verify_cert_ldap = True

waptservice_admin_filter = False

Appliquer un filtrage d’affichage pour les paquets self-service pour les administrateurs locaux.

waptservice_admin_filter = True

waptservice_password = None

mot de passe haché en sha256 lorsque waptservice_user est utilisé (la valeur NOPASSWORD désactive la nécessité d’un mot de passe).

waptservice_password = 5e884898da

waptservice_user = None

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

waptservice_user = admin

paramètres du wapttray

Description des options disponibles pour l’agent WAPT sur la section globale pour le wapttray

Options / Valeur par défaut

Description

Exemple

notify_user = False

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

notify_user = True

Paramètres du proxy

Description des options disponibles pour l’agent WAPT sur la section globale pour le proxy

Options / Valeur par défaut

Description

Exemple

http_proxy = “”

HTTP proxy address

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

use_http_proxy_for_repo = False

Utilisez le proxy pour accéder aux dépôts.

use_http_proxy_for_repo = True

use_http_proxy_for_server = False

Utilisez un proxy pour accéder au serveur WAPT.

use_http_proxy_for_server = True

Paramètres de création des paquets

Description des options disponibles pour l’agent WAPT dans la section globale pour la création de paquets WAPT

Options / Valeur par défaut

Description

Exemple

default_package_prefix = tis

Préfixe par défaut pour les paquets nouveaux ou importés.

default_package_prefix = doc

default_sources_root = C:\waptdev (Windows) ou ~/waptdev (Linux)

Répertoire pour le stockage des paquets en développement.

default_sources_root = C:\waptdev

default_sources_suffix = wapt

Suffixe par défaut pour les paquets nouveaux ou importés.

default_sources_suffix = doc

personal_certificate_path = “”

Chemin d’accès à la clé privée de l’administrateur.

personal_certificate_path = None

[wapt-wua]

Reportez-vous à configurer WAPTWUA sur l’agent WAPT.

Paramètres des dépôts supplémentaires

Liste complète des dépôts utilisables sur wapt-get.ini, une autre [section] peut être ajoutée.

Note

Les dépôts actifs sont listés dans l’attribut « repositories » de la section [global].

Attention

Ce paramètre peut être configuré à la fois dans la configuration de l’agent WAPT et dans le fichier de configuration de la console WAPT C:\Users\%username%\AppData\Local\waptconsole\waptconsole.ini.

Pour des informations sur la configuration de la console WAPT, veuillez vous référer à cette élément de la documentation.

[wapt]

Indication

Si cette section n’existe pas, les paramètres sont lus à partir de la section [global].

[wapt-templates]

Dépôts distants externes qui seront utilisés dans la console WAPT pour importer des nouveaux paquets ou leur mises à jour. Le dépôt Tranquil IT est défini par défaut.

[wapt-host]

Dépôt pour les paquets hôtes. Si cette section n’existe pas, les emplacements par défaut utilisés seront le dépôt principal.

Plus d’informations sur cette utilisation peuvent être trouvées dans cette article sur le travail avec plusieurs dépôts publics ou privés.

Configuration de la console WAPT

Indication

la configuration de la console WAPT est stocké à 2 endroits:

  • C:\Users\%username%\AppData\Local\waptconsole\waptconsole.ini.

  • C:\Users\%username%\AppData\Roaming\waptconsole\waptconsole.ini.

Ces fichiers sont générés automatiquement lors du premier lancement de waptconsole et sont générés à partir du fichier wapt-get.ini configuré sur le poste de travail de l” Administrateur ;

Description des sections disponibles

Description des sections disponibles pour l’agent WAPT

Section

Description

[global]

options globales de la console

[sections]

options du dépôt externe. [wapt-template] est le dépôt Tranquil IT par défaut

[waptwua]

Options WUA

Toutes les sections sont détaillées ci-dessous.

Les autres sections présentes dans C:\Users\%username%\AppData\Roaming\waptconsole\waptconsole.ini ne sont pas modifiables manuellement, elles ne sont donc pas détaillées.

Attention

Pour les paramètres présents à la fois dans wapt-get.ini et waptconsole.ini, les valeurs sont définies dans wapt-get.ini et copiées dans waptconsole.ini. Ne modifiez pas manuellement ces paramètres.

Description des options disponibles par section

[global]

Plusieurs options sont disponibles dans la section [global] du fichier waptconsole.ini.

Description des options disponibles sur AppData\Local

Options / Valeur par défaut

Description

Exemple

advanced_mode = False

Lance la console en mode débogage.

advanced_mode = True

Fonctionnalité WAPT Enterprise uniquement allow_remote_reboot = False

Permet de redémarrer les hôtes à distance à partir de la console WAPT (par défaut False).

allow_remote_reboot = True

Fonctionnalité WAPT Enterprise uniquement allow_remote_shutdown = False

Permet d’arrêter l’hôte à distance depuis la console WAPT (par défaut False).

allow_remote_shutdown = True

client_certificate = None

Si le dépôt distant utilise l’authentification SSL côté client

client_certificate = C:\private\org-coder.crt

client_private_key = None

Si le dépôt distant utilise l’authentification SSL côté client

client_private_key = C:\private\org-coder.pem

check_certificates_validity = False

Force la vérification de la date et de la CRL du certificat du paquet.

check_certificates_validity = True

default_maturity = “”

Maturité de téléchargement par défaut pour les paquets WAPT.

default_maturity = PROD

default_package_prefix = tis

Préfixe utilisé pour nommer les paquets WAPT.

default_package_prefix = doc

default_sources_root = C:\waptdev (Windows) ou ~/waptdev (Linux)

Dossier de développement du paquet de base WAPT.

default_sources_root = C:\waptdev

grid_hosts_plugins = W10=

Plugins externes pour la console WAPT. La valeur par défaut est W10= car cela donne [] en base64.

grid_hosts_plugins = W3siZXhlY3V0YWJsZSI6ImV4cGxd

host_profiles = None

Permet de définir une liste de paquets WAPT que l’agent WAPT doit installer.

host_profiles = tis-firefox,tis-java

hiberboot_enabled = False

Désactive Hiberboot sur Windows 10 pour waptexit

hiberboot_enabled = True

http_proxy = None

Adresse du serveur proxy dans la console WAPT.

http_proxy = https://proxy.domain.lan

last_usage_report = “”

Date de la dernière utilisation de la console WAPT.

last_usage_report = 12/05/2021 18:45:51

lastwaptserveruser = “”

Dernier utilisateur connecté sur cette console WAPT.

lastwaptserveruser = admin

max_gpo_script_wait = 180

Délai d’exécution des GPO à l’arrêt de l’ordinateur.

max_gpo_script_wait = 360

personal_certificate_path = “”

Chemin d’accès au certificat associé à la clé privée de l’administrateur.

personal_certificate_path = C:\private\mykey.crt

pre_shutdown_timeout = 180

Délai d’attente pour les scripts à l’arrêt de l’ordinateur.

pre_shutdown_timeout = 360

repo_url = l’adresse de votre dépôt WAPT

Adresse du dépôt principal de WAPT.

repo_url = https://srvwapt.mydomain.lan/wapt

send_usage_report = True

Permet à la console WAPT d’envoyer des statistiques anonymes à Tranquil IT. Mettre à 0 pour désactiver la télémétrie.

send_usage_report = True

sign_digests = sha256

Liste des algorithmes de signature autorisés pour les paquets WAPT.

sign_digests = sha1

Fonctionnalité WAPT Enterprise uniquement use_ad_groups = False

Pour utiliser les paquets unit.

use_ad_groups = True

use_fqdn_as_uuid = False

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

use_fqdn_as_uuid = True

use_kerberos = False

Utilisez l’authentification kerberos pour l’enregistrement initial sur le serveur WAPT.

use_kerberos = True

use_hostpackages = False

Utilisation des paquets host.

use_hostpackages = True

use_http_proxy_for_repo = False

Utilisez un proxy pour vous connecter au dépôt principal de WAPT à partir de la console.

use_http_proxy_for_repo = True

use_http_proxy_for_server = False

Utilisez un proxy pour vous connecter au serveur WAPT à partir de la console.

use_http_proxy_for_server = True

Fonctionnalité WAPT Enterprise uniquement use_repo_rules = False

Pour les dépôts secondaires.

use_repo_rules = True

verify_cert = False

Pour la vérification des certificats SSL / TLS.

verify_cert = True

wapt_server = “”

Adresse du serveur WAPT.

wapt_server = https://srvwapt.mydomain.lan

Description des options disponibles sur AppData\Roaming

Options / Valeur par défaut

Description

Exemple

advanced_mode = False

Lance la console en mode débogage.

advanced_mode = True

enable_external_tools = False

Affiche les actions qui appellent des applications externes (RDP, outils Windows etc…).

enable_external_tools = True

enable_management_features = False

Affiche le bouton pour créer des certificats auto-signés ou pour créer l’installateur de l’agent WAPT.

enable_management_features = True

hide_unavailable_actions = False

Masque les actions qui ne sont pas disponibles pour l’agent WAPT

hide_unavailable_actions = True

HostsLimit = 2000

Limite des hôtes affichés dans la console WAPT.

HostsLimit = 300

language = langue par défaut sur le client

Forcer la langue par défaut pour l’interface graphique (pas pour le filtrage des paquets)

language = fr

lastappinifilename = “”

Le fichier ini actuellement utilisé par la console.

lastappinifilename = C:\Users\%username%\AppData\Roaming\waptconsole\waptconsole.ini

show_host_audit_data_tab = False

Affiche l’onglet Données d’audit sur l’inventaire des machines.

show_host_audit_data_tab = True

Fonctionnalité WAPT Enterprise uniquement use_ad_groups = False

Pour l’utilisation de paquet unit (par défaut False).

use_ad_groups = True

use_fqdn_as_uuid = False

Vous permet d’utiliser le nom fqdn plutôt que le BIOS uuid comme identifiant unique de la machine dans wapt (par défaut False).

use_fqdn_as_uuid = True

waptconsole.version = “”

Version de la console

waptconsole.version = 2.0.0.9424

waptwua_enabled = False

Pour afficher l’onglet Mises à jour Windows sur la console

waptwua_enabled = True

[sections]

Vous pouvez ajouter plusieurs dépôts externes en ajoutant [sections] dans C:\Users\%username%\AppData\Local\waptconsole\waptconsole.ini.

Attention

Ce paramètre peut être configuré à la fois dans la configuration de l’agent WAPT et dans la configuration de la console WAPT C:\Users\%username%\AppData\Local\waptconsole\waptconsole.ini.

Pour des informations sur la configuration de l’agent WAPT, veuillez vous référer à ce point.

Voir les paramètres et configurations disponibles ici.

Configuration du serveur WAPT

Le fichier de configuration du serveur WAPT sur les systèmes GNU/ Linux et macOS se trouve dans /opt/wapt/conf/waptserver.ini ou dans /opt/wapt/waptserver/waptserver.ini.

Le fichier de configuration du serveur WAPT sur les systèmes Windows se trouve dans C:\wapt\conf\waptserver.ini.

Attention

La modification de ces fichiers est réservée aux utilisateurs avancés !

Section [option] de waptserver.ini

Plusieurs options peuvent être définies dans cette section.

[options]
Paramètres disponibles pour la section [option] de waptserver.ini

Options / Valeur par défaut

Description

Exemple

allow_unauthenticated_connect = None

Définit si les connexions websocket doivent être authentifiées. Si use_kerberos = True, alors allow_unauthenticated_connect DOIT ÊTRE** défini à False ou il sera prioritaire.

allow_unauthenticated_connect = True

allow_unauthenticated_registration = False

Permet l’enregistrement initial de l’agent WAPT en utilisant un login et un mot de passe.

allow_unauthenticated_registration = True

allow_unsigned_status_data = False

Débogage uniquement - Permet à l’agent d’envoyer des données d’état non signées.

allow_unsigned_status_data = True

application_root = “”

Définit un chemin racine personnalisé pour l’application du serveur WAPT.

application_root = wapt

auto_create_ldap_users = True

Relatif aux ACL utilisateurs

auto_create_ldap_users = False

client_certificate_lifetime = 3650

Définit la durée de vie du certificat de la machine (en jours).

client_certificate_lifetime = 500

cleanup_kbs = True (implicite)

Nettoie automatiquement les KB Windows sur le serveur WAPT.

cleanup_kbs = False

clients_read_timeout = 5

Définit le délai d’attente du client websocket.

clients_read_timeout = 10

clients_signing_certificate = None

Définit le chemin du certificat de signature de l’hôte.

clients_signing_certificate = C:\private\org-coder.crt

clients_signing_crl_days = 30

Définit la durée de vie de la signature du certificat de la machine CRL (en jours).

clients_signing_crl_days = 15

clients_signing_crl = None

Définit le chemin de la CRL de signature du certificat de la machine.

clients_signing_crl = C:\private\org-coder.crt

clients_signing_crl_url = None

Définit l’URL de la CRL de signature du certificat de la machine.

clients_signing_crl_url = https://srvwapt.mydomain.lan/crl

clients_signing_key = None

Définit le chemin de la clé de signature du certificat de la machine.

clients_signing_key = C:\private\org-coder.crt

client_tasks_timeout = 5

Définit le délai maximum autorisé avant que l’agent WAPT n’indique un timeout.

client_tasks_timeout = True

db_connect_timeout = 3

Définit le délai maximum autorisé avant que les requêtes PostgreSQL n’expirent.

db_connect_timeout = 10

db_host = None

Définit l’url du serveur PostgreSQL (par défaut WAPT utilise un Socket Unix local).

db_host = https://sql.mydomain.lan

db_max_connections = 90

Définit l’url du serveur PostgreSQL (par défaut WAPT utilise un Socket Unix local).

db_max_connections = 100

db_name = wapt

Définit la base de données PostgreSQL à laquelle le serveur WAPT se connectera.

db_name = doc

db_password = None

Définit le mot de passe pour authentifier l’utilisateur sur la base de données PostgreSQL (par défaut WAPT utilise un socket UNIX local).

db_password = WAPT-DB

db_port = 5432

Définit le port du serveur PostgreSQL.

db_port = 1365

db_stale_timeout = 300

Définit le délai du timeout de la base de données.

db_stale_timeout = 500

db_user = wapt

Définit l’utilisateur PostgreSQL qui se connecte à la base de données.

db_user = doc

Fonctionnalité WAPT Enterprise uniquement enable_store = False

Active le WAPT Store sur l’interface web.

enable_store = False

encrypt_host_packages = False

Chiffre le paquet machine avec le certificat du client.

encrypt_host_packages = True

htpasswd_path = None

Ajoute l’authentification de base au serveur WAPT.

htpasswd_path = True

http_proxy = None

Définit le serveur proxy pour permettre au serveur WAPT de récupérer sa CRL.

http_proxy = http://srvproxy.mydomain.lan:3128

known_certificates_folder = dossier par défaut de WAPT /ssl/ folder

Ajoute une CA supplémentaire connue pour vérifier les certificats.

known_certificates_folder = /opt/wapt/ssl/

ldap_auth_base_dn = None

Définit le DN de base de l’authentification LDAP.

ldap_auth_base_dn = dc=mydomain,dc=lan

ldap_auth_server = None

Définit le serveur d’authentification LDAP.

ldap_auth_server = srvads.mydomain.lan

ldap_auth_ssl_enabled = True

Définit l’authentification SSL sur les connexions LDAP.

ldap_auth_ssl_enabled = False

loglevel = warning

Définit le niveau du journal. Les valeurs possibles sont : debug, info, warning, critical.

loglevel = debug

max_clients = 4096

Définit la connexion maximale simultanée des clients WAPT.

max_clients = 2048

min_password_length = 10

Définit la longueur minimale du mot de passe administrateur.

min_password_length = 15

nginx_http = 80

Définit le port HTTP du serveur web Nginx (Windows uniquement).

nginx_http = 8080

nginx_https = 443

Définit le port HTTPS du serveur web Nginx (Windows uniquement).

nginx_https = 44380

remote_repo_support = False

Active la fonctionnalité de dépôts distants à partir du serveur WAPT.

remote_repo_support = True

remote_repo_websockets = True

Permet la communication par websocket avec les agents configurés en tant que dépôts distants.

remote_repo_websockets = False

secret_key = None

Définit la chaîne aléatoire pour initialiser le serveur d’application Python Flask. Elle est générée lors de la première installation du serveur WAPT et est unique pour chaque serveur WAPT.

secret_key = FKjfzjfkF687fjrkeznfkj7678jknk78687

server_uuid = None

Définit le serveur WAPT UUID (cet identifiant anonyme est utilisé pour les statistiques WAPT).

server_uuid = 76efezfa6-b309-1fez5-92cd-8ea48fc122dc

signature_clockskew = 300

Définit la différence de temps maximale autorisée pour les websockets (en secondes).

signature_clockskew = 72000

token_lifetime = 12*60*60

Définit la durée de vie du jeton d’authentification (en secondes).

token_lifetime = 43200

trusted_signers_certificates_folder = None

Définit le chemin d’accès au répertoire des certificats des signataires de confiance.

trusted_signers_certificates_folder = C:\private\org-coder.crt

trusted_users_certificates_folder = None

Définit le chemin d’accès au répertoire des certificats CA des utilisateurs de confiance.

trusted_users_certificates_folder = C:\private\org-coder.crt

use_kerberos = False

Permet à un agent WAPT de s’enregistrer en utilisant son compte kerberos. Si use_kerberos = True, alors allow_unauthenticated_connect DOIT ÊTRE** défini à False ou il sera prioritaire.

use_kerberos = True

use_ssl_client_auth = False

Active l’authentification par certification du client.

use_ssl_client_auth = True

wapt_admin_group_dn = []

DN LDAP du groupe d’utilisateurs Active Directory autorisé à se connecter à la console WAPT.

wapt_admin_group_dn = CN=waptadmins,OU=groups,DC=ad,DC=mydomain,DC=lan

wapt_folder = /var/www/wapt ou /var/www/html/wapt ou WAPT root_dir/waptserver/repository/wapt

Définit le chemin du répertoire du dépôt WAPT.

wapt_folder = /var/www/wapt

wapt_huey_db = None

Définit le chemin d’accès à la base de données qui gère les tâches.

wapt_huey_db = C:\Program Files(x86)\wapt\db\waptservertasks.sqlite

wapt_password = None

Définit le mot de passe SuperAdmin pour la connexion à la console WAPT.

wapt_password = 46642dd2b1dfezfezgfezgadf0ezgeezgezf53d

waptserver_port = 8080

Définit le port du service python du serveur WAPT, la valeur par défaut est 8080.

waptserver_port = 1313

wapt_user = admin

Définit le nom d’utilisateur SuperAdmin dans la console WAPT.

wapt_user = wapt_admin

waptwua_folder = dossier_wapt + “wua”

Définit l’emplacement du dossier WAPT WUA.

waptwua_folder = /var/www/waptwua

wol_port = 9

Définit la liste des ports UDP de WakeOnLAN auxquels envoyer des paquets magiques.

wol_port = 9,123,4000

wapt_bind_interface = 127.0.0.1

Définit comment écouter le service waptserver.

wapt_bind_interface = 192.168.0.50

Configuration de Nginx

La configuration par défaut de Nginx est la suivante :

server {
  listen                      80;
  listen                      443 ssl;
  server_name                 _;
  ssl_certificate             "/opt/wapt/waptserver/ssl/cert.pem";
  ssl_certificate_key         "/opt/wapt/waptserver/ssl/key.pem";
  ssl_protocols               TLSv1.2;
  ssl_dhparam                 /etc/ssl/certs/dhparam.pem;
  ssl_prefer_server_ciphers   on;
  ssl_ciphers                 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
  ssl_stapling                on;
  ssl_stapling_verify         on;
  ssl_session_cache           none;
  ssl_session_tickets         off;
  index index.html;

  location ~ ^/wapt.* {
    proxy_set_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
    proxy_set_header Pragma "no-cache";
    proxy_set_header Expires "Sun, 19 Nov 1978 05:00:00 GMT";
    root "/var/www";
    }

  location / {
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

  location  ~ ^/(api/v3/upload_packages|api/v3/upload_hosts/|upload_waptsetup)  {
    proxy_pass http://127.0.0.1:8080;
    client_max_body_size 4096m;
    client_body_timeout 1800;
    }

  location /wapt-host/Packages {
    return 403;
    }

  location /wapt-host/add_host_kerberos {
    return 403;
    }

  location / {
    proxy_pass http://127.0.0.1:8080;
    }

  location /socket.io {
    proxy_http_version 1.1;
    proxy_buffering off;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_pass http://127.0.0.1:8080/socket.io;
    }
  }
}

Configuration du serveur WAPT pour les grands déploiements

Les paramètres par défaut du système d’exploitation, de Nginx et de Postgresql sont adaptés pour environ 400 agents WAPT. Si vous avez plus de 400 clients, il est nécessaire de modifier quelques paramètres au niveau du système ainsi que la base de données PostgreSQL, le serveur web Nginx et le serveur python WAPT Server.

Dans le futur, le script postconf.sh pourra prendre en charge cette configuration en fonction du nombre d’ordinateurs clients attendus.

Avec les paramètres suivants, un serveur WAPT devrait pouvoir fonctionner avec environ 5000 clients actifs simultanés. Vous pouvez avoir plus de clients dans la base de données s’ils ne fonctionnent pas tous en même temps. Si vous avez plus de 5000 clients, il est recommandé d’avoir plus d’un serveur WAPT.

La limite du nombre de clients finaux est due à un goulot d’étranglement dans le code python et le backend PostgreSQL. Les performances de WAPT s’améliorent avec le temps et, à l’avenir, le serveur WAPT pourrait supporter une large base sur un seul serveur. Cependant, la partie Nginx s’adapte très bien et peut tirer pleinement parti d’une connexion 10Gbps pour les déploiements de paquets à forte charge.

Note

Les paramètres à modifier ci-dessous sont liés entre eux et doivent être modifiés globalement et non individuellement.

Configuration de Nginx

Dans le fichier /etc/nginx/nginx.conf (pour Windows C:\wapt\waptserver\nginx\conf\nginx.conf), modifiez le paramètre worker_connections. La valeur doit être environ 2,5 fois le nombre de clients WAPT (n connexions pour les websockets et n connexions pour les téléchargements de paquets et les envois d’inventaire + une certaine marge).

events {
  worker_connections 4096;
}

Mettez ensuite à niveau le nombre de filedescriptors dans le fichier /etc/nginx/nginx.conf (pour Windows C:\wapt\waptserver\nginx\conf\nginx.conf) :

worker_rlimit_nofile 32768;

En fonction du partitionnement de votre serveur WAPT, vous devrez peut-être faire attention au répertoire de téléchargement de fichiers temporaires de Nginx. Nginx agit comme un proxy inverse pour le moteur Python de WAPTServer et fait une mise en cache des paquets téléchargés lors du téléchargement d’un nouveau paquet depuis la console.

Les paquets sont stockés dans le répertoire /var/lib/nginx/proxy. Vous devez vous assurer que la partition qui héberge ce répertoire est suffisamment grande. Vous pouvez modifier l’emplacement de ce répertoire en utilisant le paramètre de configuration suivant de Nginx.

$client_body_temp_path

Configuration du système Linux

Augmenter le nombre de filedescriptors. Le fichier d’unité du système demande une augmentation du nombre autorisé de filedescriptors (LimitNOFILE=32768). Nous devrions avoir la même chose pour Nginx. Il y a quelques limites à modifier.

Tout d’abord, nous modifions au niveau du système le nombre de filedescriptors autorisés pour Nginx et WAPT.

  • Créer /etc/security/limits.d/wapt.conf.

cat > /etc/security/limits.d/wapt.conf <<EOF
wapt         hard    nofile      32768
wapt         soft    nofile      32768
www-data     hard    nofile      32768
www-data     soft    nofile      32768
EOF

Nginx sert de proxy inverse et établit un grand nombre de connexions. Chaque client WAPT maintient une connexion websocket en permanence afin de répondre aux actions du serveur WAPT.

Le noyau Linux a une protection contre le fait d’avoir trop de connexions TCP ouvertes en même temps et on peut obtenir le message SYN flooding on port dans le journal de Nginx. Afin d’éviter ces messages, il est nécessaire de modifier les deux paramètres suivants. Il doit être environ 1,5 fois le nombre de clients WAPT.

cat > /etc/sysctl.d/wapt.conf <<EOF
net.ipv4.tcp_max_syn_backlog=4096
net.core.somaxconn=4096
EOF

sysctl --system

Configuration de la base de données PostgreSQL

Un plus grand nombre de clients nécessite un plus grand nombre de connexions à la base de données PostgreSQL. Dans le fichier postgresql.conf file (file:/etc/postgresql/11/main/postgresql.conf sur debian 10 par exemple ou pour Windows C:\wapt\waptserver\pgsql9.6_data\postgresql.conf), vous devez augmenter le paramètre suivant pour atteindre approximativement 1/4 du nombre d’agents WAPT actifs.

max_connections = 1000

Dans le fichier /opt/wapt/conf/waptserver.ini (pour Windows C:\wapt\conf\waptserver.ini, db_max_connections` doit être égal au max_connections` de PostgreSQL moins 10 (PostgreSQL a besoin de garder quelques connexions pour son ménage). Le paramètre max_clients devrait être fixé à environ 1,2 fois le nombre d’agents WAPT :

[options]
...
max_clients = 4096
db_max_connections =  990