[comment]: # translation:outdated

[comment]: # ({a804241c-5407a56a})
# 6 Connexion sécurisée au frontend

[comment]: # ({/a804241c-5407a56a})

[comment]: # ({5ca67f7f-7cadd09e})
#### Aperçu

Cette section fournit les étapes de configuration de Zabbix ainsi que des exemples de configuration pour
des connexions TLS sécurisées entre le frontend Zabbix et le serveur Zabbix.

[comment]: # ({/5ca67f7f-7cadd09e})

[comment]: # ({b3284585-ec63018e})
#### Configuration

Par défaut, la communication entre l'interface Zabbix et le serveur Zabbix n'est pas chiffrée. Pour une meilleure sécurité, activez TLS des deux côtés. Vous trouverez ci-dessous un exemple de la manière la plus simple de procéder.

1\. Générez les certificats et les clés.

Créez un répertoire de travail :

```bash
sudo mkdir -p /etc/zabbix/ssl && cd /etc/zabbix/ssl
```

Créez un certificat d'autorité de certification (CA) (adaptez la valeur `MyZabbixCA` pour qu'elle corresponde au nom commun réel) :

```bash
sudo openssl genrsa -out ca.key 4096
sudo openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -subj "/CN=MyZabbixCA/"
```

Générez une clé privée et un certificat pour le serveur Zabbix (adaptez la valeur `zabbix-server.example.com` pour qu'elle corresponde au nom commun réel) :

```bash
sudo openssl genrsa -out server.key 2048
sudo openssl req -new -key server.key -out server.csr -subj "/CN=zabbix-server.example.com/"
sudo openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -sha256 -out server.crt
```

Générez une clé privée et un certificat pour l'interface Zabbix (adaptez la valeur `zabbix-frontend-node` pour qu'elle corresponde au nom commun réel) :

```bash
sudo openssl genrsa -out frontend.key 2048
sudo openssl req -new -key frontend.key -out frontend.csr -subj "/CN=zabbix-frontend-node/"
sudo openssl x509 -req -days 365 -in frontend.csr -CA ca.crt -CAkey ca.key -CAcreateserial -sha256 -out frontend.crt
```

2\. Définissez les permissions appropriées. 

Pour le serveur Zabbix (adaptez le propriétaire/groupe selon l'utilisateur du démon du serveur Zabbix de votre distribution) :

```bash
sudo chown root:zabbix /etc/zabbix/ssl/server.{crt,key} /etc/zabbix/ssl/ca.crt
sudo chmod 640 /etc/zabbix/ssl/server.key
sudo chmod 644 /etc/zabbix/ssl/server.crt /etc/zabbix/ssl/ca.crt
```

Pour l'interface (adaptez le propriétaire/groupe selon l'utilisateur du serveur web de votre distribution) :

```bash
sudo chown root:www-data /etc/zabbix/ssl/frontend.{crt,key}
sudo chmod 640 /etc/zabbix/ssl/frontend.key
sudo chmod 644 /etc/zabbix/ssl/frontend.crt
```

3\. Configurez le serveur Zabbix.

Dans `zabbix_server.conf`, ajoutez :

```ini
TLSFrontendAccept=cert
TLSCertFile=/etc/zabbix/ssl/server.crt
TLSKeyFile=/etc/zabbix/ssl/server.key
TLSCAFile=/etc/zabbix/ssl/ca.crt
# Optionally:
# TLSFrontendCertIssuer=/CN=MyZabbixCA/
# TLSFrontendCertSubject=/CN=zabbix-frontend-node/
```

Redémarrez ensuite le serveur :

```bash
sudo systemctl restart zabbix-server
```

4\. Configurez l'interface Zabbix.

Lors de l'[installation de l'interface web](/manual/installation/frontend), activez l'option *Encrypt connections from Web interface* (ainsi que l'option *Verify server certificate issuer and subject*, si nécessaire) et renseignez les champs *TLS CA file*, *TLS key file*, *TLS certificate file* (ainsi que les champs *Server TLS certificate issuer* et *Server TLS certificate subject*, si nécessaire) :

![](../../../../assets/en/manual/appendix/install/frontend_encrypt.png){width="600"}

|Paramètre|Description|
|--|--------|
|*TLS CA file*|Indiquez le chemin complet vers le fichier de certificat de l'autorité de certification (CA) utilisé pour vérifier le certificat du serveur.|
|*TLS key file*|Indiquez le chemin complet vers le fichier de clé privée client correspondant au certificat client.|
|*TLS certificate file*|Indiquez le chemin complet vers le fichier de certificat client si une authentification TLS mutuelle est requise.|
|*Server TLS certificate issuer*|Indiquez un nom distinctif (DN) de l'émetteur à faire correspondre avec le certificat du serveur.|
|*Server TLS certificate subject*|Indiquez un nom distinctif (DN) du sujet à faire correspondre avec le certificat du serveur.|

Sur les installations existantes, modifiez les champs suivants dans `zabbix.conf.php` :

```php
$ZBX_SERVER_TLS['ACTIVE'] = '1';
$ZBX_SERVER_TLS['CA_FILE'] = '/etc/zabbix/ssl/ca.crt';
$ZBX_SERVER_TLS['KEY_FILE'] = '/etc/zabbix/ssl/frontend.key';
$ZBX_SERVER_TLS['CERT_FILE'] = '/etc/zabbix/ssl/frontend.crt';
// Optionally:
// $ZBX_SERVER_TLS['CERTIFICATE_ISSUER']  = '/CN=MyZabbixCA/';
// $ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] = '/CN=zabbix-server.example.com/';
```

5\. Vérifiez le chiffrement en confirmant qu'il n'y a aucun message d'erreur dans l'interface Zabbix ou dans le fichier journal du serveur Zabbix :

```bash
tail -f /var/log/zabbix/zabbix_server.log
```

[comment]: # ({/b3284585-ec63018e})
