PSAD: Port Scan Attack Detector

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.

[ Hits: 105.594 ]

Por: Anderson L Tamborim em 25/10/2004 | Blog: http://y2h4ck.wordpress.com


Instalação do PSAD



OBS: Para a instalação e utilização do PSAD estou levando em consideração que o leitor possua conhecimentos prévios em manipulação de arquivos compactados (.tar.gz), compilação de aplicativos e uma noção sobre iptables.

Máquina usada no teste:

Cyrix II - 233, 256 mb RAM
Plataforma: SuSE Linux 9.1 Professional
Iptables-1.2.11,
gcc-3.3.1-24,
perl-5.8.1-81,
nmap-3.70

Instalação do PSAD


Vamos baixar a versão mais recente do PSAD (psad-1.3.3.tar.gz):

$ wget http://www.cipherdyne.com/psad/download/psad-1.3.3.tar.gz

O arquivo tem apenas 430 Kb, então não será um trabalho árduo :)

Agora vamos descompactar o mesmo:

$ tar -xzvf psad-1.3.3.tar.gz
$ cd psad-1.3.3


Vamos nos tornar root:

$ su - # perl install.pl
(para começarmos a instalar)

Ele vai verificar se seu sistema possui todos os módulos CPAN que ele necessita, mas não fique assustado, caso esteja faltando algum ele baixa na hora e instala.

Assim que ele tiver compilado e verificado os ítens necessários, serão feitas algumas perguntas:

[+] Copying fwcheck_psad.pl -> /usr/sbin/fwcheck_psad
[+] Copying psad -> /usr/sbin/psad
[+] Copying psadwatchd -> /usr/sbin/psadwatchd
[+] Copying kmsgsd -> /usr/sbin/kmsgsd
[+] Would you like to preserve the config from the existing psad installation ([y]/n)?

Se você já havia instalado o PSAD e está com a configuração otimizada, então no caso é melhor deixar ele salvar a configuração atual, caso contrário diga que não.

[+] Preserve the existing /etc/psad/signatures file?
(NOTE: This is only recommended if you have manually edited
/etc/psad/signatures) (y/[n])?

Caso você tenha editado/criado alguma assinatura diferente para o PSAD, então diga que "y", caso contrário "n".

[+] Enable psad at boot time ([y]/n)?

Caso você for rodar em um servidor, o ideal seria deixá-lo iniciar junto ao sistema, caso contrário deixo "n". :)

[+] Psad has been installed (with your original config).

[+] To start psad, run "/etc/init.d/psad start."

Bom agora temos o PSAD instalado, mas antes de iniciá-lo vamos olhar o arquivo de configurações no próximo capítulo.

Página anterior     Próxima página

Páginas do artigo
   1. Prólogo
   2. Introdução: PSAD
   3. Instalação do PSAD
   4. Configuração do PSAD
   5. Proof of Concept: testes de segurança
   6. Considerações finais
   7. Append 1
Outros artigos deste autor

Jails em SSH: Montando sistema de Shell Seguro

Snort avançado: Projetando um perímetro seguro

OpenVZ: Virtualização para servidores Linux

Libsafe: Protegendo Linux contra Smashing Overflow

PortSentry: Melhorando a segurança do seu Linux

Leitura recomendada

Travando qualquer máquina Linux

Replicação com OpenLDAP

ANDRAX - Pentest usando o Android

Protegendo seu servidor de e-mail Postfix

Hidden Service - Disponibilizando seu site na Deep Web através do Tor

  
Comentários
[1] Comentário enviado por cvs em 25/10/2004 - 09:52h

Aprendeu do jeitinho que eu ensinei hein? :D ehehehhehe... muito bom o artigo, jã vou testar aqui.

[2] Comentário enviado por rfranzen em 25/10/2004 - 12:23h

Mais um excelente artigo do y2h4ck...

Parabéns !

[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.

[5] Comentário enviado por y2h4ck em 25/10/2004 - 13:12h

Caro controlc, o conf do PSAD vai ser postado na seção "Conf"
justamente para evitar ter que colar um .conf gigante aqui :)

Abraços

[6] Comentário enviado por cmarcelo em 25/10/2004 - 15:00h

Esta ferramenta é melhor que o Protsentry? Quais as principais diferenças? Qual você me recomendaria usar?

[7] Comentário enviado por neriberto em 25/10/2004 - 17:01h

Cmarcelo, mandou bem... o artigo tá legal mesmo...

[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.

:)

Boa sorte

[9] Comentário enviado por tucs em 25/10/2004 - 20:17h

Realmente interessante, utilizo o guardian para esse serviço mas estarei estudando essa possibilidade, parabens.

Eduardo Assis

[10] Comentário enviado por naoexistemais em 26/10/2004 - 04:55h

Andeson,

Kd o Engos, reclamando do seu artigo, parabéns....

Falou,

[11] Comentário enviado por andreguerra em 26/10/2004 - 10:48h

Mais um artigo excelente, aliás como todos os outros do Anderson.

Abraço,

André Guerra

[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.

Falou,

[13] Comentário enviado por y2h4ck em 29/10/2004 - 09:56h

Como mencionei na pagina 2 ...
Plataforma: SuSE Linux 9.1 Professional

Aqui não tive problemas :)

Abraços

[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!

[16] Comentário enviado por fjbvn em 11/12/2007 - 21:15h

Bom artigo...

> /mybrower/bookmarks.

Vou implementar aqui e relato algum problema ocorrido!

[17] Comentário enviado por memory em 29/10/2008 - 21:33h

Concordo com leogemeostotino,
artigo esta bom mesmo bem facil de ser entendido para quem esta interessado no assunto.
http://www.4shared.com/file/71491619/b73f328d/Psad.html?
abracos

[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:

ENABLE_AUTO_IDS Y;

para:


ENABLE_AUTO_IDS N;

e não a opção:

IPTABLES_BLOCK_METHOD Y;

para:

IPTABLES_BLOCK_METHOD N;

Essa última deve ser sempre Y.

Forte abraço.

[19] Comentário enviado por jgama em 26/06/2014 - 11:11h

Esta maquina que vai ter o PSAD tem que ser o gateway da Rede?

Abraço


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts