Port Scan Attack Detector (Psad) com Iptables

Introdução

administrador de redes dentro de uma empresa vem tornando-se cada vez mais importante e exigido quando falamos no quesito segurança. A necessidade que as empresas possuem de terem acesso as seus dados a qualquer hora e lugar onde o meio geralmente utilizado é a internet é que tornam a questão ainda mais importante e que faz com que os profissionais em redes percam noites sem dormir.

 

A internet é um meio público onde as informações trafegam livremente e que podem ser interceptadas por qualquer usuário mal intencionado utilizando-se das ferramentas certas.

 

Notícias sobre invasões de empresas que tiveram seus dados expostos e informações sigilosas roubadas são a cada dia mais frequentesDiferente de algum tempo atrás onde um usuário (Cracker*) disposto a invadir um sistema necessitava de algumas horas e adquirir um conhecimento sólido de camadas de redesprotocolos e configurações para chegar à porta de um sistema e comprometê-loatualmente a facilidade da internet em se obter informaçõesferramentas e explicações detalhadas sobre qualquer forma de invasão de um sistema fazem com que usuários (Script *) de fim de semana sem muito esforço consigam descobrir técnicas para varrer sua rededetectar vulnerabilidades e utilizar o tutorial do “blog do fulano” para comprometer seu sistema causando transtornos e prejuízos inestimáveis.

Com o intuito de prevenir seu sistema de varreduras de usuários mal intencionados a procura vulnerabilidades surgiu entre outras a ferramenta OpenSource PSADque estarei abordando aqui a qual pode detectaralertar e ainda bloquear tentativas de escaneamentos externos a sua rede.

 

*Hacker diz respeito ao usuário que estuda um sistema ou hardware de computadorprocurar entender seu mecanismo e como ele funciona a fim de aperfeiçoa-loAo contrário do que divulga a mídia onde o Hacker é o usuário que invade sistemas e os danificaela está se referindo na verdade ao Cracker. Um Hacker pode invadi um sistema a fim de apontar falhas a serem corrigidas no entanto jamais causará prejuízos ou roubo de informações sigilosas.

 

*Script antigamente denominado de Lamer é o usuário que apesar de não compreender exatamente como um sistema ou mecanismo funciona utiliza-se de ferramentas criadas por outrosEsses causam prejuízosdanificam sistemas com o único intuito de ganhar fama ou dinheiro.

Entendendo o funcionamento

O software Psad trabalha analisando os logs do Iptables em busca de tentativas de varreduras ao seu ip gerando alertas e bloqueando-as.

Abaixo temos uma figura que representa o funcionamento do PSAD:

Adaptado de Cipherdyne 2011.

Instalação e configuração:

Estaremos utilizando para 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

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 as suas necessidadesAbaixo 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 varredurasNesse 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 exemplosem 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_INTERVALrepresenta o tempo em segundos em que os logs do iptables serão verificados em busca de varreduras.

DicaTenha 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 servidoresAconselho

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 configura-lo para ignorar o tráfego de pacotes em determinadas portasImaginamos que você possui um servidor onde a porta 3389 possui um tráfego de pacotes relativamente alto. Esse simples fato poderia vir a causar falsos positivos ao Psad que poderia entender essa troca de pacotes intensa como uma tentativa de varredura ou invasão a sua rede. No entanto se você não precisa disponibilizar nenhuma porta aberta para acesso externo você pode utilizar tranquilamente a opçãoIGNORE_PORTS NONE;

 

Você pode estar se perguntandoÉ para liberar as principais portas que utilizo do monitoramento do Psadentão qual o objetivo de utiliza-lo para monitorar minha redeResposta: As varreduras a 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çoalé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 delas está diretamente ligada a 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: essas 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 esse 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 chaves do Psad e que são um dos principais objetivos desse artigo. Com essas 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.

Configurando o log do Iptables.

Precisamos configurar o Iptables para escrever em um log o movimento dos pacotes que estão passando pelo firewall. Para isso adicionamos os seguintes comandos no script do firewall:

iptables -A INPUT -j LOG

iptables -A FORWARD -j LOG

Edite o arquivo /etc/rsyslog.conf e adicione a seguinte linha ao final:

kern.info | /var/lib/psad/psadfifo

Liberando Ips do monitoramento do Psad.

Um outro arquivo de configuração interessante do Psad é o /etc/psad/auto_dl nele você pode definir quais Ips estão liberados do monitoramento do Psad bem como níveis para diferentes para ips específicosEssa opção se torna muito útil no caso de você querer evitar bloqueios errôneos de Ips que fazem parte de um grupo confiável que acessa seu servidor.

 

Exemplo:

200.139.34.1 5;

200.139.34.2 3 tcp;

200.139.34.3 3 tcp/1-1024;

200.193.34.4 0;

No primeiro exemplo dizemos que o ip 200.139.34.1 deve ser tratado com o nível máximo (5) de atenção. No segundo exemplo o ip 200.193.34.2 é tratado com o nível 3 no entanto apenas para tráfego utilizando o protocolo tcp o ip 200.193.34.3 apenas para o tráfego tcp entre as portas 1 e 1024. No último exemplo o ip 200.193.34.4 será excluído do monitoramento do Psad sendo isso representado pelo nível 0.

Conclusões

Psad é um ferramenta de muito poderosa que pode evitar grandes dores de cabeça inibindo ataque diversos a sua rede e evitando que seu sistema seja comprometido. No entanto o Psad não elimina de maneira alguma a necessidade de um boa configuração de firewall, ele apenas adiciona mais uma camada de proteção e monitoramento ao sistemaMonitore continuamente as mensagens do Psad e implemente sempre atualizações e novas proteções ao seu firewall.

 

Espero que aproveitem o artigoSugestões pelo e-mail itnp@msn.com.

REFERÊNCIAS:

PSAD (Linux) detectar e bloquear ataques port scan em tempo real.

Fontehttp://segurancalinux.com/

 

PSAD: Intrusion Detection and Log Analysis with iptables.

Tags:

No responses yet

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *