Neste artigo vamos conhecer o PSAD, um um software criado exclusivamente para agir como um detector de ataques como port scan e DDoS. Veremos suas principais características e como tirar proveito deste projeto muito interessante.
PSAD é a abreviatura de Port Scan Attack Detector e como o nome sugere, é um aplicativo capaz de analisar e interagir com determinados eventos, como possíveis ataques de port scan e também ataques de negação de serviço (DoS).
O PSAD foi desenvolvido em Perl e utiliza a capacidade de observar e analisar logs gerados pelo IPtables e também utilizar assinaturas do sistema de detecção de invasão Snort, criando assim uma grande gama de possibilidades de análise e baseado em uma configuração feita pelo usuário/admin/CSO/etc, reagir ao evento, lançando alertas, bloqueando o ip hostil ou lançando algum outro tipo de mecanismo de resposta previamente configurado.
PSAD é simples em toda sua sintaxe, ele utiliza 3 daemons que se incubem de todo o serviço e seu sistema de configuração é bem flexível, pode até parecer um tanto que assustador à primeira vista devido ao grande número de possibilidades de configuração, porém uma pequena lida no mesmo mostrará que a maioria são configurações de paths de softwares que o PSAD utiliza.
Vamos analisar no próximo capítulo a instalação e configuração do PSAD.
[3] Comentário enviado por ygorth em 25/10/2004 - 12:25h
interessante o assunto. Só nao acho que o artigo ficaria chato se o .conf do PSAD fosse tratado com mais atencao. Porem, muito valido o artigo eu pessoalmente nao conhecia ferramenta.
[4] Comentário enviado por ygorth em 25/10/2004 - 12:30h
interessante o assunto. Só nao acho que o artigo ficaria chato se o .conf do PSAD fosse tratado com mais atencao. Porem, muito valido o artigo eu nao conhecia ferramenta.
[8] Comentário enviado por y2h4ck em 25/10/2004 - 18:30h
Cmarcelo, como o PSAD e o portsentry trabalham de maneira um pouco diferente, eu diria que isso iria depender um pouco do cenario que iria ser implantado.
Mas eu recomendo utilizar o PSAD integrado ao Snort, assim conseguiria uma solução mais Eficiente.
[12] Comentário enviado por naoexistemais em 29/10/2004 - 06:08h
Anderson,
Você testou em qual distribuição o PSAD, por se foi no Slackware você deve ter esquecido mencionar alguns provaveis problemas, exemplo como editar o install.pl e colocar o caminho correto do INIT_DIR.
[14] Comentário enviado por Sabaote em 29/12/2004 - 08:23h
Eu instalei em um Sistema o PSAD e agora recebo e-mails a cada minuto.. chego a receber cerca de 5000 mil e-mails por dia avisando que alguém tentou scanear o sistema.. como posso parar com isso ?
Muito bom o artigo.. :)
[15] Comentário enviado por removido em 21/11/2006 - 07:40h
O PSAD trabalha com os logs gerados de algum firewall, geralmente o iptables, mas pelo que vi no artigo, você não colocou nenhuma regra de firewall para gerar logs. Você até comentou no começo, mas deve ter esquecido durante o artigo.
Para que ele envie a notificação via email é preciso está rodando o Sendmail, o PSAD usa esse Daemon para enviar os emails.
Para habilitar a diretiva "IPTABLES_BLOCK_METHOD" a diretiva "ENABLE_AUTO_IDS" tem que está ativa também, senão estiver não vai ter efeito a diretiva "IPTABLES_BLOCK_METHOD".
A respeito do usuário acima uma sugestão é você mudar o valor da diretiva "EMAIL_ALERT_DANGER_LEVEL" para 4 no arquivo de configuração do PSAD "/etc/psad/psad.conf". Para só enviar um email para as notificações mais importantes.
Outra solução é mudar o valor da diretiva "EMAIL_LIMIT" que por padrão seu valor é 0, ou seja, ilimitado. Defina o valor de quantos email você pode receber em um determinado IP, por exemplo:
EMAIL_LIMIT 5
Apesar de o PSAD não ter muita documentação, este artigo vai ser bem útil para vários administradores. Parabéns!
[18] Comentário enviado por condealisson em 04/11/2011 - 11:12h
Parabéns, excelente tutorial, simples e eficiente!
Vou deixar aqui minha experiencia.
Instalei o psad e nada dele monitorar, rodava normalmente, sem erros, porém sem reports.
Então lembrei que havia alterado meu rsyslogd.conf, aí a solução.
A linha que busca o arquivo de log continha:
IPT_SYSLOG_FILE /var/log/messages;
E eu alterei as mensagens de log do kernel para cairem todas no kern.log no rsyslogd.conf!!!
Então alterei a linha para:
IPT_SYSLOG_FILE /var/log/kern.log;
E está tudo funcionando agora.
Outra observação: caso o processo /usr/sbin/kmsgsd não exista é devido à configuração:
ENABLE_SYSLOG_FILE Y;
Se alterarmos para N o psad usará o kmsgsd para monitorar o iptables, mas assim ele vai inserir dados no arquivo de log, então, melhor deixar com Y mesmo e sem o kmsgsd para "estufar" os logs.
(Dica retirada de: <http://www.mail-archive.com/psad-discuss@lists.sourceforge.net/msg00015.html>)
Outro problema que encontrei foi a mensagem:
Starting psad: Undefined subroutine &main::LOG_DAEMON called at /usr/sbin/psad line 9443.
Isso se deve ao colocar a opção N na regra IPTABLES_BLOCK_METHOD.
Caso queira desativar o bloqueio de ips altere: