[comment]: # ({a804241c-5407a56a})
# 6 Conexão segura com o frontend

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

[comment]: # ({5ca67f7f-7cadd09e})
#### Visão geral

Esta seção fornece etapas de configuração do Zabbix e exemplos de configuração para conexões TLS seguras entre o frontend do Zabbix e o server do Zabbix.

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

[comment]: # ({b3284585-ec63018e})
#### Configuração

Por padrão, a comunicação entre o frontend do Zabbix e o server do Zabbix não é criptografada. Para maior segurança, habilite TLS em ambos os lados. Abaixo está um exemplo da forma mais simples de fazer isso.

1\. Gere certificados e chaves.

Crie um diretório de trabalho:

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

Crie um certificado de CA (ajuste o valor `MyZabbixCA` para corresponder ao nome comum real):

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

Gere uma chave privada e um certificado para o server do Zabbix (ajuste o valor `zabbix-server.example.com` para corresponder ao nome comum real):

```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
```

Gere uma chave privada e um certificado para o frontend do Zabbix (ajuste o valor `zabbix-frontend-node` para corresponder ao nome comum real):

```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\. Defina as permissões adequadas. 

Para o server do Zabbix (ajuste o proprietário/grupo de acordo com o usuário do daemon do server do Zabbix na sua distribuição):

```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
```

Para o frontend (ajuste o proprietário/grupo de acordo com o usuário do servidor web na sua distribuição):

```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\. Configure o server do Zabbix.

Em `zabbix_server.conf`, adicione:

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

Em seguida, reinicie o server:

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

4\. Configure o frontend do Zabbix.

Durante a [instalação da interface web](/manual/installation/frontend), habilite a opção *Criptografar conexões da interface web* (e a opção *Verificar emissor e assunto do certificado do server*, se necessário) e preencha os campos *Arquivo CA TLS*, *Arquivo de chave TLS*, *Arquivo de certificado TLS* (e os campos *Emissor do certificado TLS do server* e *Assunto do certificado TLS do server*, se necessário):

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

|Parâmetro|Descrição|
|--|--------|
|*Arquivo CA TLS*|Especifique o caminho completo para o arquivo de certificado da Autoridade Certificadora (CA) usado para verificar o certificado do server.|
|*Arquivo de chave TLS*|Especifique o caminho completo para o arquivo de chave privada do cliente correspondente ao certificado do cliente.|
|*Arquivo de certificado TLS*|Especifique o caminho completo para o arquivo de certificado do cliente se a autenticação TLS mútua for necessária.|
|*Emissor do certificado TLS do server*|Especifique um Nome distinto (DN) do emissor para corresponder ao certificado do server.|
|*Assunto do certificado TLS do server*|Especifique um Nome distinto (DN) do assunto para corresponder ao certificado do server.|

Em instalações existentes, edite os seguintes campos em `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';
// Opcionalmente:
// $ZBX_SERVER_TLS['CERTIFICATE_ISSUER']  = '/CN=MyZabbixCA/';
// $ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] = '/CN=zabbix-server.example.com/';
```

5\. Verifique a criptografia confirmando que não há mensagens de erro no frontend do Zabbix ou no arquivo de log do server do Zabbix:

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

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