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: 736 ]

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

Explorando celulares Android via Web com airbase-ng

VPN com FreeS/WAN

Chkrootkit - Como determinar se o sistema está infectado com rootkit

Linux - Permissões de acesso especiais

Servidor de logs em Debian Linux

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts