Figura 1: Eventos WAF que ocorreram nas últimas 6 horas.
2. Veja as 10 principais Identificações de Regras desencadeadas por este tráfego. Os códigos de regra são uma ótima maneira de filtrar ainda mais o tráfego e observar as cargas úteis para vários eventos WAF. Dito isto, comece a filtrar o tráfego por estes códigos de regra, um por um, para análise posterior.
Figura 2: Top 10 regras que foram disparadas pelos eventos do WAF.
3. Em seguida, analise os valores de carga útil que desencadearam esta regra olhando para o campo de valor correspondente.
Figura 3: Valores de carga útil sob a coluna de valor combinado.
4. Analise os valores de carga útil para identificar se são maliciosos. Não tem a certeza do que se parecem? Aqui estão alguns valores potencialmente maliciosos que podem encontrar na carga.
- Passagem do caminho: http://some_site.com.br/../../../../some dir/Some file¹ http://testsite.com/get.asp?f=/etc/passwd²
- Vulnerabilidades do LFI: Um invasor está tentando acessar arquivos confidenciais no servidor, como .ini. O Egelcast WAF bloqueia esta e muitas outras extensões críticas do sistema de arquivos por padrão.³
- Scripts entre sites: http://testsite.test/<script>Alerta (“teste”);</script>⁴ <img src http://url.to.file.which/not.exist” onerror alert(document.cookie);>⁵
- Injeção de SQL: SELECIONE * DOS ITENS EM QUE ‘A’⁶’;⁷ SELECIONE 1;
- Execução remota de código: eval;⁸
- Ataques baseados no tempo: Selecione 1 e sonâmbulo (2);⁹ SELECT BENCHMARK(2000000,md5(‘A’);¹⁰
5. Se ainda não tiver certeza se a carga útil era maliciosa, uma ótima maneira de descobrir isso é olhando para a lista de IPs de clientes que iniciaram as solicitações com a carga correspondente. Se os IPs do cliente são distribuídos, ou seja, variados, há uma boa chance de que a carga seja um falso positivo. No entanto, se todos os IPs do cliente tiverem o mesmo valor, isso indicaria um potencial ataque volumétrico, classificando-o como uma carga maliciosa. Para demonstrar isso, vamos consultar o passo 3 e escolher este valor combinado ——————————————————- Para descobrir a lista de IPs de clientes que enviaram esta carga, adicione o valor correspondente como um filtro da seguinte forma:
Figura 5: IPs clientes que enviaram o valor da carga útil:
Neste caso, dada a variedade de endereços IP que fazem esta solicitação, há uma grande probabilidade de que essas solicitações tenham sido originadas de usuários reais tornando-as um bom candidato para um falso positivo.
6. Uma vez identificado um falso positivo, você pode criar uma exceção para ele na seção de regras geridas, mas antes de fazer isso, você precisa descobrir onde essa carga útil foi encontrada; cadeia de consulta, cabeçalho de solicitação, URL ou outro local. Isto é facilmente feito olhando para a coluna correspondente na mesma página do passo 5. Neste caso de uso, a carga útil foi encontrada no argumento de consulta de dados, como mostrado abaixo:
Figura 6: Localização do valor da carga útil:
7. Uma boa regra é filtrar esses campos específicos correspondentes em campos que contêm a carga falsa-positiva e, em seguida, verificar se não há nenhuma outra solicitação com esse parâmetro correspondente a um carregamento malicioso real. Por outras palavras, a carga no campo em particular não é maliciosa. Isto é conseguido adicionando um filtro no campo correspondente. Olhando para o nosso caso de uso, podemos confirmar que não há nenhuma carga maliciosa encontrada neste argumento de consulta:
Figura 7: Todos os valores de carga enviados no argumento de consulta: Dados.
8. O passo final antes de criar uma exceção é encontrar os códigos de regra acionados pelo campo Matched On. Estamos a tentar observar todas as regras (Identificações de Regras) que foram desencadeadas por este falso positivo. Com base no nosso caso de uso, esta informação está disponível na mesma página do passo 5.
Figura 8: A lista de regras desencadeadas pelo valor da carga útil:
9. É hora de criar a exceção. Vá para a seção Regras geridas e clique na regra gerida à qual deseja adicionar estas exceções.
Figura 9: Regras Geradas existentes criadas para a configuração do WAF.
10. Vá para a guia Exceções e clique em Adicionar nova condição. Escolha o tipo de correspondência no campo, como args, request_cookies, ou URL onde a carga foi encontrada. Em seguida, digite o nome do parâmetro, como consulta ou cookie. Finalmente, digite a lista de todos os códigos de regra que a carga acionou.