[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, en permanence, disposer du moins de privilèges possible.
Cela signifie que les comptes utilisateur dans l'interface Zabbix, les utilisateurs de la base de données ou l'utilisateur des processus du serveur/proxy/agent Zabbix ne doivent disposer que des privilèges indispensables à 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 de l'[interface Zabbix](/manual/config/users_and_usergroups/permissions) 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 néanmoins 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, alors que *Alerts* → *Scripts* n'est disponible que 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 les informations sensibles des scripts (par exemple, les identifiants d'accès) peut aider à éviter d'exposer des informations sensibles disponibles dans les scripts globaux.
:::

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

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

Par défaut, les processus du serveur Zabbix, du proxy et de l'agent (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 informations sensibles dans la configuration du serveur/proxy (par exemple, des 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 l'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`), assurez-vous de révoquer l'accès en écriture à ce répertoire pour les utilisateurs non administrateurs.
Sinon, l'agent charge les paramètres SSL depuis un chemin qui peut être modifié par des utilisateurs non privilégiés, ce qui entraîne une vulnérabilité de sécurité potentielle.

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

[comment]: # ({b96222b8-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 de scripts globaux sur le serveur Zabbix peut être désactivée en définissant `EnableGlobalScripts=0` dans la [configuration du serveur](/manual/appendix/config/zabbix_server).
-    L'exécution de scripts globaux 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](/manual/appendix/config/zabbix_proxy)).
-    L'exécution de scripts globaux 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](/manual/appendix/config/zabbix_agentd)).
-    L'authentification HTTP des utilisateurs peut être désactivée en définissant `$ALLOW_HTTP_AUTH=false` dans le [fichier de configuration de l'interface](/manual/installation/frontend#install) (`zabbix.conf.php`). Notez que la réinstallation de l'interface (exécution de `setup.php`) supprimera ce paramètre.

[comment]: # ({/b96222b8-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 pré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 de l'auteur de la requête. 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})
