Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e...

17
Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse na interface web a opção System/Package Manager/Available Packages”, no campo “Search term” digite “snort” e clique no botão “Search”, depois clique no botão “Install” e na próxima tela clique no botão “Confirm” para iniciar a instalação.

Transcript of Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e...

Page 1: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense

1-Instalar o pacote do Snort no pfSense acesse na interface web a opção

“System/Package Manager/Available Packages”, no campo “Search term” digite

“snort” e clique no botão “Search”, depois clique no botão “Install” e na próxima tela

clique no botão “Confirm” para iniciar a instalação.

Page 2: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

2-Conjunto de regras para o Snort.

Sobre o conjunto de regras fornecidas pelo Snort temos cinco opções, duas

totalmente de livre acesso que não necessitam de nenhum tipo de registro ou cadastro

que são “Snort Community Ruleset GPLv2” e “Emerging Threats Open rules”, uma

de livre acesso, mas que requer um cadastro para sua utilização “Snort VRT free

Registered User” e duas versões pagas “Snort VRT paid Subscriber rules” e

“Emerging Threats Pro rules” consideradas as melhores opções para ambientes de

redes corporativas, a diferença entre as regras estão na frequência em que são

atualizadas que podem variar de atualizações diárias e outras que podem demorar até

trinta dias para serem renovadas. O conjunto de regras “OpenAppID” somente identifica

aplicações.

Tabela de conjunto de regras disponíveis para o Snort.

Conjunto de Regras Observação Tipo

Snort VRT Necessita de uma conta de usuário Snort e “Oinkcode” antes de ativar.

Free account

Snort Community Somente ativar. Free

Emerging Threats ET Open Somente ativar. Free

Emerging Threats ET Pro Necessita de uma conta de usuário antes de ativar.

Comercial

OpenAppID Somente ativar. Free

3-Obter o código “Oinkmaster” para receber atualizações das assinaturas de regras de

“IDS” da “VRT”.

1. Acesse o endereço “https://snort.org/users/sign_up”.

2. Digite um e-mail, defina uma senha, marque a opção “Agree to Snort license” e

depois clique em “Sign Up”.

3. Acesse o e-mail que utilizou para criar a conta e confirme a inscrição através do e-

mail de confirmação do Snort.

4. Acesse o endereço “https://snort.org/users/sign_in” para logar no site digitando o e-

mail e a senha cadastrados, depois clique em “Sign In”.

5. Na página principal do Snort “https://snort.org/” clique no local onde aparece o e-

mail cadastrado para acessar a área de usuário e visualizar o “Oinkcode”.

Page 3: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

4-Para configurar as regras do Snort acesse na interface web a opção

“Services/Snort/Global Settings”, marque a opção “Enable Snort VRT” e insira o

código obtido no site do Snort no campo “Snort Oinkmaster Code”, marque também a

opção “Enable Snort GPLv2” e se desejar mais uma camada de regras selecione

também “Enable ET Open”.

5-Selecione o intervalo para atualização das regras automáticas para o período de 1 dia,

o horário de início das atualizações também pode ser alterado conforme a necessidade,

para finalizar as configurações vá ao final da página e clique no botão “Save”.

6-A primeira atualização de regras do Snort deve ser feita manualmente acessando na

interface web a opção “Services/Snort/Updates”, clique no botão “Updates Rules” e

aguarde o processo de atualização terminar.

Page 4: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

7-Configurar as interfaces de rede que serão monitoradas pelo sistema de detecção de

intrusão (IDS – Intrusion Detection System), temos três modos possíveis para

configurar as interfaces monitoradas pelo Snort.

1. Quando a rede a ser monitorada possui serviços que são acessados externamente

como servidores HTTP, FTP, SSH, RDP, Bancos de Dados SQL e outros, neste

caso devemos monitorar a interface “WAN” pois esses serviços são normalmente

explorados ou atacados por indivíduos mal-intencionados na Internet.

2. Quando a rede a ser monitorada não possuir serviços acessados diretamente

através da Internet e o firewall estiver bloqueando todo o acesso externo devemos

monitorar a interface “LAN” assim podemos detectar se algum host localizado na

rede interna esta comprometido ou infectado com algum tipo de código malicioso.

3. Em alguns casos podemos utilizar ambas configurações de “LAN” e “WAN”.

Page 5: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

8-Adicionar uma interface de rede para ser inspecionada pelo Snort

“Services/Snort/Interfaces” e clique no botão “Add” e depois “Save”.

9-Com a interface adicionada clique no símbolo de lápis e acesse “LAN Categories”

para editar suas configurações.

• Resolução Automática de Flowbit padrão já ativadas.

O Snort examinará as regras ativadas nas categorias de regra escolhidas para os flowbits

verificados. Quaisquer regras que definam esses flowbits dependentes serão ativadas

automaticamente e adicionadas à lista de arquivos no diretório de regras da interface.

Para usuários com conta no site do Snort em posse de um código “Oinkmaster” são

possíveis três níveis de políticas pré-configuradas que estão disponíveis na opção “IPS

Policy Selection”, que são “Connectivity, Balanced, Security, Max-Detect”.

Page 6: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

• Conectividade (Connectivity): este modo bloqueia as principais ameaças de rede

e normalmente gera poucos falsos positivos.

• Equilibrado (Balanced): este modo possui um bom nível de cobertura que cobre a

maioria das ameaças do dia a dia, é considerado a melhor opção inicial.

• Segurança (Security): esta opção é muito restritiva e requer um nível de

administração muito elevado pois acaba gerando um número muito alto de falsos

positivos.

• Detecção Máxima (Max-Detected): O Max-Detect é uma política criada para

testar o tráfego de rede através do seu dispositivo. Esta política deve ser usada

com cautela nos sistemas de produção!

• Os conjuntos de regras “Snort GPLv2 Community”, “ET Open” e “OpenAppID”

devem ser selecionadas manualmente.

• Sumário de categoria de regras ativadas por padrão da politica “Balanced”.

Page 7: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

10-Para visualizar e gerenciar os conjuntos de regras acesse “LAN Rules”.

11-Preprocessors básicos ativados na configuração padrão do Snort “LAN Preprocs”.

• Decodificador de protocolo RPC, detectar tráfego de Back Orifice.

• Decodificador de protocolo SMB, detectar tráfego DCE/RPC.

• Decodificador de protocolo SIP, detectar vulnerabilidades VoIP.

• Decodificador SSH, detectar vulnerabilidades Secure Shell Host.

• Decodificador DNS, detectar vulnerabilidades de Domain Name Servers.

• Detectar irregularidades em trocas de chaves do protocolo SSL.

Page 8: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

• Decodificador de protocolo HTTP, detectar anomalias no tráfego web.

• Detectar tentativa de evasão de IDS via fragmentação de pacotes IP.

• Sessão de remontagem para protocolos TCP/UDP e tráfego ICMP.

• Detectar várias aplicações de redes via OpenAppID. Desativado por padrão.

• Detectar vários tipos de Portscans. Desativado por padrão.

• Decodificador de protocolo FTP e Telnet, detectar anomalias de tráfego.

Page 9: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

• Normalizar tráfego Telnet eliminando sequências de escape.

• Opções padrão de configurações cliente/servidor do protocolo FTP.

• Detectar dados sensíveis, números de cartão de crédito, endereços de e-mail.

• Detectar ataques ARP Spoof. Desativado por padrão.

• Decodificador de protocolo POP3, detectar ataques de buffer overflows.

• Decodificador de protocolo IMAP, detectar ataques de buffer overflows.

• Decodificador de protocolo SMTP, detectar ataques de buffer overflows.

Page 10: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

12-Testar o funcionamento básico do Snort navegando em algumas páginas na Internet

de preferência as mais utilizadas em sua rede local para verificar os alertas gerados, será

necessário adicionar alguns alertas de regras na lista de supressão automática antes de

ativar a opção de bloqueio do Snort.

• Inicialize a interface do Snort em “Snort Interfaces”.

• Monitore os alertas gerados do Snort “Alerts” e adicione na lista de supressão.

• Lista de supressão gerada automaticamente pelo Snort “Supress”.

Page 11: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

Utilize a relação logo abaixo para editar a lista de supressão do Snort, estes foram os alertas mais frequentes em um ambiente de produção.

#(http_inspect) DOUBLE DECODING ATTACKsuppress gen_id 119, sig_id 2

#(http_inspect) BARE BYTE UNICODE ENCODINGsuppress gen_id 119, sig_id 4

#(http_inspect) IIS UNICODE CODEPOINT ENCODINGsuppress gen_id 119, sig_id 7

#(http_inspect) UNKNOWN METHODsuppress gen_id 119, sig_id 31

#(http_inspect) SIMPLE REQUESTsuppress gen_id 119, sig_id 32

#(http_inspect) UNESCAPED SPACE IN HTTP URIsuppress gen_id 119, sig_id 33

#(http_inspect) TOO MANY PIPELINED REQUESTSsuppress gen_id 119, sig_id 34

#(http_inspect) NO CONTENT-LENGTH OR TRANSFER-ENCODING IN HTTP RESPONSEsuppress gen_id 120, sig_id 3

#(http_inspect) HTTP RESPONSE HAS UTF CHARSET WHICH FAILED TO NORMALIZEsuppress gen_id 120, sig_id 4

#(http_inspect) INVALID CONTENT-LENGTH OR CHUNK SIZEsuppress gen_id 120, sig_id 8

#(http_inspect) JAVASCRIPT OBFUSCATION LEVELS EXCEEDS 1suppress gen_id 120, sig_id 9

#(http_inspect) JAVASCRIPT WHITESPACES EXCEEDS MAX ALLOWEDsuppress gen_id 120, sig_id 10

#(http_inspect) MULTIPLE ENCODINGS WITHIN JAVASCRIPT OBFUSCATED DATAsuppress gen_id 120, sig_id 11

#(smtp) Base64 Decoding failed.suppress gen_id 124, sig_id 10

#(spp_ssl) Invalid Client HELLO after Server HELLO Detectedsuppress gen_id 137, sig_id 1

#(IMAP) Unknown IMAP4 commandsuppress gen_id 141, sig_id 1

#(POP) Unknown POP3 commandsuppress gen_id 142, sig_id 1

#(POP) Unknown POP3 responsesuppress gen_id 142, sig_id 2

#(POP) Base64 Decoding failed.suppress gen_id 142, sig_id 4

Page 12: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

13-Em “LAN Settings” selecione o envio de alertas para sistema de logs do firewallpfSense, a opção de bloqueio automático de hosts que gerarem alertas do Snort e aopção para o firewall matar os estados de conexões dos endereços IP bloqueados, nestemodo o Snort opera como sistema de prevenção de intrusões de redes “IPS”.

• Ative a otimização de procura e marque a caixa de seleção para não examinar pacotes de stream opcionalmente.

• Sistema de prevenção de intrusões com modo de bloqueio ativado “IPS”.

Page 13: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

14-Gerenciar hosts bloqueados pelo Snort “Services/Snort/Blocked”.

• Para remover todos os hosts bloqueados manualmente clique em “Clear”.

• Entrada de log de alerta do Snort detectando anomalias no tráfego da rede.

• Hosts externos bloqueados pelo Snort com endereço IP e descrição do alerta e data de ocorrência do evento.

• Configurações para remover bloqueios do Snort automaticamente após um determinado tempo “Services/Snort/Global Settings”.

Page 14: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

15-Ativando detecção de aplicações no Snort “OpenAppID”.

O “OpenAppID” é um plugin de segurança de rede com funcionalidade de detecção da

camada de aplicação para o sistema de detecção de intrusão Snort.

• Ative a detecção de aplicações “Services/Snort/Global Settings” Save.

• Atualize o conjunto de regras “Services/Snort/Updates” Update Rules

• Conjuntos de regras do “OpenAppID” instaladas e atualizadas.

Page 15: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

• Ativar o conjunto de regras do “OpenAppID” do Snort.“Snort Interfaces/LAN Categories” Select All, Save.

• Acesse “Snort Interfaces/Lan Prepocs”.

• Ative o preprocessor do “OpenAppID”.

• Visualize através de “Services/Snort/Alerts” a detecção das aplicações do Snort.

Page 16: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

16-Gerenciar o status da interface do Snort “Services/Snort/Snort Interfaces”.

• Status da Interface: executando, reiniciar, parar.• Ícone de lápis: editar as configurações da interface.• Ícone de lixeira: deletar uma interface e suas configurações.• Ícone de janela: clonar uma interface e suas configurações.

Page 17: Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense · Sistema de Detecção e Prevenção de Intrusões SNORT no pfSense 1-Instalar o pacote do Snort no pfSense acesse

17-Detalhes sobre os alertas do Snort.

• Date: data de ocorrência do evento.• Pri: prioridade.• Proto: protocolo.• Class: tipo de ameaça.• Source IP: endereço IP de origem. (Clique no ícone de lupa para resolver o

endereço IP de origem, clique no ícone do sinal + para adicionar o alerta na lista desupressão da regra por endereço de origem).

• Sport: porta de origem.• Destination IP: endereço IP de destino. (Clique no ícone de lupa para resolver o

endereço IP de destino, clique no ícone do sinal + para adicionar o alerta na listade supressão da regra por endereço de destino).

• Dport: porta de destino.• SID: identificação da assinatura de detecção. (Clique no ícone do sinal + para

adicionar o alerta na lista de supressão de regra, clique no ícone x para desativar aregra e removê-la do conjunto de regras do Snort).

• Description: detalhes sobre a ameaça.

18-Sobre as listas de supressão do Snort.

Listas de Supressão permitem o controle sobre os alertas gerados pelas regras do Snort.

Quando um alerta é suprimido, o Snort não registra mais uma entrada de alerta (ou

bloqueia o endereço IP se o bloqueio de infratores estiver habilitado) quando uma

determinada regra é disparada. O Snort ainda inspeciona todo o tráfego da rede em

relação à regra, mas mesmo quando o tráfego corresponde à assinatura da regra,

nenhum alerta será gerado. Isso é diferente de desativar uma regra. Quando uma regra é

desativada, o Snort não tenta mais corresponder a qualquer tráfego de rede. A supressão

de uma regra pode ser feita em vez de desativar a regra quando os alertas só devem ser

interrompidos com base no IP de origem ou de destino. Por exemplo, para suprimir o

alerta quando o tráfego de um determinado endereço IP confiável for a origem. Se

qualquer outro IP for a origem ou o destino do tráfego, a regra ainda será acionada. Para

eliminar todos os alertas da regra, é mais eficiente simplesmente desabilitar a regra, em

vez de suprimi-la. Desativar a regra irá removê-lo da lista de regras de correspondência

do Snort e, portanto, menos trabalho que o Snort tem que fazer.