docs: Atualização da documentação sobre ModSecurity (Arquitetura, TODO e README)

This commit is contained in:
João Pedro 2026-01-22 16:20:40 -03:00
parent 822dde3d06
commit d9a0b14d6f
3 changed files with 20 additions and 4 deletions

View File

@ -70,7 +70,13 @@ O container `nginx-proxy` é construído manualmente (`Dockerfile`) para incluir
- `nginx-mod-http-headers-more`
### 2. ModSecurity (WAF)
Rodar o WAF em container separado (`modsecurity`) evita a necessidade de compilar o ModSecurity no NGINX principal, facilitando atualizações e isolando falhas. Se o WAF falhar, o Proxy pode ser exposto diretamente mudando as portas no `docker-compose.yml` (Bypass de emergência).
Rodar o WAF em container separado (`modsecurity`) evita a necessidade de compilar o ModSecurity no NGINX principal.
**Arquitetura Customizada:**
- **Injeção de Template**: Um arquivo `modsec.conf.template` local é montado durante o boot para contornar limitações de permissão do container oficial. Ele instrui o NGINX a carregar regras customizadas.
- **Regras Modulares**: Localizadas em `modsec_rules/`, divididas por aplicação (`gitea-rule-exceptions.conf`, `nextcloud...`).
- **Global**: `global-exceptions.conf` define apenas a whitelist de rede.
- **Bypass de Emergência**: Se o WAF falhar, altere as portas no `docker-compose.yml` para expor o `nginx-proxy` diretamente.
---

View File

@ -8,9 +8,9 @@
## 2. Revisão de Regras ModSecurity
**Origem:** Migração de `legacy/nginx/modsecurity/*.conf` (Regras Antigas)
- **Status:** ⚠️ Parcial (Arquivos em `modsec_rules/`, mas injeção desabilitada).
- **Objetivo:** Rever todas as regras para fazerem sentido no contexto atual (OWASP CRS v4) ou mudar o método de inserção.
- **Ação:** Auditar exceções de Gitea, Grafana, etc., e reativar apenas o necessário.
- **Status:** ✅ Concluído.
- **Resolução:** Regras refatoradas para estrutura modular (`modsec_rules/`). WAF ativo e configurado via template injection para Gitea, Nextcloud, Exchange, Zabbix e outros.
- **Ação:** Monitorar logs (`modsec_audit.log`) para ajustes finos futuros.
## 3. Atualizações Zero-Downtime (Sem Queda)
**Objetivo:** Criar um método para atualizar configurações de sites sem que clientes externos percam a conexão.

View File

@ -86,6 +86,16 @@ As configurações globais são modularizadas na pasta `snippets/`.
- **Bloqueio de Bots**: Edite `snippets/security_maps.conf` para adicionar novos User-Agents à lista negra.
- **Cache**: Edite `snippets/cache_zones.conf` para definir novas zonas ou tempos de cache.
### 3.1. Modificar Regras do WAF (ModSecurity)
O WAF agora utiliza uma estrutura modular de regras localizada na pasta `modsec_rules/`.
- **Arquivos Específicos**: Regras para Gitea, Nextcloud, Exchange, Zabbix, etc. ficam em seus respectivos arquivos `.conf`.
- **Global**: `global-exceptions.conf` contém apenas whitelists de rede interna.
- **Aplicação**: Após editar qualquer regra, reinicie o container do WAF para aplicar:
```bash
docker compose restart modsecurity
```
> **Nota Técnica**: O arquivo `modsec.conf.template` na raiz é injetado no container durante o boot para contornar problemas de permissão e garantir o carregamento das regras customizadas.
### 4. Gerenciar Certificados SSL
O sistema gerencia isso automaticamente, mas você pode intervir manualmente se necessário.