[FUG-BR] mod_security

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Terça Janeiro 27 17:16:12 BRST 2015


> On 27/01/2015, at 16:43, Fabricio Lima <listas em fabriciolima.com.br> wrote:
> 
> ola bsd people,
> 
> Queria ter uma opinião/feedback de vcs sobre WAF e proteçoes web.
> 
> Se limitar em opensource versus pago, fica booleano:
> 
> -usa ferramentas free: mod_security + regras custom e/ou core rule set
> -usar soft comercial: Imperva / F5.
> 
> Mas ha 'soft livre com pegada comercial' (rt, splunk, etc)
> 
> Por isso pergunto: alguem ja usou e recomendaria o modsecurity com regras
> comerciais da Trustwave SpiderLabs?
> 
> https://www.modsecurity.org/rules.html
> 
> 
> E alguem aqui ja tem um parametro ou fez benchmark para poder comparar o
> real ganho de um waf comercial versus modsecurity + coreruleset?

Sim. Recomendo 100%.

Mas lembre-se, um WAF vai alem da proteção que o Mod Security pode prover. Existem outras necessidades pra mitigar ataques que não se pega em assinatura, como slow attacks, OpenSSL renegotiate, secure cookie, normalização de handshake SSL, timeouts, e principalmente base de reputação, GeoIP, controle de instâncias simultâneas, controle de banda (por GeoIP), timeout por request type, controle de fluxo por CIDR, etc.

Além disso voce precisa conseguir separar robôs de browser autentico, como o modulo testcookie faz.

Aqui na FreeBSD Brasil temos uma solução que chamamos ProApps WAF. Usamos em diversos clientes de referencia, bancos, agencias de governo, ministérios e e-commerce tanto gateway de pagamento quanto B2C. Ja substituímos muitos Imperva e Qualys o e particularmente tudo que precisamos fazer, conseguimos.

Vai muito alem de modsecurity.

Eu recomendo a adoção de nginx+modsecurity+naxsi+testcookie+geoip+reputação, módulo LUA pq tem muitos cenários de ataques e taxonomias que você vai precisar controlar de forma específica, e tem coisa que voce vai ter que tratar com flexibilidade, e usar o suporte a LUA vai ajudar. Ou customizações no modsecurity, menos flexíveis e menos leves.

O testcookie por exemplo nós mudamos ele consideravelmente, tanto o lado modulo quanto as rotinas ajax enviadas pro browser cliente.

Além disso criamos nesse próprio componente uma camada a mais de segurança fazendo Public Cert/Key Pinning, caso alguém esteja fazendo MITM de HTTPS fica mais bem evidente e fácil detectar. Lembrando que MITM de HTTPS hj em dia todo mundo faz, desde que meteram suporte no Squid, passou a ter um nome bonito de HTTPS Interception mas é altamente perigoso e alarmante, e um webservice ou webserver que se preze com segurança deve cuidar disso.

Como a maioria dos desenvolvedores de sistema insistem em não se preocupar com isso, nem mesmo os famosos “guardiões” da GAS/DIEBOLD, resolvemos fazer no WAF usando a mesma abordagem do teste do lado cliente com challenge enviado pelo servidor.

Portanto, convenhamos, sem querer apontar o dedo, com alguma pouca malícia podemos ver que 8 em 10 dos WAF comerciais usam exatamente nginx. Então sim, você está bem servidor com uma abordagem open source, ainda que com bastante customização e melhorias próprias (afinal open source é a ferramenta, o que você faz com ela depende de você). No entanto não, mod_security não é suficiente sozinho pra ser uma alternativa a um WAF de referência no mercado.

Eu pessoalmente gosto muito do Suricata e muito do que o Suricata tem, incluindo base de reputação e regras ET-Pro, eu adoto no ProApps WAF. Lembrando que no próprio site do OWASP voce tem ferramentas pra converter regras do Suricata pra Mod Security (e vice-versa).

Dê especial atenção as regras experimentais e extras, elas tem no primeiro momento uma grande chance de bloquear coisas indevidas mas pq não foram customizadas pro cenário específico a ser protegido. Só as base rules são “turn key” as demais tem que investir um bom tempo, esforço e carinho hehehe. Um bom WAF depende muito do seu processo e cuidado na implantação. Seja no treinamento do WAF positivo (NAXSI), seja no tuning do WAF negativo (ModSec+todo+o+resto).

Enfim, a seriedade e habilidade das pessoas envolvidas vai ser o fator determinante. Portanto o valor do recurso humano, da consultoria, na implantação, é o diferencial. Recursos, com open source você não vai sentir falta de nada.

Da uma boa garimpada nos módulos nginx mesmo os que não estão no ports. Tem pérolas e pepitas nos GIT e Google Code da vida. Muita gente não da valor pq pensa no nginx como um engine web, aceleração, proxy ou webserver mesmo. Sob o ponto de vista de segurança e WAF ele é ainda mais poderoso.

Boa sorte :-)

--
Patrick Tracanelli

FreeBSD Brasil LTDA.
Tel.: (31) 3516-0800
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"



Mais detalhes sobre a lista de discussão freebsd