[comment]: # ({c16c09cf-cebf8306})
# 1 Contrôle d'accès

[comment]: # ({/c16c09cf-cebf8306})

[comment]: # ({88806b0c-c4f0ac9a})
#### Vue d’ensemble

Cette section contient les bonnes pratiques pour configurer le contrôle d’accès de manière sécurisée.

[comment]: # ({/88806b0c-c4f0ac9a})

[comment]: # ({2acc8f22-dc572a02})
#### Principe du moindre privilège

Les comptes utilisateur doivent, à tout moment, fonctionner avec le moins de privilèges possible.
Cela signifie que les comptes utilisateur dans le frontend Zabbix, les utilisateurs de la base de données ou l’utilisateur des processus Zabbix server/proxy/agent ne doivent disposer que des privilèges strictement nécessaires à l’exécution des fonctions prévues.

::: noteimportant
Accorder des privilèges supplémentaires à l’utilisateur « zabbix » lui permettra d’accéder aux fichiers de configuration et d’exécuter des opérations susceptibles de compromettre la sécurité de l’infrastructure.
:::

Lors de la configuration des privilèges des comptes utilisateur, les [types d’utilisateur du frontend](/manual/config/users_and_usergroups/permissions) de Zabbix doivent être pris en compte.
Notez que, bien que le type d’utilisateur *Admin* dispose de moins de privilèges que le type d’utilisateur *Super Admin*, il peut toujours gérer la configuration et exécuter des scripts personnalisés.

::: noteclassic
Certaines informations sont disponibles même pour les utilisateurs non privilégiés.
Par exemple, bien que *Alerts* → *Scripts* soit disponible uniquement pour les utilisateurs *Super Admin*, les scripts peuvent également être récupérés via l’API Zabbix.
Dans ce cas, limiter les autorisations des scripts et exclure des scripts les informations sensibles (par exemple, les identifiants d’accès) peut aider à éviter l’exposition d’informations sensibles présentes dans les scripts globaux.
:::

[comment]: # ({/2acc8f22-dc572a02})

[comment]: # ({883c2138-1631be73})
#### Utilisateur sécurisé pour Zabbix agent

Par défaut, les processus du serveur, du proxy et de l'agent Zabbix (ou agent 2) partagent un seul utilisateur `zabbix`.
Pour empêcher Zabbix agent/agent 2 (exécuté sur la même machine que le serveur/proxy) d'accéder à des détails sensibles dans la configuration du serveur/proxy (par exemple, les identifiants de base de données), l'agent doit être exécuté sous un utilisateur différent :

Pour Zabbix agent :

1. Créez un [groupe et un utilisateur](/manual/installation/install#create-user-account) sécurisés (par exemple, `zabbix-agent`).
2. Définissez cet utilisateur dans le paramètre [User](/manual/appendix/config/zabbix_agentd#user) du fichier de configuration de l'agent.
3. [Redémarrez l'agent](/manual/concepts/agent#if-installed-as-package) pour abandonner les privilèges au profit du nouvel utilisateur.

Pour Zabbix agent 2, la configuration doit être appliquée au niveau du [service](https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html), car le [fichier de configuration de agent 2](/manual/appendix/config/zabbix_agent2) ne prend pas en charge le paramètre `User`.
Pour un exemple, voir [ZBX-26442](https://support.zabbix.com/browse/ZBX-26442).

[comment]: # ({/883c2138-1631be73})

[comment]: # ({582edb84-c02c850f})
#### Révoquer l'accès en écriture à la configuration SSL (Windows)

Si vous avez compilé l'agent Zabbix sous Windows, avec OpenSSL situé dans un répertoire non protégé (par exemple, `C:\zabbix`, `c:\openssl-64bit`, `C:\OpenSSL-Win64-111-static` ou `C:\dev\openssl`), veillez à révoquer l'accès en écriture à ce répertoire pour les utilisateurs non administrateurs.
Dans le cas contraire, l'agent charge les paramètres SSL depuis un chemin pouvant être modifié par des utilisateurs non privilégiés, ce qui entraîne une vulnérabilité de sécurité potentielle.

[comment]: # ({/582edb84-c02c850f})

[comment]: # ({a28aff05-0f084225})
#### Renforcement de la sécurité des composants Zabbix

Certaines fonctionnalités peuvent être désactivées afin de renforcer la sécurité des composants Zabbix :

-    l’exécution globale de scripts sur le serveur Zabbix peut être désactivée en définissant EnableGlobalScripts=0 dans la configuration du serveur ;
-    l’exécution globale de scripts sur le proxy Zabbix est désactivée par défaut (elle peut être activée en définissant EnableRemoteCommands=1 dans la configuration du proxy) ;
-    l’exécution globale de scripts sur les agents Zabbix est désactivée par défaut (elle peut être activée en ajoutant un paramètre AllowKey=system.run[<command>,\*] pour chaque commande autorisée dans la configuration de l’agent) ;
-    l’authentification HTTP des utilisateurs peut être désactivée en définissant `$ALLOW_HTTP_AUTH=false` dans le fichier de configuration du frontend (zabbix.conf.php). Notez que la réinstallation du frontend (exécution de setup.php) supprimera ce paramètre.

[comment]: # ({/a28aff05-0f084225})

[comment]: # ({11a9a375-95fd0cfc})
#### Accès aux chemins UNC sous Windows par l'agent Zabbix

Les agents Zabbix sous Windows suivent les chemins UNC (partages SMB comme `\\server\share\file.txt`) dans des éléments tels que `vfs.file.*`, `vfs.dir.*`, `modbus.get` et `perf_counter*`. Cela peut représenter un risque de sécurité dans certains contextes.

Lorsque Windows est invité à accéder à un chemin UNC, il tente de s'authentifier sur ce serveur. Cela signifie qu'une requête malveillante adressée à l'agent Zabbix peut exposer le hachage NTLM au serveur du demandeur. Les utilisateurs peuvent atténuer ce risque à l'aide des paramètres de configuration [AllowKey](/manual/appendix/config/zabbix_agentd_win#allowkey) et [DenyKey](/manual/appendix/config/zabbix_agentd_win#denykey) si nécessaire.

[comment]: # ({/11a9a375-95fd0cfc})
