No ano passado, lançamos o
Nemesida WAF Free , um módulo dinâmico para o NGINX que bloqueia ataques a aplicativos da web. Diferentemente da versão comercial baseada no aprendizado de máquina, a versão gratuita analisa apenas solicitações usando o método de assinatura.
Recursos do lançamento do Nemesida WAF 4.0.129
Antes da versão atual, o módulo dinâmico Nemesida WAF suportava apenas o Nginx Stable 1.12, 1.14 e 1.16. A nova versão adiciona suporte ao Nginx Mainline a partir de 1.17 e Nginx Plus a partir de 1.15.10 (R18).
Por que fazer outro WAF?
O NAXSI e o mod_security são provavelmente os módulos WAF gratuitos mais populares, e o mod_security é promovido ativamente pelo Nginx, embora, inicialmente, ele fosse usado apenas no Apache2. Ambas as soluções são gratuitas, de código aberto e com muitos usuários em todo o mundo. Para mod_security, gratuito e comercial, por US $ 500 por ano, conjuntos de assinaturas estão disponíveis, para NAXSI - um conjunto gratuito de assinaturas prontas para uso, você também pode encontrar conjuntos de regras adicionais, como doxsi.
Este ano,
comparamos o desempenho do NAXSI e do Nemesida WAF Free. Brevemente sobre os resultados:
- O NAXSI não executa decodificação de URL dupla no cookie
- O NAXSI leva muito tempo para configurar - por padrão, as configurações de regra padrão bloqueiam a maioria das chamadas ao trabalhar com um aplicativo Web (autorização, editar um perfil ou material, participar de pesquisas etc.) e é necessário gerar listas de exceções, o que é ruim para a segurança. O Nemesida WAF Free com configurações padrão não executou nenhum falso positivo ao trabalhar com o site.
- o número de ataques perdidos por NAXSI é muitas vezes maior, etc.
Apesar das desvantagens, o NAXSI e o mod_security têm pelo menos duas vantagens - código aberto e um grande número de usuários. Apoiamos a idéia de divulgar o código-fonte, mas até agora não podemos fazer isso devido a possíveis problemas com a "pirataria" da versão comercial, mas para compensar essa desvantagem, divulgamos completamente o conteúdo do conjunto de assinaturas. Valorizamos a privacidade e nos oferecemos para verificar isso usando um servidor proxy.
Nemesida WAF Free Feature:
- banco de dados de assinatura de alta qualidade com um mínimo de falso positivo e falso negativo.
- instalação e atualização do repositório (isso é rápido e conveniente);
- eventos simples e compreensíveis sobre incidentes, não uma bagunça, como o NAXSI;
- totalmente gratuito, não possui restrições quanto à quantidade de tráfego, hosts virtuais etc.
Concluindo, darei algumas consultas para avaliar o desempenho do WAF (é recomendável usar em cada uma das zonas: URL, ARGS, Cabeçalhos e Corpo):
')) un","ion se","lect 1,2,3,4,5,6,7,8,9,0,11#"]
')) union/**/select/**/1,/**/2,/**/3,/**/4,/**/5,/**/6,/**/7,/**/8,/**/9,/**/'some_text',/**/11#"]
union(select(1),2,3,4,5,6,7,8,9,0x70656e746573746974,11)#"]
')) union+/*!select*/ (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"]
')) /*!u%6eion*/ /*!se%6cect*/ (1),(2),(3),(4),(5),(6),(7),(8),(9.),(0x70656e746573746974),(11)#"]
')) %2f**%2funion%2f**%2fselect (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"]
%5B%221807182982%27%29%29%20uni%22%2C%22on
%20sel%22%2C%22ect%201%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C%2some_text%27%2C11%23%22%5D
cat /et?/pa?swd
cat /et'c/pa'ss'wd
cat /et*/pa**wd
e'c'ho 'swd test pentest' |awk '{print "cat /etc/pas"$1}' |bas'h
c\a\t \/\e\t\c/\p\a\s\sw\d
cat$u+/etc$u/passwd$u
<svg/onload=alert()//
Se as solicitações não forem bloqueadas, provavelmente o WAF também perderá um ataque real. Antes de usar os exemplos, verifique se o WAF não bloqueia solicitações legítimas.