Port Scan Attack Detector (PSAD) com iptables

itn

Com o intuito de prevenir seu sistema de varreduras de usuários mal intencionados à procura de vulnerabilidades, surgiu entre outras a ferramenta OpenSource PSAD (que estarei abordando aqui), a qual pode detectar, alertar e ainda bloquear tentativas de escaneamentos externos à sua rede.

[ Hits: 29.720 ]

Por: Irineu Teza Nunes em 26/01/2012


Instalação e configuração



Estaremos utilizando para a configuração do PSAD, o sistema Ubuntu 10.10, no entanto, ele pode ser instalado em qualquer distribuição, bastando para isto executar pequenas alterações.

Para instalar:

# apt-get install psad

O arquivo de configuração do PSAD fica, por padrão, em "/etc/psad/psad.conf" possui muitas opções que podem ser testadas e adequadas às suas necessidades. Abaixo temos algumas que considerei mais importantes:

EMAIL_ADDRESSES itn@localhost;

EMAIL_ADDRESSES: configure aqui o endereço de e-mail para qual irá o aviso de detecção de varreduras. Neste exemplo, os avisos irão para o usuário “itn” da própria máquina local. Caso você possua um servidor de e-mails instalado, basta modificar 'itn@localhost' pelo seu e-mail e alterar a opção 'HOME_NET NOT_USED' que evita que você continue a receber e-mails na caixa de entrada do seu usuário “itn”.

Dica: Se você estiver utilizando um servidor Linux, por exemplo, sem o X instalado, você pode instalar o cliente de e-mails para o terminal mutt:

# apt-get install mutt

E utilizar o comando 'mutt –z' para ler os e-mails recebidos do PSAD.

DANGER_LEVEL1 5; ### Number of packets.

DANGER_LEVEL2 15;

DANGER_LEVEL3 150;

DANGER_LEVEL4 1500;

DANGER_LEVEL5 10000;

DANGER LEVEL: É dividido em 5 níveis que representam a quantidade de pacotes enviado de terminado IP dentro de um período de tempo. Por exemplo, o valor 150 do nível 3 diz para o PSAD que quando a quantidade de pacotes atingirem esse limite, ele deve considerar como uma tentativa de varredura externa.

CHECK_INTERVAL 5;

CHEK_INTERVAL: representa o tempo em segundos em que os Logs do iptables serão verificados em busca de varreduras.

Dica: Tenha bastante cuidado em configurar o 'DANGER_LEVEL', uma vez que configurar para o PSAD bloquear ou reportar tentativas de varreduras em LEVEL baixos como 1 e 2, podem causar problemas de conexões dos clientes reais uma vez que pacotes de dados são trocados constantemente entre clientes e servidores.

IGNORE_PORTS tcp/3389, udp/53, tcp/22;

IGNORE_PORTS NONE;

IGNORE_PORTS: uma das opções chaves para um bom funcionamento do PSAD, uma vez que você pode configurá-lo para ignorar o tráfego de pacotes em determinadas portas.

Imaginamos que você possui um servidor onde a porta 3389 possui um tráfego de pacotes relativamente alto. Este simples fato poderia vir a causar falsos positivos ao PSAD que poderia entender esta troca de pacotes intensa como uma tentativa de varredura ou invasão à sua rede. No entanto, se você não precisa disponibilizar nenhuma porta aberta para acesso externo, pode utilizar tranquilamente a opção: IGNORE_PORTS NONE;

Você pode estar se perguntando: É para liberar as principais portas que utilizo do monitoramento do PSAD, então qual o objetivo de utilizá-lo para monitorar minha rede?

Resposta: As varreduras de redes são realizadas com software que enviam uma quantidade enorme de pacotes em diversas portas e em um curto espaço de tempo. Então o fato de você liberar algumas portas do monitoramento do PSAD não irá impedi-lo de executar seu serviço, além de lhe dar uma proteção adicional contra falsos positivos.

IGNORE_INTERFACES eth1;

IGNORE_INTERFACES: opção bastante interessante para quem utiliza uma máquina que possui mais de uma interface de rede onde apenas uma delas está diretamente ligada à internet. Assim você pode configurar de quais placas os PSAD irá monitorar o tráfego.

MIN_DANGER_LEVEL 4;
EMAIL_ALERT_DANGER_LEVEL 5;

MIN_DANGER_LEVEL, EMAIL_ALERT_DANGER_LEVEL: estas duas opções estão diretamente ligadas à opção 'DANGER LEVEL', a opção 'MIN_DANGER_LEVEL' representa o nível mínimo que deve ser atingido para um arquivo de e-mail ser gerado e 'EMAIL_ALERT_DANGER_LEVEL' é quando este arquivo será efetivamente enviado.

ENABLE_AUTO_IDS Y;

AUTO_IDS_DANGER_LEVEL 4;

IPTABLES_BLOCK_METHOD Y;

AUTO_BLOCK_TIMEOUT 3600;

ENABLE_AUTO_IDS, AUTO_IDS_DANGER_LEVEL, IPTABLES_B LOCK_METHOD: opções chave do PSAD e que são um dos principais objetivos deste artigo. Com estas opções definidas como 'Y' (ativadas), o nível determinado (4 no exemplo) o PSAD irá bloquear todo o acesso do IP que está executando a varredura em sua rede pelo tempo determinado em segundos (3600 segundos no exemplo).
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação e configuração
   3. Configurando o Log do iptables
Outros artigos deste autor

Bloqueando o UltraSurf e o WebMessenger do Hotmail com Proxy Transparente

Reforçando a segurança das conexões HTTPS no Apache

Criando túneis com o VTUN

Leitura recomendada

IPTABLES - Conceitos e aplicação

Shorewall - Firewall passo a passo no Linux

Como construir um firewall de baixo custo para sua empresa (parte 2)

Squid + iptables (método ninja)

Controlando 2 links de internet (roteados) em um gateway Linux com SQUID

  
Comentários
[1] Comentário enviado por Leonardo Goretti em 26/01/2012 - 16:53h

Parabens ......

[2] Comentário enviado por removido em 26/01/2012 - 23:00h

Muito bom !

[3] Comentário enviado por eujobi em 29/01/2012 - 20:20h

Show! Vc e muitos outros estão de parabens por nos passar esses conhecimentos. Isso só facilita a gente a usar cada vez mais o linux!
Quero me aprofundar mais em em tcp/ip pois é algo que não domino. Se tiver algum site legal ai sobre redes que trans um conhcimento legal, manda ai!!


[4] Comentário enviado por marcoaw em 30/01/2012 - 17:17h

Muito bom !!! , este artigo e muito interessante.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts