Implementação de WAF mod_security e integração com Graylog utilizando Filebeat e Logstash

Instalar e configurar um WAF utilizando mod_security em um servidor de proxy reverso para bloquear acessos maliciosos. Também é mostrado como integrar os logs gerados com o Graylog, a fim de obter uma melhor visibilidade dos ataques. Essa integração é feita com FileBeat e Logstash e o tratamento dos dados com o projeto logstash-modsecurity.

[ Hits: 8.602 ]

Por: NerdBarbado em 30/07/2020


Introdução



Problema

É um caminho sem volta a disponibilização de sistemas para acesso a partir internet por diversas empresas e órgãos. Porém a presença de um firewall simples só protege os sistemas de ataques na camada 4 ou inferior do modelo OSI. Diante disso é de suma importância a implementação de um Web Application Firewall (WAF), que é um software que monitora em tempo real as requisições feitas aos sistemas por ele protegidos, verificando se existem indícios de ataques ocultos nessas requisições, como SQL Injection, cross-site-scripting (XSS), file inclusion e outros. Caso haja indício de que a requisição contém um ataque o acesso é bloqueado. O WAF não protege o ambiente de todos os ataques possíveis, mas desempenha um papel fundamental na segurança da informação.

Solução proposta

Adoção de uma solução de WAF opensource chamada mod_security, por ser a mais bem documentada na internet, mundialmente adotada e se integra naturalmente com o servidor web Apache, também muito comum e bem documentado. Além do mod_security foi adotado o mod_evasive para tratar de ataques como DDoS (Distributed Denial of Service).

Também faz parte do escopo desse projeto o envio das informações geradas pelo mod_security para o servidor de logs Graylog para tratamento, visto que não é prático a utilização dos logs do mod_security como estão.

A leitura dos logs do mod_security, tratamento e envio para o Graylog será feita pelos softwares Filebeat e Logstash, escolhidos por contarem com um projeto (bitsofinfo/logstash-modsecurity) que é capaz de tratar os logs do mod_security e delimitar seus campos, facilitando a posterior utilização e leitura no Graylog.

Fluxo da informação

De forma resumida, o mod_security é instalado no servidor de proxy reverso, gera logs ao bloquear requisições maliciosas com dados como: tipo de ataque, IP do atacante, sistema atacado e outros. Por sua vez o Filebeat lê periodicamente o arquivo de logs e envia as atualizações dele para o Logstash. O software Logstash, ao receber os dados do Filebeat aplica uma série de regras de tratamento do projeto logstash-modsecurity, concatenando as linhas do log e separando-o em campos pesquisáveis e só depois, envia o log já organizado para o Graylog, que já tem uma entrada de dados configurada para receber essa informação, exibi-la e até gerar alertas por e-mail para os responsáveis caso desejado.

Escopo

Nesse tutorial não iremos instalar nem configurar nenhuma VM, nem configurar o servidor de proxy reverso com apache e o Graylog. Você já deve ter essas etapas concluídas. No tutorial iremos apenas instalar e configurar os pacotes do mod_security, mod_evasive, Filebeat, Logstash, o plugin logstash-modsecurity e a integração com o Graylog.

O mod_security e o mod_evasive foram instalados no servidor de proxy reverso, que atende às requisições de acesso aos sistemas web, portanto, já tem uma instalação do Apache funcionando e configurada como proxy reverso. O Filebeat e o Logstash também serão instalados no servidor de proxy reverso para facilitar a implantação, mas o Filebeat pode enviar os logs para um servidor diferente com o Logstash instalado. O Graylog já está instalado e configurado em outro servidor e é utilizado para receber logs de várias aplicações do ambiente.

Diagrama do projeto

Diagrama da infra proposta para esse artigo:
    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação e configuração do mod_security e mod_evasive
   3. Instalação e configuração do FileBeat e Logstash
   4. Testando integração do modsecurity, filebeat e logstash
   5. Integração com o Graylog
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Melhorando a segurança do Firewall com Bridges usando Snort_Inline no Debian Etch

Tripwire - Checando a integridade do sistema

A Arte de HACKEAR Pessoas

Criptografar sua atual partição root usando dm-crypt com luks

Principais formas de anonimato ao navegar na Internet

  
Comentários
[1] Comentário enviado por rabbit em 16/08/2020 - 17:36h

Fala amigo,

Primeiramente obrigado pelo artigo.

Uma observação:
Na parte "IncludeOptional modsecurity.d/rules/*.conf" seria "IncludeOptional modsecurity.d/owasp-modsecurity-crs/rules/*.conf"
Na parte "Ainda no arquivo /etc/httpd/modsecurity.d/mod_security.conf verifique..." o caminho do arquivo está errado. Seria o caminho /etc/httpd/conf.d/mod_security.conf

Atenciosamente,

x.x
run rabbit run


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts