Conteúdo

Prometheus – Adicionando autenticação basic auth

Quando se trata de monitorar infraestruturas e sistemas complexos, o Prometheus é uma das ferramentas mais poderosas e populares disponíveis. No entanto, sua instalação padrão não inclui autenticação, o que pode ser um ponto de vulnerabilidade se o serviço estiver exposto na internet.

Criado o arquivo web.yml

O primeiro passo para adicionar autenticação ao Prometheus é criar um arquivo de configuração chamado web.yml. Este arquivo conterá as credenciais necessárias para a autenticação Basic Auth.

Gerando a senha hash

Uma das partes importantes na configuração do Basic Auth é garantir que a senha utilizada seja segura e armazenada de forma segura. Para isso, usaremos uma hash da senha. As senhas hash são uma forma de criptografar as senhas de modo que o valor armazenado não seja a senha em si, mas uma representação cifrada dela.

Para gerar essa hash, você pode usar o seguinte código Python, que utiliza a biblioteca bcrypt para criar uma senha segura:

Este código pode ser executado em um ambiente como o Google Colab, que é ideal para quem não possui Python instalado na máquina local. Ao executar, um prompt será aberto para que você digite sua senha e, em seguida, receberá a senha hash que será utilizada na configuração.

Configuração do arquivo web.yml

Com a senha hash em mãos, você deve adicionar essa informação no arquivo web.yml. O arquivo ficará assim:

Aqui, admin é o nome do usuário e a sequência após admin: é a senha hash gerada anteriormente.

Subindo o Prometheus com a nova configuração

Agora que temos o arquivo web.yml configurado, é necessário iniciar o Prometheus com este arquivo de configuração. Para isso, inicie o Prometheus apontando para o arquivo web.yml.

Acessando o Prometheus

Após subir o Prometheus com as novas configurações, ao acessar a URL do Prometheus na porta 9090, a autenticação será exigida. Se você estiver utilizando o Grafana como datasource, não esqueça de atribuir também o usuário e senha.

Conclusão

Manter o Prometheus acessível sem autenticação pode expor dados críticos e operacionais a riscos desnecessários. Implementar o Basic Auth é um método simples e eficaz de proteger seu servidor Prometheus, garantindo que apenas usuários autorizados tenham acesso. Esta configuração simples oferece uma camada adicional de segurança, crucial para a manutenção da integridade e confidencialidade das métricas coletadas pela sua infraestrutura de monitoramento.

Compartilhe:

Tiago Tartari

Tiago Tartari

Eu ajudo e capacito pessoas e organizações a transformar problemas complexos em soluções práticas usando a tecnologia para atingir resultados extraordinários.

Qual é o desafio
que você tem hoje?