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.
Em snort_rules/ temos as assinaturas do Snort que o PSAD utiliza, recomendo baixar as novas assinaturas direto de www.snort.org ou então se você já utiliza o Snort atualizado em seu sistema, apontaremos direto para a pasta onde estão as regras.
Vamos editar o arquivo psad.conf.
Vou citar algumas das opções mais importantes:
DANGER_LEVEL1 5; ### Number of packets.
DANGER_LEVEL2 50;
DANGER_LEVEL3 1000;
DANGER_LEVEL4 5000;
DANGER_LEVEL5 10000;
Aqui definiremos o DANGER_LEVEL ou seja, os diferentes níveis de risco que um determinado ataque detectado ocasionará.
IPTABLES_BLOCK_METHOD Y;
Sete "y" para que o PSAD possa executar algum eventual bloqueio para o host atacante.
### system binaries
Quando chegar nesta parte esteja bem atento, pois a localização dos binários variam de distro para distro, então verifique cada um dos binários ou então não garanto que o sistema de PSAD funcionará corretamente.
Recomendo uma leitura cuidadosa do psad.conf, ele tem muita coisa, e se formos analisar tudo por aqui vamos ficar muito tempo, o artigo ficaria grande, chato e isso não é bom eheh :)
[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: