CL-2026-03-10-BK-111 · BK-111 Monitor SSL/ACME e blindagem de renovação automática
- Status: (V) conferido e aprovado
- Escopo: operação
- Projetos afetados: rionoteatro, seuimovel, rnt.art.br, legalizarj, cerebro
- BK relacionado: BK-111
- Aprovação humana obrigatória: sim
- Data: 2026-03-10
- Autor: Codex (GeJoRei-VPS)
Resumo
Blindagem do fluxo de renovação SSL automática via aaPanel/Let's Encrypt para evitar indisponibilidade quando o certificado expira. O trabalho incluiu correção de regras Nginx que bloqueavam ou desviavam /.well-known/acme-challenge/ e a criação de um monitor diário no Cerebro para verificar certificado e desafio ACME dos domínios críticos.
Entregas Técnicas
1) Correção do rionoteatro.com.br
- Corrigida a vhost rionoteatro.com.br.conf para permitir
/.well-known/acme-challenge/antes do bloqueio de dotfiles. - Restaurado o topo da vhost para o formato esperado pelo aaPanel (
#CERT-APPLY-CHECK,#SSL-START, âncora#error_page 404/404.html;). - Validado o
Forçar HTTPSdo aaPanel após normalização da configuração.
2) Correção do seuimovel.rio.br
- Adicionada exceção explícita para
/.well-known/acme-challenge/em seuimovel.rio.br.conf antes doproxy_passda aplicação Django. - Eliminado o risco de
404no token ACME em HTTPS durante renovação automática.
3) Correção do rnt.art.br
- Adicionada exceção explícita para
/.well-known/acme-challenge/em rnt.art.br.conf. - Ajustados os redirects de domínio em 010fdac6e3f0977f21540bdb6bda5920_rnt.art.br.conf e 1965693ebd6c9c57113edf7358c63d7c_rnt.art.br.conf para não capturarem o challenge ACME.
4) Validação do legalizarj.com.br
- Confirmado que o domínio já possuía suporte adequado ao challenge ACME na vhost legalizarj.com.br.conf.
- Mantido sem alteração estrutural.
5) Monitor diário de SSL/ACME no Cerebro
- Criado o script monitor_ssl_acme_domains.sh.
- Escopo do monitor:
- verifica dias restantes do certificado
- valida localmente o caminho
/.well-known/acme-challenge/por HTTP/HTTPS com token temporário - registra log em
/www/server/cron/cerebro_ssl_acme_monitor.log - envia alerta pelo mesmo canal WhatsApp já usado pelos monitores externos
- Agendado no
crontabdorootpara rodar diariamente às06:20.
Evidências Objetivas
- Branch usada:
vps/BK-111-ssl-acme-monitor nginx -tvalidado com sucesso após as correções- Reload do Nginx executado com o binário do aaPanel
- Execução real do monitor:
rionoteatro.com.br: ok, cert 89d, ACME 301/200seuimovel.rio.br: ok, cert 53d, ACME 301/200rnt.art.br: ok, cert 82d, ACME 200/200legalizarj.com.br: ok, cert 85d, ACME 200/200- Registro atual do
rionoteatro.com.brno aaPanel comauto_renew = 1erenew_status = 1.
Riscos Residuais
- A renovação automática continua dependendo de o caminho
/.well-known/acme-challenge/permanecer acessível nas vhosts e não ser quebrado por novos redirects, proxies ou regras de segurança. - Alterações futuras manuais em Nginx/aaPanel podem remover os marcadores ou exceções que hoje sustentam a renovação automática.
- O monitor diário reduz risco operacional, mas não substitui revisão após mudanças estruturais em vhost, proxy ou domínio.