SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
ModSecurity: Firewall
          OpenSource para Aplicações
          Web (WAF)


                  Klaubert Herr da Silveira
                  klaubert @gmail.com



OWASP
08/2012

             Copyright © The OWASP Foundation
             Permission is granted to copy, distribute and/or modify this document
             under the terms of the OWASP License.




             The OWASP Foundation
             http://www.owasp.org
Agenda

1.   Firewall de Aplicação Web (WAF);
2.   ModSecurity;
3.   Console do ModSecurity;
4.   Implantação do ModSecurity;




                                        OWASP
Klaubert Herr

• Consultor em segurança da informação a 13
  anos;
• Tópicos atuais:
     – (D)DoS
     – WAF
• Atuação com ferramentas open source e
  comerciais;
• Desenvolvedor do WAF-FLE, console para o
  ModSecurity
• http://waf-fle.org
• http://klaubert.wordpress.com
                                       OWASP
Firewall de Aplicação Web - WAF




                                  OWASP
Firewall de Aplicação Web - WAF

•   Firewall (camada 7) especializado em
    aplicações Web;
•   Conhece os protocolos da Web: HTTP/S
    (Header, Cookies), HTML (POST, GET,
    Upload), XML, SOAP, entre outros;
•   Efetivo mesmo com criptografia (SSL);
•   Ciente de sessão;
•   Implementados como software ou appliance;
•   Detecta e Bloqueia ataques;


                                       OWASP
Elementos de segurança para Web

                                          Firewall     IPS        WAF
Controle de acesso                        Sim        Algum      Sim
Detecção de protocolo HTTP                Algum      Sim        Sim
Bloqueio de DoS (sob HTTP)                Algum      Algum      Algum
Identificação/Bloqueio de ataques Web
                                          Não        Algum      Sim
(XSS, SQLi, CSRF etc)

Ciente de autenticação formulário
                                          Não        Não        Sim
e sessão HTTP (cookies)
Suporte a tráfego criptografado (SSL)     Não        Não        Sim

Monitoração de erros do servidor web      Não        Não        Sim

Transcrição das sessões http(s)           Não        Algum      Sim
Interceptação de vazamento (ex. Erro) /
                                          Não        Algum      Sim
reescrita da resposta
                                                             OWASP
Por que usar um WAF?

•       Segurança
    •   Ponto único de controle
    •   Gerenciado pela equipe de segurança
    •   Múltiplas camadas de segurança
    •   Ativado continuamente
    •   Sites web: foco de ataques direto ou vetor de ataque;
    •   Virtual patching
    •   Bloqueio de ataques conhecidos;
    •   Controle de mensagens de erro;
    •   Controle customizável, por URL;
    •   Monitoração e Logs de ataques e de erros;
                                                   OWASP
Por que usar um WAF?

•    Compliance/Auditoria
    • PCI DSS 1.2+ – requisito 6.6;
    • <Coloque a sua aqui>




                                      OWASP
PCI DSS 1.2



              6.6 Verifique se um firewall de aplicativos da Web está
              implementado diante dos aplicativos da Web voltados
              ao público para detectar e impedir ataques baseados
              na Web.




                                                         OWASP
Lembre-se

   Um Firewall de Aplicação Web (WAF) é uma
    importante camada de segurança, mas não é
      garantia de segurança para as aplicações.

1. Design seguro;
2. Codificação segura;
3. Revisão do código;
4. Análise de vulnerabilidade;
5. Firewall de aplicação Web;

                                         OWASP
WAF e o desenvolvedor web

•   Permite ao desenvolvedor ver o erro da
    aplicação como o usuário recebeu;
•   Facilita a detecção de erros na aplicação;
•   Permite a criação de correções emergenciais;
•   Facilita a interação com a equipe de
    segurança;




                                         OWASP
ModSecurity




              OWASP
ModSecurity

 Firewall Open Source para Aplicações Web
 Módulo para Apache (*nix ou Windows);
 Novos módulos para: IIS e Nginx;
 Muito flexível;
 Conjunto de regras Core Rule Set, um projeto
  OWASP desde de Agosto/09;
 Criado por Ivan Ristic;
 Hoje da Trustwave, mantido pelo Breno Silva;
 Licenciamento: Apache License 2.0;

                                         OWASP
Características do ModSecurity

•   Módulo para Apache
     –   Embutido;
     –   Proxy Reverso;
•   Modos: detecção ou bloqueio;
•   Inspeciona o cabeçalho e corpo da requisição;
•   Inspeciona o cabeçalho e corpo da resposta;
•   Definição de regras bastante completa/
    complexa;



                                         OWASP
Características do ModSecurity (cont.)

•  Normalização, decodificação;
  • Base64
  • compressWhitespace;
  • htmlEntityDecode;
  • removeCommentsChar;
•  RBL (Reputação) e GeoIP;
•  Extensível: execução de scripts LUA
   internamente ou scripts externos;
•  Log completo do tráfego (incluindo POST);

                                        OWASP
Características do ModSecurity (cont.)

• Pode inspecionar uploads (anti-vírus);
• Alterar a resposta (Append/Prepend/ Replace);
• Ataques podem ser bloqueados, redirecionados,
  logados etc;
• Dados persistentes usados entre requisições
  diferentes:
  •   IP;
  •   Sessão;
  •   Username;
  •   Resource;
  •   Global;
                                       OWASP
Características recentes

• Metadado para regras: ver, maturity, accuracy;
• Sanitização de SSN, CC, CPF -> evitar
  vazamento;
• Desativação de compressão com o backend;
• SecEncryption*: cria um token criptografado de
  href/frame src/iframe scr/form action; (2.7RC)




                                        OWASP
Implantando o ModSecurity

   Modo Embutido (local);
   Baseado em rede (proxy reverso);




                                       OWASP
Implantando o ModSecurity:
Modo Embutido (Local)
•   Apache (IIS e Nginx a caminho);
•   Instalado no próprio servidor web;
•   Sem mudança na topologia de rede;
•   Escalabilidade herdada do servidor web;
•   Algum impacto em performance pode ocorrer;
•   Gerencia de segurança e do servidor web
    compartilhada;




                                       OWASP
Implantando o ModSecurity:
Baseado em rede (proxy reverso);
•   Apache como Proxy Reverso (breve Nginx);
•   Qualquer servidor web pode ser um
    backend;
•   Pode abranger vários servidores;
•   Vira o front-end para o(s) site(s), alterando a
    topologia da rede;
•   Alta-disponibilidade e/ou escalabilidade
    própria;
•   Separa o gerenciamento de segurança do
    gerenciamento do servidor web;
                                            OWASP
ModSecurity: Modelos de segurança

•   Modelo Positivo
•   Modelo Negativo
•   Modelo Híbrido




                                    OWASP
Modelo Positivo

•   As regras definem o que pode ser requisitado e
    respondido;
•   As regras precisam ser definidas para cada aplicação,
    para cada URI ou conjunto de URI’s;
•   Alterações na aplicação precisam refletir na política do
    WAF(!);
•   Quanto mais complexa a aplicação, mas complexo
    será definir a política
•   Campos muito abrangentes (livres) terão uma política
    frágil;
•   As demais requisições são bloqueadas;
•   Ferramentas: Remo e mod_profiler (abandonadas)
                                                  OWASP
Modelo Negativo

–   Conjuntos genérico de regras, ex. XSS, SQL Injection,
    fora dos padrões etc;
–   Exceções precisam ser tratadas pontualmente;
–   As demais requisições são permitidas;
–   Atualizações nas regras precisam ser novamente
    validadas no tráfego real;




                                                OWASP
Modelo Híbrido

•   Usa o definido no modelo positivo;
    ... se passar...
•   Aplica as regras negativas para bloquear
    ataques genéricos;




                                          OWASP
Virtual Patching

•   Definição de regras para impedir a exploração
    de uma vulnerabilidade conhecida, sem
    alteração da aplicação;
•   Reduz o tempo de exposição;
•   Permite “corrigir” falhas de segurança em
    aplicações escritas por terceiros;
•   Não deve ser considerado como a “solução”
    para correção de vulnerabilidade;



                                          OWASP
ModSecurity Core Rule Set (CRS)

•   2319 regras (08/2012);
     • Regras próprias;
     • Conversão de outras assinaturas:
         PHPIDS, Emerging Threats,
•   Testes com tráfego real;
•   Detecção genérica de ataques:
     –   Melhor performance;
     –   Menos updates;
•   Plug and play:
     –   Ok, leia o README primeiro... 
     –   Ajustes poderão ser necessários;
                                            OWASP
ModSecurity Core Rule Set (CRS)
Modo de Operação
–   Self-Contained
     – Caso ocorra o match de uma requisição com
           uma regra a ação de regra é executada;
–   Collaborative Detection
     – A cada match de regra um score é
           incrementado
          – Pontuação de acordo com a criticidade;
          – Pontuação específica para tipos de ataque;
     – Ao final da avaliação das regras, é verificada a
        pontuação, podendo: permitir ou bloquear;
          • Maior segurança no bloqueio;

                                                 OWASP
ModSecurity Core Rule Set (CRS)
Categorias
•   Conformidade de protocolos:
     –   Validação de requisições HTTP (RFC);
     –   Anomalias do protocolo HTTP;
     –   Restrições globais;
     –   Política de uso;
•   Detecção de ataques:
     –   Mitigação de Slow DoS;
     –   XSS, SQLi, Buffer Overflow, etc;
     –   Detecção de Trojans e Backdoors;
•   Outras:
     –   Detecção de erros;
     –   Proteção de XML;                       OWASP
Como o Modsecurity atua

•    Fases de Processamento
    1.Request headers;
    2.Request body;
    3.Response headers;
    4.Response body;
    5.Logging;




                              OWASP
Fases de Processamento




                         OWASP
Fases de Processamento

1. Request headers;
2. /teste2.php?%3Cscript%3Ealert(%22xss%22)%3C/script%3E
GET Request body;
HTTP/1.0
3. Response headers;
Host: waf-fle.org
Connection: close
4. Response body;
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1
5. Logging; Chrome/21.0.1180.60 Safari/537.1
(KHTML, like Gecko)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: PHPSESSIONID=JFNDECOIPLMDODKEDBAFPC

1.REQUEST_COOKIES                 1.QUERY_STRING
2.REQUEST_FILENAME                2.REQUEST_PROTOCOL
3.REQUEST_HEADERS                 3.REQUEST_METHOD

                                                          OWASP
Fases de Processamento

2.    Request body (POST, PUT);
count=1&req0_type=i&req0_time=754341' OR 'x'='x


•     SecRequestBodyAccess ->On;
     • application/x-www-form-urlencoded – Dados de formulários
     • multipart/form-data – Ttransferência de arquivos
     • text/xml – Dados em XML


1.REQUEST_BODY
2.ARGS (ARGS_POST, ARGS_COMBINED_SIZE)
3.FILES_TMPNAMES (@inspectFile)

                                                         OWASP
Fases de Processamento

3.   Response headers;
HTTP/1.1 403 Forbidden
Accept-Ranges: bytes
Connection: close
Content-Type: text/html; charset=iso-8859-1
              text/html
Content-Language: pt-br
Expires: Wed, 22 Aug 2012 23:19:52 GMT



1.RESPONSE_HEADERS
2.RESPONSE_STATUS
3.RESPONSE_CONTENT_LENGTH
4.RESPONSE_CONTENT_TYPE

                                              OWASP
Fases de Processamento

4.   Response body;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
     Test App
    </title>
       <link rel="search" href="/app" />
       <link rel="help" href="/app" />
       <link rel="alternate" href="/app" title="Plain Text" />
...
</body>
</html>


1.RESPONSE_BODY
2.rsub
                                                                 OWASP
Fases de Processamento

5.    Logging
Message: Pattern match "< ?scriptb" at
ARGS_NAMES:<script>alert("xss")</script>. [file
"/etc/mod_security/modsecurity_crs_41_xss_attacks.conf"] [id "958051"] [rev
"2.1.1"] [msg "Cross-site Scripting (XSS) Attack"] [data "<script"] [severity
"CRITICAL"] [tag "WEB_ATTACK/XSS"] [tag "WASCTC/WASC-8"] [tag
"WASCTC/WASC-22"] [tag "OWASP_TOP_10/A2"] [tag "OWASP_AppSensor/IE1"]
[tag "PCI/6.5.1"]
Message: Warning. Operator GE matched 19 at TX:inbound_anomaly_score. [file
"/etc/mod_security/modsecurity_crs_60_correlation.conf"] [msg "Inbound Anomaly
Score Exceeded (Total Inbound Score: 48, SQLi=, XSS=48): IE XSS Filters - Attack
                                                XSS=48
Detected"]
Action: Intercepted (phase 2)
...
Producer: ModSecurity for Apache/2.6.2 ...; core ruleset/2.1.1.
Server: Apache


                                                                  OWASP
Logs

•   Logs detalhados dos eventos;
•   Muito log se...
  • Muitas aplicações
  • Múltiplos servidores (1,2,4 … 1.000 ...)
  • DoS
  • Robôs
  • Falsos positivos
•   Opções para visualização dos logs
    • Grep            • Splunk for modSecurity
    • WAF-FLE         • SIEM’s
    • AuditConsole                          OWASP
WAF∙FLE

• Console centralizadora de logs para modsecurity
• http://waf-fle.org;
• Disponível na Versão 0.5 -> Breve 0.6
• Suporta regras nos modos “Self-Containend” e
  “Collaborative Detection”;
• Recebe eventos em tempo real ou em batch,
  com mlogc
    • mlog2waffle na versão 0.6
• Sem limite de sensores
• PHP e Mysql DB
• Open Source: GPL v2
                                         OWASP
WAF∙FLE

• Dashboard
  •   Eventos ao longo do dia
  •   Top Sources
  •   Top Sensors
  •   Top Severity
  •   Top Rules
  •   Top Targets
  •   Status http
  •   Top countries (0.6)
  •   Top ASN’s (0.6)
  •   Path (0.6)
                                OWASP
WAF∙FLE

• Filtros Drill-Down
   • Cada campo deve ser uma pesquisa
   • Invertidos (not)
   • A partir do dashboard (atualizando o dashboard,
     0.6);
   • Por faixa de rede
   • Por score
   • Por regra
   • Path
   • Hostname
   • etc

                                                OWASP
Falso positivos

•   Regras que são disparadas indevidamente, o
    evento é identificado como um ataque;
•   Podem ser muito ruidosos no início de uma
    implantação;
•   Devem ser analisados, e as regras ajustadas
    para eliminá-los;




                                         OWASP
Ajuste fino das regras

•   Desabilitar regras;
      SecRuleRemoveById 950009
       SecRuleRemoveById 950009

•   Desabilitar regras para <Location...>
    específicos
      <Location /path/to/foo.php>
       <Location /path/to/foo.php>
        SecRuleRemoveById 950009
         SecRuleRemoveById 950009
      </Location>
       </Location>
•   Ajustar partes de uma regra:
     –   Cookies;        - Headers;
     –   POST;           - Response Body;

                                            OWASP
Ajuste fino das regras

•    Alterando as regras pelo ID
SecRuleUpdateTargetById 981260 !REQUEST_COOKIES:UserPref
 SecRuleUpdateTargetById 981260 !REQUEST_COOKIES:UserPref

SecRule REQUEST_URI “@streq /mail/” “phase:1,t:none,
 SecRule REQUEST_URI “@streq /mail/” “phase:1,t:none,
nolog,pass,ctl:ruleUpdateTargetById=950901;
 nolog,pass,ctl:ruleUpdateTargetById=950901;
!REQUEST_COOKIES:/^UserPref/”
 !REQUEST_COOKIES:/^UserPref/”

•    Alterar/Corrigir a aplicação;




                                                         OWASP
Performance

•       Inspecionar as respostas pode afetar a
        performance (SecResponseBodyAccess);
•       Inspecione somente as requisições relevantes
        (ex. conteúdo dinâmico, html, xml, json);
•       Não inspecione conteúdo estático;
•       A quantidade de regras influencia a
        performance:
    •     Desative regras desnecessárias;
•       Habilite o mod_cache;
•       Coloque um cache na frente (Nginx/Varnish);

                                             OWASP
Customização

•   Crie suas próprias regras;
•   Modifique as regras existentes;
•   Intercepte e customize as páginas de erro;
•   Use a criatividade;




                                          OWASP
Cuidados e fatores de sucesso na
implantação do ModSecurity
•   Iniciar o uso no modo de monitoração:
    SecRuleEngine DetectionOnly
     SecRuleEngine DetectionOnly
•   Ativar o bloqueio aplicação a aplicação;
•   Tamanho das respostas;
    SecResponseBodyLimit
     SecResponseBodyLimit
•   Deixar passar o que exceder;
    SecResponseBodyLimitAction ==ProcessPartial
     SecResponseBodyLimitAction ProcessPartial
•   Elimine os falso positivos, eles podem ser
    muito intensivos em:
     –    I/O
     –    Espaço em disco;                        OWASP
Palavas finais

•   Explique aos demais envolvidos (gerentes,
    desenvolvedores, gestores das aplicações,
    service-desk) os benefícios e potenciais
    problemas na adoção de um WAF;
•   Monitore, refine as regras;
•   Dedique tempo para ajustar seu WAF;
•   Dê um passo de cada vez;
•   Acrescente mais uma camada de segurança à
    sua aplicação;


                                      OWASP
Demonstração




               OWASP
Perguntas




            OWASP
Obrigado

Klaubert @gmail.com




                      OWASP

Más contenido relacionado

La actualidad más candente

OWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookOWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookGiovane Liberato
 
"Técnicas e Ferramentas para Auditorias Testes de Invasão"
"Técnicas e Ferramentas para Auditorias Testes de Invasão" "Técnicas e Ferramentas para Auditorias Testes de Invasão"
"Técnicas e Ferramentas para Auditorias Testes de Invasão" Clavis Segurança da Informação
 
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannMonitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannTchelinux
 
Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Handerson Frota
 
Monitorando ativos com Zabbix
Monitorando ativos com ZabbixMonitorando ativos com Zabbix
Monitorando ativos com ZabbixZabbix BR
 
Introducão a Web Applications Firewalls
Introducão a Web Applications FirewallsIntroducão a Web Applications Firewalls
Introducão a Web Applications FirewallsJeronimo Zucco
 
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasClavis Segurança da Informação
 
Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de SoftwareJeronimo Zucco
 
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...Werneck Costa
 
Monitoração avançada com Zabbix 2
Monitoração avançada com Zabbix 2Monitoração avançada com Zabbix 2
Monitoração avançada com Zabbix 2Jose Augusto Carvalho
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...Thiago Dieb
 
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DF
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DFGerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DF
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DFClavis Segurança da Informação
 
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...Patricia Ladislau Silva
 
Introdução à SQL Injection
Introdução à SQL InjectionIntrodução à SQL Injection
Introdução à SQL Injectionledsifes
 
Segurança Através de Gerência de Configurações
Segurança Através de Gerência de ConfiguraçõesSegurança Através de Gerência de Configurações
Segurança Através de Gerência de ConfiguraçõesJeronimo Zucco
 
2014 roadsec-slides-palestra
2014 roadsec-slides-palestra2014 roadsec-slides-palestra
2014 roadsec-slides-palestraAlberto Oliveira
 

La actualidad más candente (20)

OWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookOWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbook
 
"Técnicas e Ferramentas para Auditorias Testes de Invasão"
"Técnicas e Ferramentas para Auditorias Testes de Invasão" "Técnicas e Ferramentas para Auditorias Testes de Invasão"
"Técnicas e Ferramentas para Auditorias Testes de Invasão"
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 
Ferranentas OWASP
Ferranentas OWASPFerranentas OWASP
Ferranentas OWASP
 
Site invadido
Site invadidoSite invadido
Site invadido
 
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannMonitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
 
Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007
 
Monitorando ativos com Zabbix
Monitorando ativos com ZabbixMonitorando ativos com Zabbix
Monitorando ativos com Zabbix
 
Introducão a Web Applications Firewalls
Introducão a Web Applications FirewallsIntroducão a Web Applications Firewalls
Introducão a Web Applications Firewalls
 
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
 
Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de Software
 
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
 
Monitoração avançada com Zabbix 2
Monitoração avançada com Zabbix 2Monitoração avançada com Zabbix 2
Monitoração avançada com Zabbix 2
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
 
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DF
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DFGerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DF
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DF
 
Apresentacao_Zabbix
Apresentacao_ZabbixApresentacao_Zabbix
Apresentacao_Zabbix
 
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...
 
Introdução à SQL Injection
Introdução à SQL InjectionIntrodução à SQL Injection
Introdução à SQL Injection
 
Segurança Através de Gerência de Configurações
Segurança Através de Gerência de ConfiguraçõesSegurança Através de Gerência de Configurações
Segurança Através de Gerência de Configurações
 
2014 roadsec-slides-palestra
2014 roadsec-slides-palestra2014 roadsec-slides-palestra
2014 roadsec-slides-palestra
 

Destacado

Destacado (6)

O endian firewall community
O endian firewall communityO endian firewall community
O endian firewall community
 
Curso de Endian Firewall v3.0.5 - Aula 4
Curso de Endian Firewall v3.0.5 - Aula 4Curso de Endian Firewall v3.0.5 - Aula 4
Curso de Endian Firewall v3.0.5 - Aula 4
 
NetSol - Next Generation Firewall
NetSol - Next Generation FirewallNetSol - Next Generation Firewall
NetSol - Next Generation Firewall
 
Endian firewall community
Endian firewall communityEndian firewall community
Endian firewall community
 
Endian firewall
Endian firewallEndian firewall
Endian firewall
 
Curso Endian Firewall v3.0.5 - Aula 1
Curso Endian Firewall v3.0.5 - Aula 1Curso Endian Firewall v3.0.5 - Aula 1
Curso Endian Firewall v3.0.5 - Aula 1
 

Similar a ModSecurity: WAF Open Source poderoso para proteger aplicações Web

OWASP_BSB_20120827_TOP10_ISMAELROCHA
OWASP_BSB_20120827_TOP10_ISMAELROCHAOWASP_BSB_20120827_TOP10_ISMAELROCHA
OWASP_BSB_20120827_TOP10_ISMAELROCHAOWASP Brasília
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasBruno Luiz Pereira da Silva
 
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner EliasTratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner EliasMagno Logan
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazOWASP Brasília
 
Meu Cliente não permite DevOps. E agora?
Meu Cliente não permite DevOps. E agora?Meu Cliente não permite DevOps. E agora?
Meu Cliente não permite DevOps. E agora?Everton Tavares
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãCarlos Serrao
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...Alexandro Silva
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasSegInfo
 
O Web Application Firewall Pack da KEMP
O Web Application Firewall Pack da KEMPO Web Application Firewall Pack da KEMP
O Web Application Firewall Pack da KEMPKemp
 
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o WmapDescobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o WmapClavis Segurança da Informação
 
DevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
DevSecOps - CI/CD com Pentest e Análise de VulnerabilidadesDevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
DevSecOps - CI/CD com Pentest e Análise de VulnerabilidadesVagner Rodrigues Fernandes
 
Teste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebTeste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebMarcio Roberto de Souza Godoi
 

Similar a ModSecurity: WAF Open Source poderoso para proteger aplicações Web (20)

OWASP_BSB_20120827_TOP10_ISMAELROCHA
OWASP_BSB_20120827_TOP10_ISMAELROCHAOWASP_BSB_20120827_TOP10_ISMAELROCHA
OWASP_BSB_20120827_TOP10_ISMAELROCHA
 
Webgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizadoWebgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizado
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
 
Você Escreve Código e Quem Valida?
Você Escreve Código e Quem Valida?Você Escreve Código e Quem Valida?
Você Escreve Código e Quem Valida?
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner EliasTratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
 
Meu Cliente não permite DevOps. E agora?
Meu Cliente não permite DevOps. E agora?Meu Cliente não permite DevOps. E agora?
Meu Cliente não permite DevOps. E agora?
 
Owasp Chapter Belo Horizonte
Owasp Chapter Belo HorizonteOwasp Chapter Belo Horizonte
Owasp Chapter Belo Horizonte
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, Covilhã
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
 
Dwrsecomp
DwrsecompDwrsecomp
Dwrsecomp
 
Adicionando segurança web: AWS WAF
Adicionando segurança web: AWS WAFAdicionando segurança web: AWS WAF
Adicionando segurança web: AWS WAF
 
O Web Application Firewall Pack da KEMP
O Web Application Firewall Pack da KEMPO Web Application Firewall Pack da KEMP
O Web Application Firewall Pack da KEMP
 
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o WmapDescobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
 
Manual
ManualManual
Manual
 
DevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
DevSecOps - CI/CD com Pentest e Análise de VulnerabilidadesDevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
DevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
 
Teste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebTeste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações Web
 

ModSecurity: WAF Open Source poderoso para proteger aplicações Web

  • 1. ModSecurity: Firewall OpenSource para Aplicações Web (WAF) Klaubert Herr da Silveira klaubert @gmail.com OWASP 08/2012 Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org
  • 2. Agenda 1. Firewall de Aplicação Web (WAF); 2. ModSecurity; 3. Console do ModSecurity; 4. Implantação do ModSecurity; OWASP
  • 3. Klaubert Herr • Consultor em segurança da informação a 13 anos; • Tópicos atuais: – (D)DoS – WAF • Atuação com ferramentas open source e comerciais; • Desenvolvedor do WAF-FLE, console para o ModSecurity • http://waf-fle.org • http://klaubert.wordpress.com OWASP
  • 4. Firewall de Aplicação Web - WAF OWASP
  • 5. Firewall de Aplicação Web - WAF • Firewall (camada 7) especializado em aplicações Web; • Conhece os protocolos da Web: HTTP/S (Header, Cookies), HTML (POST, GET, Upload), XML, SOAP, entre outros; • Efetivo mesmo com criptografia (SSL); • Ciente de sessão; • Implementados como software ou appliance; • Detecta e Bloqueia ataques; OWASP
  • 6. Elementos de segurança para Web Firewall IPS WAF Controle de acesso Sim Algum Sim Detecção de protocolo HTTP Algum Sim Sim Bloqueio de DoS (sob HTTP) Algum Algum Algum Identificação/Bloqueio de ataques Web Não Algum Sim (XSS, SQLi, CSRF etc) Ciente de autenticação formulário Não Não Sim e sessão HTTP (cookies) Suporte a tráfego criptografado (SSL) Não Não Sim Monitoração de erros do servidor web Não Não Sim Transcrição das sessões http(s) Não Algum Sim Interceptação de vazamento (ex. Erro) / Não Algum Sim reescrita da resposta OWASP
  • 7. Por que usar um WAF? • Segurança • Ponto único de controle • Gerenciado pela equipe de segurança • Múltiplas camadas de segurança • Ativado continuamente • Sites web: foco de ataques direto ou vetor de ataque; • Virtual patching • Bloqueio de ataques conhecidos; • Controle de mensagens de erro; • Controle customizável, por URL; • Monitoração e Logs de ataques e de erros; OWASP
  • 8. Por que usar um WAF? • Compliance/Auditoria • PCI DSS 1.2+ – requisito 6.6; • <Coloque a sua aqui> OWASP
  • 9. PCI DSS 1.2 6.6 Verifique se um firewall de aplicativos da Web está implementado diante dos aplicativos da Web voltados ao público para detectar e impedir ataques baseados na Web. OWASP
  • 10. Lembre-se Um Firewall de Aplicação Web (WAF) é uma importante camada de segurança, mas não é garantia de segurança para as aplicações. 1. Design seguro; 2. Codificação segura; 3. Revisão do código; 4. Análise de vulnerabilidade; 5. Firewall de aplicação Web; OWASP
  • 11. WAF e o desenvolvedor web • Permite ao desenvolvedor ver o erro da aplicação como o usuário recebeu; • Facilita a detecção de erros na aplicação; • Permite a criação de correções emergenciais; • Facilita a interação com a equipe de segurança; OWASP
  • 12. ModSecurity OWASP
  • 13. ModSecurity  Firewall Open Source para Aplicações Web  Módulo para Apache (*nix ou Windows);  Novos módulos para: IIS e Nginx;  Muito flexível;  Conjunto de regras Core Rule Set, um projeto OWASP desde de Agosto/09;  Criado por Ivan Ristic;  Hoje da Trustwave, mantido pelo Breno Silva;  Licenciamento: Apache License 2.0; OWASP
  • 14. Características do ModSecurity • Módulo para Apache – Embutido; – Proxy Reverso; • Modos: detecção ou bloqueio; • Inspeciona o cabeçalho e corpo da requisição; • Inspeciona o cabeçalho e corpo da resposta; • Definição de regras bastante completa/ complexa; OWASP
  • 15. Características do ModSecurity (cont.) • Normalização, decodificação; • Base64 • compressWhitespace; • htmlEntityDecode; • removeCommentsChar; • RBL (Reputação) e GeoIP; • Extensível: execução de scripts LUA internamente ou scripts externos; • Log completo do tráfego (incluindo POST); OWASP
  • 16. Características do ModSecurity (cont.) • Pode inspecionar uploads (anti-vírus); • Alterar a resposta (Append/Prepend/ Replace); • Ataques podem ser bloqueados, redirecionados, logados etc; • Dados persistentes usados entre requisições diferentes: • IP; • Sessão; • Username; • Resource; • Global; OWASP
  • 17. Características recentes • Metadado para regras: ver, maturity, accuracy; • Sanitização de SSN, CC, CPF -> evitar vazamento; • Desativação de compressão com o backend; • SecEncryption*: cria um token criptografado de href/frame src/iframe scr/form action; (2.7RC) OWASP
  • 18. Implantando o ModSecurity  Modo Embutido (local);  Baseado em rede (proxy reverso); OWASP
  • 19. Implantando o ModSecurity: Modo Embutido (Local) • Apache (IIS e Nginx a caminho); • Instalado no próprio servidor web; • Sem mudança na topologia de rede; • Escalabilidade herdada do servidor web; • Algum impacto em performance pode ocorrer; • Gerencia de segurança e do servidor web compartilhada; OWASP
  • 20. Implantando o ModSecurity: Baseado em rede (proxy reverso); • Apache como Proxy Reverso (breve Nginx); • Qualquer servidor web pode ser um backend; • Pode abranger vários servidores; • Vira o front-end para o(s) site(s), alterando a topologia da rede; • Alta-disponibilidade e/ou escalabilidade própria; • Separa o gerenciamento de segurança do gerenciamento do servidor web; OWASP
  • 21. ModSecurity: Modelos de segurança • Modelo Positivo • Modelo Negativo • Modelo Híbrido OWASP
  • 22. Modelo Positivo • As regras definem o que pode ser requisitado e respondido; • As regras precisam ser definidas para cada aplicação, para cada URI ou conjunto de URI’s; • Alterações na aplicação precisam refletir na política do WAF(!); • Quanto mais complexa a aplicação, mas complexo será definir a política • Campos muito abrangentes (livres) terão uma política frágil; • As demais requisições são bloqueadas; • Ferramentas: Remo e mod_profiler (abandonadas) OWASP
  • 23. Modelo Negativo – Conjuntos genérico de regras, ex. XSS, SQL Injection, fora dos padrões etc; – Exceções precisam ser tratadas pontualmente; – As demais requisições são permitidas; – Atualizações nas regras precisam ser novamente validadas no tráfego real; OWASP
  • 24. Modelo Híbrido • Usa o definido no modelo positivo; ... se passar... • Aplica as regras negativas para bloquear ataques genéricos; OWASP
  • 25. Virtual Patching • Definição de regras para impedir a exploração de uma vulnerabilidade conhecida, sem alteração da aplicação; • Reduz o tempo de exposição; • Permite “corrigir” falhas de segurança em aplicações escritas por terceiros; • Não deve ser considerado como a “solução” para correção de vulnerabilidade; OWASP
  • 26. ModSecurity Core Rule Set (CRS) • 2319 regras (08/2012); • Regras próprias; • Conversão de outras assinaturas: PHPIDS, Emerging Threats, • Testes com tráfego real; • Detecção genérica de ataques: – Melhor performance; – Menos updates; • Plug and play: – Ok, leia o README primeiro...  – Ajustes poderão ser necessários; OWASP
  • 27. ModSecurity Core Rule Set (CRS) Modo de Operação – Self-Contained – Caso ocorra o match de uma requisição com uma regra a ação de regra é executada; – Collaborative Detection – A cada match de regra um score é incrementado – Pontuação de acordo com a criticidade; – Pontuação específica para tipos de ataque; – Ao final da avaliação das regras, é verificada a pontuação, podendo: permitir ou bloquear; • Maior segurança no bloqueio; OWASP
  • 28. ModSecurity Core Rule Set (CRS) Categorias • Conformidade de protocolos: – Validação de requisições HTTP (RFC); – Anomalias do protocolo HTTP; – Restrições globais; – Política de uso; • Detecção de ataques: – Mitigação de Slow DoS; – XSS, SQLi, Buffer Overflow, etc; – Detecção de Trojans e Backdoors; • Outras: – Detecção de erros; – Proteção de XML; OWASP
  • 29. Como o Modsecurity atua • Fases de Processamento 1.Request headers; 2.Request body; 3.Response headers; 4.Response body; 5.Logging; OWASP
  • 31. Fases de Processamento 1. Request headers; 2. /teste2.php?%3Cscript%3Ealert(%22xss%22)%3C/script%3E GET Request body; HTTP/1.0 3. Response headers; Host: waf-fle.org Connection: close 4. Response body; User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 5. Logging; Chrome/21.0.1180.60 Safari/537.1 (KHTML, like Gecko) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/* Accept-Encoding: gzip,deflate,sdch Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 Cookie: PHPSESSIONID=JFNDECOIPLMDODKEDBAFPC 1.REQUEST_COOKIES 1.QUERY_STRING 2.REQUEST_FILENAME 2.REQUEST_PROTOCOL 3.REQUEST_HEADERS 3.REQUEST_METHOD OWASP
  • 32. Fases de Processamento 2. Request body (POST, PUT); count=1&req0_type=i&req0_time=754341' OR 'x'='x • SecRequestBodyAccess ->On; • application/x-www-form-urlencoded – Dados de formulários • multipart/form-data – Ttransferência de arquivos • text/xml – Dados em XML 1.REQUEST_BODY 2.ARGS (ARGS_POST, ARGS_COMBINED_SIZE) 3.FILES_TMPNAMES (@inspectFile) OWASP
  • 33. Fases de Processamento 3. Response headers; HTTP/1.1 403 Forbidden Accept-Ranges: bytes Connection: close Content-Type: text/html; charset=iso-8859-1 text/html Content-Language: pt-br Expires: Wed, 22 Aug 2012 23:19:52 GMT 1.RESPONSE_HEADERS 2.RESPONSE_STATUS 3.RESPONSE_CONTENT_LENGTH 4.RESPONSE_CONTENT_TYPE OWASP
  • 34. Fases de Processamento 4. Response body; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Test App </title> <link rel="search" href="/app" /> <link rel="help" href="/app" /> <link rel="alternate" href="/app" title="Plain Text" /> ... </body> </html> 1.RESPONSE_BODY 2.rsub OWASP
  • 35. Fases de Processamento 5. Logging Message: Pattern match "< ?scriptb" at ARGS_NAMES:<script>alert("xss")</script>. [file "/etc/mod_security/modsecurity_crs_41_xss_attacks.conf"] [id "958051"] [rev "2.1.1"] [msg "Cross-site Scripting (XSS) Attack"] [data "<script"] [severity "CRITICAL"] [tag "WEB_ATTACK/XSS"] [tag "WASCTC/WASC-8"] [tag "WASCTC/WASC-22"] [tag "OWASP_TOP_10/A2"] [tag "OWASP_AppSensor/IE1"] [tag "PCI/6.5.1"] Message: Warning. Operator GE matched 19 at TX:inbound_anomaly_score. [file "/etc/mod_security/modsecurity_crs_60_correlation.conf"] [msg "Inbound Anomaly Score Exceeded (Total Inbound Score: 48, SQLi=, XSS=48): IE XSS Filters - Attack XSS=48 Detected"] Action: Intercepted (phase 2) ... Producer: ModSecurity for Apache/2.6.2 ...; core ruleset/2.1.1. Server: Apache OWASP
  • 36. Logs • Logs detalhados dos eventos; • Muito log se... • Muitas aplicações • Múltiplos servidores (1,2,4 … 1.000 ...) • DoS • Robôs • Falsos positivos • Opções para visualização dos logs • Grep • Splunk for modSecurity • WAF-FLE • SIEM’s • AuditConsole OWASP
  • 37. WAF∙FLE • Console centralizadora de logs para modsecurity • http://waf-fle.org; • Disponível na Versão 0.5 -> Breve 0.6 • Suporta regras nos modos “Self-Containend” e “Collaborative Detection”; • Recebe eventos em tempo real ou em batch, com mlogc • mlog2waffle na versão 0.6 • Sem limite de sensores • PHP e Mysql DB • Open Source: GPL v2 OWASP
  • 38. WAF∙FLE • Dashboard • Eventos ao longo do dia • Top Sources • Top Sensors • Top Severity • Top Rules • Top Targets • Status http • Top countries (0.6) • Top ASN’s (0.6) • Path (0.6) OWASP
  • 39. WAF∙FLE • Filtros Drill-Down • Cada campo deve ser uma pesquisa • Invertidos (not) • A partir do dashboard (atualizando o dashboard, 0.6); • Por faixa de rede • Por score • Por regra • Path • Hostname • etc OWASP
  • 40. Falso positivos • Regras que são disparadas indevidamente, o evento é identificado como um ataque; • Podem ser muito ruidosos no início de uma implantação; • Devem ser analisados, e as regras ajustadas para eliminá-los; OWASP
  • 41. Ajuste fino das regras • Desabilitar regras; SecRuleRemoveById 950009 SecRuleRemoveById 950009 • Desabilitar regras para <Location...> específicos <Location /path/to/foo.php> <Location /path/to/foo.php> SecRuleRemoveById 950009 SecRuleRemoveById 950009 </Location> </Location> • Ajustar partes de uma regra: – Cookies; - Headers; – POST; - Response Body; OWASP
  • 42. Ajuste fino das regras • Alterando as regras pelo ID SecRuleUpdateTargetById 981260 !REQUEST_COOKIES:UserPref SecRuleUpdateTargetById 981260 !REQUEST_COOKIES:UserPref SecRule REQUEST_URI “@streq /mail/” “phase:1,t:none, SecRule REQUEST_URI “@streq /mail/” “phase:1,t:none, nolog,pass,ctl:ruleUpdateTargetById=950901; nolog,pass,ctl:ruleUpdateTargetById=950901; !REQUEST_COOKIES:/^UserPref/” !REQUEST_COOKIES:/^UserPref/” • Alterar/Corrigir a aplicação; OWASP
  • 43. Performance • Inspecionar as respostas pode afetar a performance (SecResponseBodyAccess); • Inspecione somente as requisições relevantes (ex. conteúdo dinâmico, html, xml, json); • Não inspecione conteúdo estático; • A quantidade de regras influencia a performance: • Desative regras desnecessárias; • Habilite o mod_cache; • Coloque um cache na frente (Nginx/Varnish); OWASP
  • 44. Customização • Crie suas próprias regras; • Modifique as regras existentes; • Intercepte e customize as páginas de erro; • Use a criatividade; OWASP
  • 45. Cuidados e fatores de sucesso na implantação do ModSecurity • Iniciar o uso no modo de monitoração: SecRuleEngine DetectionOnly SecRuleEngine DetectionOnly • Ativar o bloqueio aplicação a aplicação; • Tamanho das respostas; SecResponseBodyLimit SecResponseBodyLimit • Deixar passar o que exceder; SecResponseBodyLimitAction ==ProcessPartial SecResponseBodyLimitAction ProcessPartial • Elimine os falso positivos, eles podem ser muito intensivos em: – I/O – Espaço em disco; OWASP
  • 46. Palavas finais • Explique aos demais envolvidos (gerentes, desenvolvedores, gestores das aplicações, service-desk) os benefícios e potenciais problemas na adoção de um WAF; • Monitore, refine as regras; • Dedique tempo para ajustar seu WAF; • Dê um passo de cada vez; • Acrescente mais uma camada de segurança à sua aplicação; OWASP
  • 47. Demonstração OWASP
  • 48. Perguntas OWASP