Configuration avancée de l’Agent WAPT¶
Le fichier de configuration wapt-get.ini
définit le comportement de l’agent WAPT.
Système |
Localisation |
---|---|
Windows |
|
Linux |
|
Mac OS |
|
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.
# -*- 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¶
Section |
Description |
---|---|
|
Options globales de l’agent WAPT. |
|
Options du dépôt principal. |
|
Options du dépôt externe. |
|
Options pour le dépôt pour les paquets host. |
|
Options de l’agent WUA. |
|
Pour synchroniser plusieurs dépôts. |
Toutes les sections sont détaillées ci-dessous.
Description des options disponibles par section¶
[global]¶
Paramètres généraux¶
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
Permet de redémarrer le ou les hôtes sélectionnés à distance à partir de la console WAPT. |
allow_remote_reboot = True |
|
Permet d’arrêter le ou les hôtes sélectionnés à distance à partir de la console WAPT. |
allow_remote_reboot = True |
|
|
Force la vérification de la date et de la CRL du certificat du paquet. |
check_certificates_validity = True |
|
Chemin d’accès au fichier de la base de données locale. |
dbpath = C:\Program Files(x86\db\waptdb.sqlite |
|
Définit si un téléchargement des paquets en attente doit être lancé après une mise à jour avec |
download_after_update_with_waptupdate_task_period = False |
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/ |
host_organizational_unit_dn = OU=TOTO,OU=TEST,DC=MYDOMAIN,DC=LAN |
|
Permet de définir une liste de paquets WAPT que l’agent WAPT doit installer. |
host_profiles = tis-firefox,tis-java |
|
|
Force la langue par défaut pour l’interface graphique (pas pour le filtrage des paquets) |
language = fr |
|
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 = en |
|
Envoie les journaux WAPT dans le journal des événements de Windows. |
log_to_windows_events = True |
|
Niveau de journalisation de l’agent WAPT. Les valeurs possibles sont : |
loglevel = critical |
|
Liste des maturités de paquets qui peuvent être visualisées et installées par l’agent WAPT. La valeur par défaut est |
maturities = PROD, PREPROD |
|
Adresse du dépôt principal de WAPT. |
repo_url = https://srvwapt.mydomain.lan/wapt |
|
Liste des dépôts activés, séparés par une virgule. Chaque valeur définit une section du fichier |
repositories = dépôt1, dépôt2 |
|
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 |
|
Comment fonctionne l’authentification du self-service. Les valeurs possibles sont : |
service_auth_type = waptserver-ldap |
S’il est possible ou non pour l’utilisateur de désinstaller des applications via le self-service. |
uninstall_allowed = False |
|
Pour l’utilisation de paquets groupe (par défaut False). |
use_ad_groups = True |
|
|
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 |
|
Définit si les paquets hôtes doivent être utilisés. |
use_hostpackages = True |
Pour utiliser les dépôts secondaires (par défaut False). |
use_repo_rules = True |
|
|
Définit la fréquence à laquelle les audits sont déclenchés (en minutes). |
waptaudit_task_period = 120 |
|
URL du serveur WAPT. Si cet attribut n’est pas présent, aucun serveur WAPT ne sera contacté. |
wapt_server = https://srvwapt.mydomain.lan |
|
Loopback de l’agent WAPT. Il n’est pas accessible depuis le réseau. |
waptservice_port = 8080 |
|
Fréquence de mise à jour (120 minutes par défaut). |
waptupdate_task_period = 24h |
|
Fréquence de mise à niveau. |
waptupgrade_task_period = 360 |
|
Permet à l’agent d’être utilisé comme un relai Wake On Lan |
wol_relay = True |
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’attributrepositories
.S’il n’y a pas d’attribut
wapt_server
, aucun serveur WAPT ne sera utilisé.
Paramètres du serveur WAPT¶
Ces options définissent le comportement de l’agent WAPT lors de la connexion au serveur WAPT.
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
|
Dossier des certificats autorisés à vérifier la signature des paquets WAPT. |
|
|
Utiliser l’authentification kerberos pour l’enregistrement initial sur le serveur WAPT (par défaut False). |
|
|
Voir la documentation sur l’activation de la vérification des certificats HTTPS. |
|
|
URL du serveur WAPT. Si cet attribut n’est pas présent, aucun serveur WAPT ne sera contacté. |
:codewapt_server:`` = |
|
Délai de connexion HTTPS du serveur WAPT en secondes. |
code:wapt_server_timeout = |
Paramètres pour le wapttray¶
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
:code:”allow_cancel_upgrade” (défaut |
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 |
|
Désactive Hiberboot sur Windows 10 pour waptexit. |
hiberboot_enabled = True |
|
Délai d’exécution des GPO à l’arrêt de l’ordinateur. |
max_gpo_script_wait = 180 |
|
Délai d’attente pour les scripts à l’arrêt de l’ordinateur. |
pre_shutdown_timeout = 180 |
:code:”upgrade_only_if_not_process_running” (défaut |
Empêche la mise à niveau du logiciel si celui-ci est en cours d’exécution sur l’hôte (attribut impacted_process du packaging). |
upgrade_only_if_not_process_running = True |
|
Ne mettre à niveau que les paquets ayant une priorité spécifique. |
upgrade_priorities = high |
:code:”waptexit_countdown” (défaut |
Délai (en secondes) avant le démarrage automatique des installations. |
waptexit_countdown = 25 |
Paramètres pour l’authentification WAPT Self-Service et Waptservice¶
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
|
Utile avec waptagent-ldap, définit le dn de base pour la requête LDAP. |
ldap_auth_base_dn = dc=mydomain,dc=lan |
|
Utile avec waptagent-ldap, définit si la requête LDAP doit être chiffré. |
ldap_auth_ssl_enabled = True |
|
Utile avec waptagent-ldap, définit le serveur LDAP à contacter. |
ldap_auth_server = srvads.mydomain.lan |
|
Définit le système d’authentification du service WAPT, les valeurs disponibles sont system, waptserver-ldap, waptagent-ldap. |
service_auth_type = waptagent-ldap |
|
Utile avec waptagent-ldap, définit si le certificat doit être vérifié. |
verify_cert_ldap = True |
|
Appliquer un filtrage d’affichage pour les paquets self-service pour les administrateurs locaux. |
waptservice_admin_filter = True |
|
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 |
|
Force un utilisateur à s’authentifier sur le service WAPT. |
waptservice_user = admin |
Paramètres pour le wapttray¶
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
|
Empêche |
notify_user = True |
Paramètres du Proxy¶
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
|
Définit l’adresse du proxy HTTP. |
|
|
Utiliser un proxy pour accéder aux dépôts. |
|
|
Utiliser un proxy pour accéder au serveur WAPT. |
|
Paramètres pour la création de paquets WAPT¶
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
|
Définit le préfixe par défaut pour les paquets nouveaux ou importés. Le préfixe est sensible à la casse, nous recommandons d’utiliser les minuscules. |
|
|
Définit le répertoire de stockage des paquets en cours de développement. |
|
|
Définit le chemin d’accès à la clé privée de l’administrateur. |
|
[wapt-wua]¶
Reportez-vous à configurer WAPTWUA sur l’agent WAPT.
Paramètres pour l’utilisation de dépôts multiples¶
Pour ajouter plus de dépôts, de nouvelles sections [nom_du_dépôt]
peuvent être ajoutées dans le wapt-get.ini
.
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.
Section [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.
Section [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¶
Section |
Description |
---|---|
|
Options globales de la Console WAPT |
|
Définit les options du dépôt externe. |
|
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
.
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
|
Lance la Console WAPT en mode débogage. |
advanced_mode = True |
Permet de redémarrer le ou les hôtes sélectionnés à distance à partir de la console WAPT. |
allow_remote_reboot = True |
|
Permet d’arrêter le ou les hôtes sélectionnés à distance à partir de la console WAPT. |
allow_remote_shutdown = True |
|
|
Définit si le dépôt distant utilise l’authentification SSL côté client. |
client_certificate = C:\private\org-coder.crt |
|
Définit si le dépôt distant utilise l’authentification SSL côté client. |
client_private_key = C:\private\org-coder.pem |
|
Force la vérification de la date et de la CRL du certificat du paquet. |
check_certificates_validity = True |
|
Définit la maturité de téléchargement par défaut pour les paquets WAPT. |
default_maturity = PROD |
|
Définit le préfixe par défaut pour les paquets nouveaux ou importés. Le préfixe est sensible à la casse, nous recommandons d’utiliser les minuscules. |
default_package_prefix = doc |
|
Définit le répertoire de stockage des paquets en cours de développement. |
default_sources_root = C:\waptdev |
|
Liste Les plugins externes pour la console WAPT. La valeur par défaut est |
grid_hosts_plugins = W3siZXhlY3V0YWJsZSI6ImV4cGxd |
|
Définit une liste de paquets WAPT que l’agent WAPT doit installer. |
host_profiles = tis-firefox,tis-java |
|
Désactive Hiberboot sur Windows 10 pour waptexit |
hiberboot_enabled = True |
|
Définit l’adresse du serveur proxy dans la console WAPT. |
http_proxy = https://proxy.domain.lan |
|
Indique la date à laquelle la console WAPT a été utilisée pour la dernière fois. |
last_usage_report = 12/05/2021 18:45:51 |
|
Fournit le dernier utilisateur connecté sur cette console WAPT. |
lastwaptserveruser = admin |
|
Définit le délai d’exécution des GPO à l’arrêt de l’ordinateur. |
max_gpo_script_wait = 360 |
|
Définit le chemin d’accès au certificat associé à la clé privée de l’administrateur. |
personal_certificate_path = C:\private\mykey.crt |
|
Définit le délai d’attente pour les scripts à l’arrêt de l’ordinateur. |
pre_shutdown_timeout = 360 |
|
Définit l’adresse du dépôt principal de WAPT. |
repo_url = https://srvwapt.mydomain.lan/wapt |
|
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 |
|
Liste des algorithmes de signature autorisés pour les paquets WAPT. |
sign_digests = sha1 |
Permet l’utilisation des paquets unit. |
use_ad_groups = True |
|
|
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 |
|
Permet d’utiliser l’authentification kerberos pour l’enregistrement initial des agents WAPT avec le serveur WAPT. |
use_kerberos = True |
|
Permet d’utiliser les paquets hôtes. |
use_hostpackages = True |
|
Permet d’utiliser un proxy pour se connecter au dépôt principal de WAPT à partir de la console. |
use_http_proxy_for_repo = True |
|
Permet d’utiliser un proxy pour se connecter au serveur WAPT à partir de la console. |
use_http_proxy_for_server = True |
Permet d’utiliser replication pour les dépôts. |
use_repo_rules = True |
|
|
verify_cert = True |
|
|
Définit le port du serveur PostgreSQL. |
wapt_server = https://srvwapt.mydomain.lan |
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
|
Lance la Console WAPT en mode débogage. |
advanced_mode = True |
|
Affiche les actions qui appellent des applications externes (RDP, outils Windows etc…). |
enable_external_tools = True |
|
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 |
|
Masque les actions qui ne sont pas disponibles pour l’agent WAPT |
hide_unavailable_actions = True |
|
Limite des hôtes affichés dans la console WAPT. |
HostsLimit = 300 |
|
Force la langue par défaut pour l’interface graphique (pas pour le filtrage des paquets) |
language = fr |
|
Définit le fichier .ini utilisé pour stocker la configuration de la console WAPT. |
lastappinifilename = C:\Users\%username%\AppData\Roaming\waptconsole\waptconsole.ini |
|
Affiche l’onglet Données d’audit sur l’inventaire des machines. |
show_host_audit_data_tab = True |
Permet l’utilisation des paquets unit. |
use_ad_groups = True |
|
|
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 |
|
Affiche la version de la Console WAPT. |
waptconsole.version = 2.0.0.9424 |
|
Affiche l’onglet Mises à jour Windows sur la Console WAPT. |
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]
Options / Valeur par défaut |
Description |
Exemple |
---|---|---|
|
Définit où les agents WAPT sont stockés sur le serveur WAPT. |
agents_folder = /var/www/wapt/waptagent |
|
Définit si les connexions websocket doivent être authentifiées. Si :code: |
allow_unauthenticated_connect = True |
|
Permet l’enregistrement initial de l’agent WAPT en utilisant un login et un mot de passe. |
allow_unauthenticated_registration = True |
|
Débogage uniquement - Permet à l’agent d’envoyer des données d’état non signées. |
allow_unsigned_status_data = True |
|
Définit un chemin racine personnalisé pour le serveur WAPT. |
application_root = wapt |
|
Active les journaux d’authentification. |
authentication_logs = False |
|
Utilise le fichier de configuration automatique lorsque waptsetup est installé. |
auto_create_waptagent_from_config = True |
|
Définit la durée de vie du certificat de la machine (en jours). |
client_certificate_lifetime = 500 |
|
Définit si les KB Windows non utilisés :ref:` doivent être automatiquement supprimés <auto_kb_clean>` du serveur WAPT. |
cleanup_kbs = False |
|
Définit le délai d’attente du client websocket (en secondes). |
clients_read_timeout = 10 |
|
Définit le certificat de signature de la machine. |
clients_signing_certificate = C:\private\org-coder.crt |
|
Définit la périodicité de la signature du certificat de la CRL de la machine (en jours). |
clients_signing_crl_days = 15 |
|
Définit le chemin de la CRL du certificat de signature machine. |
clients_signing_crl = C:\private\org-coder.crt |
|
Définit l’URL de la CRL du certificat de signature machine. |
clients_signing_crl_url = https://srvwapt.mydomain.lan/crl |
|
Définit le chemin de la clé de signature du certificat de la machine. |
clients_signing_key = C:\private\org-coder.crt |
|
Définit le délai maximum autorisé avant que l’agent WAPT bascule en time-out (en secondes). |
client_tasks_timeout = 5 |
|
Si x64, permet de copier tous les WinPE à partir de |
copy_winpe_x64_in_tftp_folder = True |
|
Définit le délai maximum autorisé avant que les requêtes PostgreSQL n’expirent (en secondes). |
db_connect_timeout = 10 |
|
Définit l’url du serveur PostgreSQL (par défaut WAPT utilise une socket Unix locale). |
db_host = https://wapt.mydomain.lan |
|
Définit le nombre maximum de connexions simultanées à la base de données PostgreSQL. |
db_max_connections = 100 |
|
Définit la base de données PostgreSQL à laquelle le serveur WAPT se connecte. |
db_name = wapt |
|
Définit le mot de passe pour authentifier l’utilisateur sur la base de données PostgreSQL (par défaut WAPT utilise une socket UNIX locale). |
db_password = WAPT_DB_PASSWORD |
|
Définit le port du serveur PostgreSQL. |
db_port = 5432 |
|
Définit le délai d’expiration de la requête à la base de données (en secondes). |
db_stale_timeout = 500 |
|
Définit l’utilisateur PostgreSQL qui se connecte à la base de données. |
db_user = wapt |
|
Définit l’acl par défaut pour un nouvel utilisateur qui ouvre la Console WAPT. |
default_ldap_users_acls = admin |
|
Télécharge automatiquement le fichier :wsusscn2.cab. |
download_wsusscn2 = False |
|
Active le store WAPT web (Déprécié). |
enable_store = False |
|
Chiffre le paquet hôte avec le certificat du client. |
encrypt_host_packages = True |
|
Ajoute l’authentification de base au serveur WAPT. |
htpasswd_path = True |
|
Définit le serveur proxy pour permettre au serveur WAPT de récupérer sa CRL. |
http_proxy = http://srvproxy.mydomain.lan:3128 |
|
Ajoute une CA supplémentaire connue pour vérifier les certificats. |
known_certificates_folder = /opt/wapt/ssl/ |
|
Définit l’utilisateur UPN Active Directory pour le SSO et/ou le mode waptserver-ldap pour le self-service. |
ldap_account_service_login = wapt-ldap@ad.tranquil.it |
|
Définit le mot de passe de l’utilisateur pour le SSO et/ou le mode waptserver-ldap pour le self-service. |
ldap_account_service_password = PASSWORD |
|
Définit le DN de base pour l’authentification LDAP. |
ldap_auth_base_dn = dc=mydomain,dc=lan |
|
Définit le serveur d’authentification LDAP. |
ldap_auth_server = srvads.mydomain.lan |
|
Définit l’authentification SSL pour les connexions LDAP. |
ldap_auth_ssl_enabled = False |
|
Permet la recherche de groupes imbriqués dans Active Directory. |
ldap_nesting_group_support = False |
|
Active la recherche sur les utilisateurs du groupe primaire d’Active Directory. |
ldap_primary_group_ad_support = False |
|
Liste les sous-réseaux sans exigence d’authentification. |
list_subnet_skip_login_wads = 192.168.0.0/24,192.168.1.0/24 |
|
Active l’authentification pour utiliser WADS (le format est |
login_on_wads = True |
|
Définit le niveau du journal d’historisation. Les valeurs possibles sont : |
loglevel = debug |
|
Définit le nombre maximum de connexions simultanées de clients WAPT. |
max_clients = 2048 |
|
Définit la longueur minimale du mot de passe du SuperAdmin. |
min_password_length = 15 |
|
Définit le port HTTP du serveur web Nginx (Windows uniquement). |
nginx_http = 8080 |
|
Définit le port HTTPS du serveur web Nginx (Windows uniquement). |
nginx_https = 44380 |
|
Si une de ces options est renseignée, le journal d’historisation ne l’enregistrera pas : |
optimized_authentication_logs = False |
|
Définit la périodicité à laquelle le serveur WAPT vérifie l’état de synchronisation des dépôts distants (en minutes). |
remote_repo_update_delay = 5 |
|
Permet la communication websocket avec les agents WAPT configurés en tant que dépôts distants. |
remote_repo_websockets = False |
|
Définit la chaîne aléatoire pour initialiser le serveur d’application Python Flask. La chaîne est générée lors de la première installation du serveur WAPT et est unique pour chaque serveur WAPT. |
secret_key = FKjfzjfkF687fjrkeznfkj7678jknk78687 |
|
Définit l”UUID du Serveru WAPT (cet identifiant anonyme est utilisé pour les statistiques WAPT). |
server_uuid = 76efezfa6-b309-1fez5-92cd-8ea48fc122dc |
|
Définit le temps maximum autorisé pour l’ouverture de la session (en secondes). |
session_lifetime = 352120 |
|
Définit la différence de temps maximale autorisée pour les websockets (en secondes). |
signature_clockskew = 72000 |
|
Définit la durée de vie du jeton d’authentification (en secondes). |
token_lifetime = 43200 |
|
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 |
|
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 |
|
Permet à un Agent WAPT de s’enregistrer en utilisant son compte kerberos. Si :code: |
use_kerberos = True |
|
use_ssl_client_auth = True |
|
|
Vérifie si le certificat SSL / TLS d’Active Directory est valide pour les connexions LDAP. |
verify_cert_ldap = False |
|
Active la fonctionnalité WADS et active wapttftpserver. |
wads_enable = True |
|
Définit le répertoire sur le serveur WAPT qui stocke les fichiers liés à WADS. |
wads_folder = /var/www/waptwads |
|
Définit le 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 |
|
Définit le(s) groupe(s) d’utilisateurs Active Directory sAMAccountName autorisé(s) à se connecter à la console WAPT. La valeur peut être plusieurs groupes, séparés par des virgules. |
wapt_admin_group = waptadmins, wapttechs |
|
Définit le chemin vers le dépôt principal de WAPT. |
wapt_folder = /var/www/wapt |
|
Définit le chemin vers la base de données qui stocke l’état des tâches en cours. |
wapt_huey_db = C:\Program Files(x86)\wapt\db\waptservertasks.sqlite |
|
Définit le mot de passe du SuperAdmin pour la connexion à la console WAPT. |
wapt_password = 46642dd2b1dfezfezgfezgadf0ezgeezgezf53d |
|
Définit le port du service python du serveur WAPT. |
waptserver_port = 1313 |
|
Définit le nom d’utilisateur du SuperAdmin dans la console WAPT. |
wapt_user = wapt_admin |
|
Définit l’emplacement du dossier WAPT WUA. |
waptwua_folder = /var/www/waptwua |
|
Définit la liste des ports UDP auxquels envoyer des paquets magiques WakeOnLAN. |
wol_port = 9, 123, 4000 |
|
Définit comment écouter le service du serveur WAPT. |
wapt_bind_interface = 127.0.0.1 |
|
Définit l’emplacement du modèle jinja utilisé pour le script ipxe dans WADS. |
ipxe_script_jinja_path = /opt/wapt/waptserver/templates/ipxe-autoregister.j2 |
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¶
Type d’OS |
Localisation des fichiers |
---|---|
Debian / Ubuntu |
|
Redhat et dérivés |
|
Windows |
|
Dans le fichier nginx.conf
, modifiez le paramètre worker_connections
. La valeur doit être d’environ 2,5 fois le nombre de clients WAPT (n connexions pour les websockets et n connexions pour les téléchargements de packages et le téléchargement 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¶
Type d’OS |
Localisation des fichiers |
---|---|
Debian / Ubuntu |
|
Redhat et dérivés |
|
Windows |
|
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