Segurança 07/01/2026

Monitorando Expiração de Certificados X.509 com Grafana

Aprenda a criar um dashboard no Grafana para monitorar a expiração de certificados X.509, garantindo a segurança e a continuidade dos seus sistemas.
EQ
Por Equipe Midiaville
Especialistas em desenvolvimento web
05 de Janeiro de 2026

Segurança

A segurança no desenvolvimento web e de sistemas é um aspecto crucial que não pode ser negligenciado. Uma parte fundamental dessa segurança reside na gestão adequada de certificados X.509, utilizados para autenticação e criptografia em diversas aplicações. No entanto, monitorar a expiração desses certificados pode ser uma tarefa complexa, especialmente quando se lida com um grande número deles. A Woovi, uma fintech brasileira inovadora, enfrentava esse desafio e encontrou uma solução elegante e eficiente utilizando Kubernetes, Prometheus e Grafana. Este artigo explora essa solução, demonstrando como você também pode criar um painel de monitoramento de expiração de certificados X.509.

O Desafio da Gestão de Certificados X.509

Certificados X.509 não são apenas para domínios de sites. Empresas como a Woovi utilizam esses certificados para diversas finalidades, incluindo conexões mTLS (mutual Transport Layer Security), assinatura de mensagens XML ISO 20022 e emissão de notas fiscais eletrônicas (NF-e) através de certificados A1 e A3, além do acesso a sistemas do Banco Central e do governo. A complexidade e a variedade de usos exigem uma abordagem robusta para garantir que nenhum certificado expire inesperadamente, causando interrupções nos serviços.

As ferramentas tradicionais de monitoramento de certificados, muitas vezes, focam apenas na renovação automática de certificados de domínio. No entanto, em muitos casos, a renovação automática não é uma opção viável, pois requer a verificação manual por uma pessoa. O desafio então se torna: como monitorar a expiração de certificados X.509 de forma centralizada e eficiente, sem depender da renovação automática?

A Solução: x509-certificate-exporter, Prometheus e Grafana

A solução encontrada pela Woovi envolve o uso combinado de três ferramentas poderosas: x509-certificate-exporter, Prometheus e Grafana. Cada uma dessas ferramentas desempenha um papel crucial no processo de monitoramento.

x509-certificate-exporter: O Coletor de Métricas

O x509-certificate-exporter é um exportador Prometheus que lê certificados X.509 de diversas fontes, incluindo arquivos, configurações do Kubernetes e secrets. Ele transforma as informações dos certificados em métricas que podem ser coletadas pelo Prometheus. Isso significa que, em vez de verificar manualmente cada certificado, podemos usar o x509-certificate-exporter para expor os dados relevantes, como a data de expiração, em um formato padronizado.

Para implantar o x509-certificate-exporter, podemos usar um deployment do Kubernetes. O exemplo abaixo mostra uma configuração básica para monitorar arquivos de certificado:


apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: x509-certificate-exporter
  name: x509-certificate-exporter
spec:
  replicas: 1
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
  selector:
    matchLabels:
      app: x509-certificate-exporter
  template:
    metadata:
      labels:
        app: x509-certificate-exporter
    spec:
      containers:
        - name: x509-certificate-exporter
          image: enix/x509-certificate-exporter:latest
          ports:
            - containerPort: 9793
          volumeMounts:
            - name: certs
              mountPath: /etc/certs
              readOnly: true
          args:
            - --debug
            - --watch-dir=/etc/certs
      volumes:
        - name: certs
          configMap:
            name: x509-certificates

Neste deployment, o x509-certificate-exporter é configurado para observar o diretório /etc/certs, onde os arquivos de certificado estão montados. As métricas coletadas são expostas na porta 9793.

Gerando ConfigMaps com Kustomize

Para facilitar a implantação dos certificados no Kubernetes, podemos utilizar o Kustomize para gerar ConfigMaps a partir dos arquivos X.509. O Kustomize permite personalizar as configurações do Kubernetes sem modificar os arquivos YAML originais.

O exemplo abaixo mostra um arquivo kustomization.yaml que gera um ConfigMap chamado x509-certificates a partir dos arquivos cert-a.crt e cert-b.crt:


apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: x509-certificate-exporter

resources:
- deployment.yaml

configMapGenerator:
  - name: x509-certificates
    files:
      - ./certs/cert-a.crt
      - ./certs/cert-b.crt

Para aplicar essa configuração, basta executar o comando kubectl apply -k /deployments/x509-certificate-exporter. Isso criará o ConfigMap e o deployment do x509-certificate-exporter no namespace x509-certificate-exporter.

Prometheus: O Armazenador de Métricas

O Prometheus é um sistema de monitoramento e alerta de código aberto que coleta métricas de diversas fontes. No nosso caso, ele coleta as métricas expostas pelo x509-certificate-exporter. Para configurar o Prometheus para coletar essas métricas, é necessário adicionar um target ao arquivo de configuração do Prometheus.

Um exemplo de configuração do Prometheus para coletar as métricas do x509-certificate-exporter é:


scrape_configs:
  - job_name: 'x509-certificate-exporter'
    static_configs:
      - targets: ['x509-certificate-exporter.x509-certificate-exporter.svc.cluster.local:9793']

Esta configuração define um job chamado x509-certificate-exporter que coleta métricas do serviço x509-certificate-exporter na porta 9793. É importante ajustar o nome do serviço e a porta de acordo com a sua configuração.

Grafana: O Painel de Visualização

O Grafana é uma plataforma de visualização de dados que permite criar dashboards personalizados para monitorar as métricas coletadas pelo Prometheus. Com o Grafana, podemos criar um painel que exibe a data de expiração dos certificados X.509, permitindo identificar facilmente os certificados que estão prestes a expirar.

Existe um dashboard pré-configurado no Grafana, chamado "Certificates Expiration (X509 Certificate Exporter)", que pode ser importado para o seu ambiente Grafana. Este dashboard já contém os gráficos e painéis necessários para visualizar as informações dos certificados.

Para importar o dashboard, basta pesquisar por "Certificates Expiration (X509 Certificate Exporter)" na galeria de dashboards do Grafana e selecionar o dashboard correspondente. Após a importação, o dashboard estará pronto para ser utilizado.

Benefícios da Solução

A solução baseada em Kubernetes, Prometheus e Grafana oferece diversos benefícios em relação às abordagens tradicionais de monitoramento de certificados:

  • Centralização: Permite monitorar todos os certificados X.509 em um único painel.
  • Visibilidade: Fornece uma visão clara e concisa da data de expiração de cada certificado.
  • Alertas: Permite configurar alertas para notificar quando um certificado está prestes a expirar.
  • Automação: Automatiza o processo de coleta e visualização de métricas, reduzindo o esforço manual.
  • Flexibilidade: Pode ser adaptada para monitorar certificados de diversas fontes, incluindo arquivos, configurações do Kubernetes e secrets.

Próximos Passos

Após implementar o painel de monitoramento de expiração de certificados X.509, o próximo passo é configurar alertas para notificar quando um certificado está prestes a expirar. Isso pode ser feito utilizando o Alertmanager do Prometheus. O Alertmanager permite definir regras de alerta com base nas métricas coletadas pelo Prometheus e enviar notificações por e-mail, Slack ou outros canais.

Além disso, é importante revisar periodicamente os certificados X.509 e renová-los antes da data de expiração. A automação do processo de renovação pode ser implementada utilizando ferramentas como cert-manager, mas é importante garantir que o processo de renovação inclua a verificação manual por uma pessoa para garantir a segurança e a conformidade.

Conclusão

A combinação de Kubernetes, Prometheus e Grafana oferece uma solução poderosa e flexível para monitorar a expiração de certificados X.509. Essa solução permite centralizar o monitoramento, visualizar as informações de forma clara e concisa, e configurar alertas para evitar interrupções nos serviços. A Woovi, ao adotar essa abordagem, demonstra como ferramentas modernas podem ser utilizadas para resolver problemas comuns em diversas empresas.

O futuro do monitoramento de certificados provavelmente envolverá ainda mais automação e integração com outras ferramentas de segurança. A capacidade de detectar e responder a ameaças em tempo real será cada vez mais importante, e o monitoramento de certificados desempenhará um papel fundamental nesse processo. A adoção de práticas de DevSecOps, que integram a segurança em todas as fases do ciclo de vida do desenvolvimento de software, será essencial para garantir a segurança e a conformidade dos sistemas.

E você, quais soluções de monitoramento você está utilizando em sua empresa? Compartilhe suas experiências e dicas nos comentários!

Compartilhe este artigo

Artigos Relacionados

Continue explorando nossos insights sobre desenvolvimento web e estratégias digitais

Precisa de Uma Solução Personalizada?

Nossa equipe especializada está pronta para desenvolver a solução ideal para o seu negócio.