Cerebro Studio · Backlog · Changelog
RioNoTeatro • /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md
Abrir Studio Projeto externo em modo read-only; encaminhamento permitido, escrita bloqueada.

Backlog Unificado

Projeto: RioNoTeatro. Fonte principal: /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.

Modo read-only: ações de escrita ficam disponíveis apenas para o Cérebro.

Sem itens pendentes em /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.

Especificações Disponíveis (fora da fila pendente)

Detalhe do BK Selecionado

/www/wwwroot/rionoteatro.com.br/docs/backlog/BK-272-auditoria-seguranca-geral.md • 2026-04-13T08:34:14.974Z

Relatório de Auditoria de Segurança - Rio no Teatro (Abril 2026)

1. Resumo Executivo

Esta análise foi realizada para identificar vulnerabilidades e propor melhorias na infraestrutura e no código do site rionoteatro.com.br. O sistema apresenta maturidade em algumas áreas (CSRF, Rate Limit), mas requer ajustes em permissões e proteção de arquivos sensíveis.


2. Análise de Infraestrutura (Nginx + aaPanel)

2.1. Arquivos Sensíveis (.env, .git, config)

  • Status: O arquivo .env e os arquivos de configuração (connect.php) estão com permissão 644. No Linux, isso permite leitura por qualquer processo/usuário.
  • Risco: Exposição de credenciais de banco de dados e APIs em caso de falha de isolamento de processo.
  • Recomendação: Alterar permissão do .env e config/*.php para 600. Como o Nginx/PHP-FPM no aaPanel costuma rodar como usuário www, apenas esse usuário deve ter acesso.

2.2. Proteção de Diretórios (Nginx Vhost)

  • Status: O bloqueio de acesso a pastas sensíveis não pode ser feito via .htaccess. Deve ser feito no painel do aaPanel (Configurações do Site -> Arquivo de Configuração).
  • Risco: Se não houver blocos location específicos, arquivos .git, .env e backups podem ser baixados via URL.
  • Recomendação: Adicionar as seguintes diretivas no arquivo de configuração do Nginx no aaPanel:

```nginx

Bloqueio de arquivos sensíveis

location ~ ^/(\.git|\.env|\.ini|config|backups) {

deny all;

return 404;

}

Bloqueio de arquivos de log e backups soltos

location ~* \.(log|bak|sql|bkp)$ {

deny all;

return 404;

}

```


3. Análise de Código (Aplicação)

3.1. SQL Injection (SQLi)

  • Status: O sistema utiliza anti_injection(). Em Nginx, não há WAF nativo como o ModSecurity do Apache, a menos que o WAF do aaPanel esteja ativo.
  • Recomendação: Ativar o "Nginx Free WAF" no aaPanel para bloquear ataques comuns de injeção na camada de rede.

3.2. Cabeçalhos de Segurança (Nginx Headers)

  • Recomendação: Adicionar no bloco server do Nginx no aaPanel:

```nginx

add_header X-Frame-Options "SAMEORIGIN";

add_header X-Content-Type-Options "nosniff";

add_header X-XSS-Protection "1; mode=block";

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

```


4. Sugestões de Melhorias de Segurança (Backlog)

Prioridade ALTA:

  1. Reforço de Permissões (OS Level): Corrigir permissões do .env (chmod 600) e pastas de upload.
  2. Configuração do Nginx no aaPanel: Aplicar os blocos de deny all para arquivos ocultos e de configuração.
  3. Habilitar isolamento de site: No aaPanel, garantir que a opção "Anti-XSS" (que cria um .user.ini com open_basedir) esteja ativa.

Prioridade MÉDIA:

  1. Bloqueio de Arquivos no .htaccess: Adicionar regra para negar acesso a arquivos de configuração diretamente pela URL.
  2. Upgrade de PHPMailer: O sistema usa uma versão legada do PHPMailer; considerar atualizar para a versão mais recente via Composer para evitar vulnerabilidades conhecidas.
  3. Sanitização de Redirects: Tratar a variável r (return url) nos logins para evitar redirecionamentos para domínios externos maliciosos.

5. Conclusão

O site possui uma base sólida de segurança, mas a manutenção da integridade (especialmente após alertas de drift) e o reforço das permissões de arquivos são os próximos passos vitais para garantir uma operação 100% segura.

Relatório gerado em: 13/04/2026

Responsável: Codex (via Gemini CLI)