Você está visualizando a documentação da versão de desenvolvimento, ela pode estar incompleta.
Junte-se ao nosso projeto de tradução e ajude a traduzir a documentação do Zabbix em sua língua nativa.

1 Controle de acesso

Visão geral

Esta seção contém as melhores práticas para configurar o controle de acesso de forma segura.

Princípio do menor privilégio

As contas de usuário, em todos os momentos, devem operar com o menor número de privilégios possível. Isso significa que as contas de usuário no frontend do Zabbix, usuários do banco de dados ou o usuário para os processos do Zabbix server/proxy/agent devem ter apenas os privilégios essenciais para executar as funções pretendidas.

Conceder privilégios extras ao usuário 'zabbix' permitirá que ele acesse arquivos de configuração e execute operações que podem comprometer a segurança da infraestrutura.

Ao configurar privilégios de contas de usuário, os tipos de usuário do frontend do Zabbix devem ser considerados. Observe que, embora o tipo de usuário Admin tenha menos privilégios do que o tipo de usuário Super Admin, ele ainda pode gerenciar configurações e executar scripts personalizados.

Algumas informações estão disponíveis mesmo para usuários sem privilégios. Por exemplo, enquanto AlertasScripts está disponível apenas para usuários Super Admin, os scripts também podem ser recuperados através da API do Zabbix. Nesse caso, limitar as permissões dos scripts e excluir informações sensíveis dos scripts (por exemplo, credenciais de acesso) pode ajudar a evitar a exposição de informações sensíveis disponíveis em scripts globais.

Usuário seguro para o Zabbix agent

Por padrão, os processos do Zabbix server, proxy e agent (ou agent 2) compartilham um usuário zabbix. Para evitar que o Zabbix agent/agent 2 (executando na mesma máquina que o server/proxy) acesse detalhes confidenciais na configuração do server/proxy (por exemplo, credenciais do banco de dados), o agent deve ser executado sob um usuário diferente:

Para o Zabbix agent:

  1. Crie um grupo e usuário seguro (por exemplo, zabbix-agent).
  2. Defina este usuário no parâmetro User do arquivo de configuração do agent.
  3. Reinicie o agent para que as permissões sejam atribuídas ao novo usuário.

Para o Zabbix agent 2, a configuração deve ser aplicada no nível do serviço, pois o arquivo de configuração do agent 2 não suporta o parâmetro User. Para um exemplo, consulte ZBX-26442.

Revogue o acesso de gravação à configuração SSL (Windows)

Se você compilou o agent Zabbix no Windows, com o OpenSSL localizado em um diretório não protegido (por exemplo, C:\zabbix, c:\openssl-64bit, C:\OpenSSL-Win64-111-static ou C:\dev\openssl), certifique-se de revogar o acesso de gravação de usuários não administradores a esse diretório. Caso contrário, o agent carrega as configurações SSL de um caminho que pode ser modificado por usuários sem privilégios, resultando em uma potencial vulnerabilidade de segurança.

Reforçando a segurança dos componentes do Zabbix

Algumas funcionalidades podem ser desativadas para reforçar a segurança dos componentes do Zabbix:

  • a execução de scripts globais no Zabbix server pode ser desativada definindo EnableGlobalScripts=0 na configuração do server;
  • a execução de scripts globais no Zabbix proxy é desativada por padrão (pode ser ativada definindo EnableRemoteCommands=1 na configuração do proxy);
  • a execução de scripts globais nos agentes Zabbix é desativada por padrão (pode ser ativada adicionando um parâmetro AllowKey=system.run[<comando>,*] para cada comando permitido na configuração do agent);
  • a autenticação HTTP do usuário pode ser desativada definindo $ALLOW_HTTP_AUTH=false no arquivo de configuração do frontend (zabbix.conf.php). Observe que reinstalar o frontend (executando setup.php) removerá este parâmetro.