Firewall web
Como o firewall web do InfraFence pontua cada visitante a partir dos logs de acesso: tipos de ataque e pontos, decaimento, níveis de ação, regras de frequência, regras personalizadas e de onde vêm os logs.
Última atualização:
O firewall web lê os logs de acesso dos seus servidores web, dá uma pontuação a cada endereço visitante e bane o endereço no firewall quando a pontuação fica alta o suficiente. Funciona com qualquer servidor web que grave um log de acesso, não exige nenhuma alteração na configuração dele e não adiciona latência às requisições.
De onde vêm os logs
O agente encontra os logs de acesso sozinho, nesta ordem:
WEB_LOG_PATH, se definido (nesse caso substitui a detecção);- a configuração do nginx e do Apache (
access_log,CustomLog), os virtual hosts do OpenLiteSpeed, os domlogs do cPanel; - os contêineres web no host (veja Docker);
- os logs por domínio do Plesk, ISPConfig, DirectAdmin, CyberPanel e outros, e os caminhos habituais do nginx, Apache, LiteSpeed e Caddy.
Ele procura de novo a cada 5 minutos, então os sites novos são incluídos. As requisições de arquivos estáticos (CSS, JavaScript, imagens, fontes) não são pontuadas, e os endereços privados são ignorados.
Tipos de ataque e pontos
| Tipo de ataque | Pontos |
|---|---|
| Execução remota de código, web shell, Shellshock, user agent de scanner | 50 |
| SQL injection, SSRF, exploit web, honeypot | 40 |
| Path traversal, header injection, força bruta no WordPress ou em um CMS | 30 |
XSS, sondagem de .env, abuso de XML-RPC |
25 |
| Sondagem de configuração | 20 |
| Enxurrada de 404 | 15 |
Os user agents de scanners incluem sqlmap, nikto, nmap, masscan, wpscan, gobuster, nuclei, acunetix e nessus. O catálogo integrado completo, 109 padrões, é publicado com cada versão como waf-catalog.json, e a página Web firewall lista cada padrão que o agente aplica.
Regras de frequência
Alguns ataques são uma questão de volume. Estas regras somam os seus pontos quando um endereço passa do limite dentro da janela:
| Regra | Limite padrão | Janela |
|---|---|---|
| Login do WordPress | 10 | 2 minutos |
admin-ajax.php do WordPress sem sessão |
10 | 30 segundos |
| XML-RPC | 5 | 1 minuto |
| Login do Drupal, login do Joomla | 5 | 30 segundos |
| Varredura de plugins | 5 | 5 minutos |
| Enxurrada de 404 | 15 | 5 minutos |
Pontuação e ações
As pontuações diminuem 5 pontos por minuto, então uma única requisição estranha se apaga. A pontuação decide o nível:
| Pontuação | Nível | O que acontece |
|---|---|---|
| 30 | observar | Reportado como evento informativo. |
| 60 | conter | Reportado como aviso. |
| 80 | bloquear | Banido no firewall, reportado como crítico. |
| 100 | banir no firewall | Banido no firewall, reportado como crítico. |
Um banimento dura o que diz Configurações › Agente › Duração dos banimentos, como um banimento SSH. Um endereço que o ModSecurity já reportou não é pontuado uma segunda vez.
Alterar as regras
Na página Web firewall (proprietários e admins; os membros podem lê-la):
- por tipo de ataque: os Pontos, um Limite para as regras de frequência e o modo: Ativo, Apenas detecção (reportado, nunca banido) ou Desligado;
- Padrões integrados: desative padrões individuais que causem falsos positivos;
- Regras personalizadas: um padrão de texto simples ou de expressão regular comparado com a URL, o User-Agent ou o Referer, pontuado como o tipo de ataque que você escolher. Um caminho isca pontuado como honeypot pega os scanners. As expressões regulares usam a sintaxe RE2, sem diferenciar maiúsculas e minúsculas, e a caixa Testar em experimenta um padrão antes de você salvá-lo.
Salvar configurações WAF envia as alterações; os servidores as aplicam em poucos segundos.
Modo monitor
Com o Modo monitor ativado, todos os tipos ficam em apenas detecção: as pontuações e os eventos continuam, nada é banido.
Para bloquear dentro do servidor web, já na primeira requisição, veja ModSecurity.
