PfSense: IDS e IPS.

01 jul

PfSense: IDS e IPS.

Design sem nome (2)

Neste tutorial será abordado o conceito de IDS e IPS, as suas aplicações e a sua importância perante o avanço tecnológico crescente.

Serão apresentadas duas ferramentas que utilizam IDS e IPS, porém iremos aprofundar em uma delas, especificamente falando: SNORT.

O tutorial visa:

Ilustrar de forma simples e objetiva os conceitos iniciais e algumas aplicações do IDS e IPS, porém este documento não conta com informações detalhadas, pois não é o propósito neste momento.

  • O que é IDS ?

Intrusion Detection System - IDS (Sistema de detecção de intrusos) é uma solução de mercado que automatiza a detecção de acessos não autorizados em redes de computadores. A solução é também conhecida como Sistema de Detecção de Intrusão.

A principal função do IDS é fornecer uma camada extra de proteção aos ativos de rede em uma organização, dando flexibilidade, segurança e disponibilidade necessária ao ambiente corporativo.

Um IDS é uma ferramenta utilizada para monitorar o tráfego da rede, detectar e alertar sobre ataques e tentativas de acessos indevidos. Na maioria das vezes, não bloqueia uma ação, mas verifica se esta ação é ou não uma ameaça para um segmento de rede.

A vantagem de se utilizar um IDS é que ele não interfere no fluxo de tráfego da rede.

  • O que é IPS ?

Como complemento do IDS, foi desenvolvido o IPS - Sistema de prevenção de intrusão, que tem a capacidade de identificar uma intrusão, analisar a relevância do risco e bloquear determinados eventos.

O IPS é uma ferramenta inteligente, pois reúne componentes que fazem com que ele se torne um repositório de logs e técnicas avançadas de alertas e respostas, voltadas exclusivamente a tornar sua infraestrutura cada vez mais segura, sem perder o grau de disponibilidade que uma rede deve ter.

Algumas ações do IPS são:

-Enviar um alarme ao administrador;
-Derrubar pacotes maliciosos;
-Bloquear o tráfego a partir do endereço de origem;
-Redefinir a conexão.

  • Diferença de IDS para IPS.

- Enquanto o IDS é um software que automatiza o processo de detecção de intrusão, o IPS é um software de prevenção de intrusão, que tem por objetivo impedir possíveis ataques.

O IDS trabalha de maneira reativa e informativa, enquanto o IPS diminui o risco de comprometimento de um ambiente.

  • Ferramenta: Suricata.

O Suricata é um mecanismo de detecção de ameaças de rede gratuito e de código aberto, maduro, rápido e robusto.

O mecanismo Suricata é capaz de detecção de intrusão em tempo real (IDS), prevenção de intrusão em linha (IPS), monitoramento de segurança de rede (NSM) e processamento pcap offline.

O Suricata inspeciona o tráfego da rede usando uma linguagem poderosa e extensa de regras e assinaturas, e possui um suporte poderoso de script Lua para a detecção de ameaças complexas.
Suricata é usado como uma ferramenta IPS, onde derruba e bloqueia conexões e envia alertas de segurança.

  • Ferramenta: SNORT

Snort é um software livre de detecção de intrusão para rede (NIDS) desenvolvido inicialmente por Martin Roesch, capaz de desenvolver análise de tráfego em tempo real e registro de pacote em redes IP.

Executa análise de protocolo, busca/associa padrões de conteúdo e pode ser usado para detectar uma variedade de ataques, tais como buffer overflows, stealth port scans, ataques CGI, SMB probes, OS fingerprinting, entre outras.

  • Instalando e configurando SNORT no PfSense.

OBS: Neste tutorial, o SNORT será usado como uma ferramenta de monitoramento e alerta de possíveis ataques (IDS), e não com a intenção de bloqueios e derrubadas de conexão (IPS).

1) Instalar o pacote “Snort” no PfSense:

System >> Package Manager >> Available Packages >> Snort >> Install

2) Service >> Snort

3) Após instalar o pacote Snort, vamos configurá-lo no PfSense.

Services >> Snort >> Global Settings

Marque: Enable Snort VRT

Em “Snort Oinkmaster Code, é necessário criar uma conta no site oficial do Snort: https://www.snort.org/users/sign_up

Após realizar cadastro no site acima mencionado e ativar a conta no e-mail cadastrado, será possível realizar o login no site e verificar o Oinkcode:

Em seguida, copie o Oinkcode e cole no campo determinado no PfSense.

4) Continuando a configuração:

- Marque: Enable Snort GPLv2
- Marque: Enable ET Open
Marcando estas opções, será habilitado as assinaturas Open Source que o pacote Snort possui, junto das regras.
- Na opção “Update Interval” selecione o intervalo de atualização das regras: 1 dia.

- Em General Settings:
Remove Blocked Hosts Interval: Selecione o tempo que os Hosts bloqueados pelo Snort ficarão bloqueados.

Remove Blocked Hosts After Deinstall: Deixe marcado para caso remova o pacote do Snort, automaticamente remova os Hosts bloqueados.

Keep Snort Settings After Deinstall: Deixe desmarcado, caso o pacote sofra algum bug, ou desinstale o mesmo, não puxe as mesmas configurações, que podem estar com erros, e sim refaça todas as regras novamente.

5) Após realizada as configurações acima, abra:

Service >> Snort >> Updates

E clique em “Update Rules”, dentro de 5 à 10 minutos, a atualização será realizada, e as demais etapas poderão ser seguidas.

6) Nesta etapa, é dado início as configurações dos sensores, onde são estes que monitoram o tráfego de rede.

As etapas são feitas para ambas as interfaces de rede, tanto WAN quanto a LAN.

Snort Interfaces >> Add >> WAN/LAN

Alert Settings
Block Offenders: Deixe desabilitado (APENAS IDS)
Kill States: Deixe desabilitado (APENAS IDS)

Detection Performance Settings
Deixe tudo desabilitado

Choose the Networks Snort Should Inspect and Whitelist
Por enquanto, todas as alternativas ficarão como: “default”

7) Após realizadas a configuração dos sensores, a próxima etapa diz respeito as configurações propriamente ditas das regras.

Service >> Snort >>EDIT Interface>> WAN/LAN Categories

Select the rulesets (Categories) Snort will load at startup

1-SELECT ALL
2-Save

8) Realizar Criação de Aliase, para liberar IP’s confiáveis:

Firewall >> Aliase >> Add

Estes IPs liberados no Aliases, são IPs de origem, cujo snort não fará monitoramento, por muitas vezes serem tratados como um FALSO POSITIVO.

Exemplo: Comumente NAT’s são vistos como um Falso Positivo.

9) Após criado o Aliases de liberação:

Service >> Snort >> Pass List

Auto Generated IP Addresses

Marque todos

Custom IP Address from Configured Aliases

O Aliase criado anteriormente.

10) Criado a Pass List, volte nas configurações das Interfaces e modifique as configurações iniciais, onde em:

Choose the Networks Snort Should Inspect and Whitelist
Na opção “Pass List”, selecione a pass list criada recentemente e clique em Save.

11) Basta ir na aba “ALERTS” e conferir os dados que Snort verificou como atividade desconhecida, seguido de várias informações.