79 lines
4.4 KiB
Plaintext
79 lines
4.4 KiB
Plaintext
# ==========================================================================
|
|
# Pathfinder Proxy - Application Specific ModSecurity Tuning
|
|
# ==========================================================================
|
|
# Este arquivo centraliza as exceções e ajustes para garantir o funcionamento
|
|
# de aplicações críticas sem comprometer a segurança global.
|
|
### 5. Configuração de DLP (Data Loss Prevention)
|
|
- **Fase**: Phase 4 (Headers) e Phase 5 (Body).
|
|
- **Escopo**: **Crítico!** As regras de DLP serão aplicadas apenas em domínios/URLs que NÃO deveriam exibir dados sensíveis.
|
|
- **Exclusão**: Sistemas que precisam exibir dados (ex: ERP, CRM) serão excluídos via `ctl:ruleRemoveByTag='DLP'`.
|
|
- **Ação**: `deny` (bloqueio total) ou `replace` (mascaramento ex: `***.***.***-XX`).
|
|
# IDs de regras customizadas: 10000 - 10999
|
|
# ==========================================================================
|
|
|
|
# --------------------------------------------------------------------------
|
|
# 1. NEXTCLOUD (Configurações Adicionais ao Plugin)
|
|
# --------------------------------------------------------------------------
|
|
# Aumenta limites de body para suportar uploads grandes via WebDAV
|
|
SecRequestBodyLimit 10737418240
|
|
SecRequestBodyNoFilesLimit 1048576
|
|
|
|
# --------------------------------------------------------------------------
|
|
# 2. ZABBIX & APIs JSON-RPC
|
|
# --------------------------------------------------------------------------
|
|
# Desativa inspeção pesada para rotas de API que usam muito JSON/RPC
|
|
SecRule REQUEST_URI "@rx (api_jsonrpc\.php|jsrpc\.php|zabbix\.php)" \
|
|
"id:10001,phase:1,nolog,pass,ctl:ruleEngine=Off,msg:'TUNING: Zabbix API Bypass'"
|
|
|
|
# --------------------------------------------------------------------------
|
|
# 3. GITEA (Git Service)
|
|
# --------------------------------------------------------------------------
|
|
# Permite operações de Git (upload, edit, wiki) que contém código/scripts
|
|
SecRule REQUEST_URI "@rx ^/.*/(src/branch|_edit|_new|commits/branch|upload-file|wiki)/" \
|
|
"id:10002,phase:1,nolog,pass,ctl:ruleEngine=Off,msg:'TUNING: Gitea Operations Bypass'"
|
|
|
|
# --------------------------------------------------------------------------
|
|
# 4. MICROSOFT EXCHANGE (OWA / ECP)
|
|
# --------------------------------------------------------------------------
|
|
# Proteção de motor para caminhos de interface do Exchange
|
|
SecRule REQUEST_URI "@rx ^/(owa|ecp)/" \
|
|
"id:10003,phase:1,nolog,pass,ctl:ruleEngine=Off,msg:'TUNING: Exchange Web UI Bypass'"
|
|
|
|
# --------------------------------------------------------------------------
|
|
# 5. UNIFI CONTROLLER
|
|
# --------------------------------------------------------------------------
|
|
# Permite comunicação da API do UniFi que usa métodos e corpos específicos
|
|
SecRule REQUEST_URI "@beginsWith /api/" \
|
|
"id:10004,phase:1,nolog,pass,ctl:ruleEngine=Off,msg:'TUNING: UniFi API Bypass'"
|
|
|
|
# --------------------------------------------------------------------------
|
|
# 6. VMWARE vCENTER
|
|
# --------------------------------------------------------------------------
|
|
# Exclui motor para interface de gerenciamento vSphere UI
|
|
SecRule REQUEST_URI "@beginsWith /ui/" \
|
|
"id:10005,phase:1,nolog,pass,ctl:ruleEngine=Off,msg:'TUNING: vCenter UI Bypass'"
|
|
|
|
# --------------------------------------------------------------------------
|
|
# 7. VEEAM BACKUP & REPLICATION
|
|
# --------------------------------------------------------------------------
|
|
# Garante que o console web do Veeam não seja bloqueado por falso positivo
|
|
SecRule REQUEST_URI "@rx ^/(veeam|VeeamBackup)/" \
|
|
"id:10006,phase:1,nolog,pass,ctl:ruleEngine=Off,msg:'TUNING: Veeam Console Bypass'"
|
|
|
|
# --------------------------------------------------------------------------
|
|
# --------------------------------------------------------------------------
|
|
# 9. ANTI-BRUTE FORCE (Global)
|
|
# --------------------------------------------------------------------------
|
|
# Inicializa coleção por IP
|
|
SecAction "id:10100,phase:1,nolog,pass,initcol:ip=%{remote_addr}"
|
|
|
|
# Monitora tentativas de login (POST em páginas comuns)
|
|
SecRule REQUEST_METHOD "@streq POST" \
|
|
"id:10101,phase:1,nolog,pass,chain"
|
|
SecRule REQUEST_URI "@rx (login|wp-login|signin|authenticate)" \
|
|
"setvar:ip.login_counter=+1,expirevar:ip.login_counter=120"
|
|
|
|
# Bloqueia se passar de 5 tentativas em 2 minutos
|
|
SecRule ip.login_counter "@gt 5" \
|
|
"id:10102,phase:1,deny,status:429,msg:'BRUTE FORCE: IP temporariamente bloqueado',tag:'SECURITY',tag:'BRUTE_FORCE'"
|