26 de janeiro de 2022 • 1 min de leitura
Setup WAF classic para bloqueio do LOG4j
No final de Novembro de 2021, pesquisadores relataram a descoberta de uma falha no Apache Log4j, ferramenta presente em uma infinidade de sistemas, que permite execução remota de código e tem nível de gravidade CVSS 10 de 10.
Nesse artigo aprenderemos uma forma de mitigar a vulnerabilidade a nível de WAF, para que ele não chegue a nossa aplicação. Dessa forma, vamos utilizar o serviço AWS WAF Classic.
Criar a condição
Entre no painel de configurações do WAF e dentro do campo CONDITION vamos selecionar o tipo String and Regex Matching
:
Feito isso, vamos seguir a seguinte lógica para criar uma lista de regras igual a da lista abaixo:
Body contains: "${lower:${lower:jndi}}" after converting to lowercase.
Body contains: "jndi:" after converting to lowercase.
Header 'authorization' contains: "jndi:" after converting to lowercase.
Header 'content-type' contains: "jndi:" after converting to lowercase.
Header 'user-agent' contains: "jndi" after converting to lowercase.
HTTP method contains: "jndi:" after converting to lowercase.
URI contains: "jndi:" after converting to lowercase.
URI contains: "${::-j}ndi:" after converting to lowercase.
URI contains: "${lower:${lower:jndi}}" after converting to lowercase.
URI contains: "${::-j}${::-n}${::-d}${::-i}:" after converting to lowercase.
No fim, você terá algo semelhante a essa imagem:
Regra
Criar uma nova regra, para isso selecione a opção RULE no menu lateral:
Configure associada a CONDITION que acabamos de criar, configure da seguinte forma:
Web-ACL
Com a regra criada, basta que configuremos dentro da Web-ACLs utilizada no ambiente e definir a ACTION como BLOCK, dessa forma vamos bloquear qualquer requisição que de match com a nossa regra.
Pronto, com o WAF configurado, teremos uma camada extra de proteção fazendo com que a ação maliciosa seja barrada antes de chegar na nossa aplicação.