scanlogd – Como instalar e utilizar

Quanto antes pudermos detectar a possibilidade de um problema, mais eficiente será o trabalho de prevenção; apresento aqui então para quem não conhece, a ferramenta Scanlogd – que foi projetada para registrar as varredudas de porta que softwares como o Nmap estão sendo direcionadas ao nosso servidor. Claro que tal ferramenta apenas nos “dá o alerta“, cabe a nós analisarmos os logs gerados por ela e tomar as medidas necessárias.

Demonstro aqui então como fazer sua instalação, configuração e uso – utilizei para o Debian GNU/Linux 7

Atualizaremos a lista de repositórios e instalaremos o programa (caso o repositório mantido pela comunidade não esteja ativado, será preciso fazê-lo).

# apt-get update && apt-get install scanlogd

Feita a instalação, automaticamente o sistema adicionou o usuário scanlogd, em meu sistema posso conferir isso verificando a última linha que é apresentada com o comando:

# tail -n 1 /etc/passwd
scanlogd:x:106:65534::/home/scanlogd:/bin/false
root@wakanda:~# 

Vamos editar o arquivo de configurações de log do sistema: /etc/rsyslog.conf, adicionando as seguintes linhas no final do arquivo:

# Arquivo de log para o syslogd
daemon.alert /var/log/alert

Após salvar e sair do arquivo de configuração, devemos criar o arquivo que especificamos no mesmo, simplesmente com um:

# touch /var/log/alert

Após isso, basta reiniciar o sistema de log:

# /etc/init.d/rsyslog restart
[ ok ] Stopping enhanced syslogd: rsyslogd.
[ ok ] Starting enhanced syslogd: rsyslogd.

e iniciar/reiniciar o scanlogd:

# /etc/init.d/scanlogd restart
Restarting scanlogd: scanlogd.

Para verificar se ele está rodando:

ps aux |grep scanlogd
scanlogd  8932  0.0  0.0  12512   136 ?        Ss   11:41   0:00 /usr/sbin/scanlogd
root      8942  0.0  0.0   7848   876 pts/0    S+   11:42   0:00 grep scanlogd

Com o comando tailf, acompanhamos em tempo real os logs gerados. Para exemplificar como ficariam os resultados, abri um terminal para observar os logs e em outro usei o nmap direcionado ao ip configurado em minha eth0, ficando dessa forma o resultado:

# tailf /var/log/alert 
Aug  6 11:44:13 debian scanlogd: XXX.XXX.XXX.XXX to YYY.YYY.YYY.YYY ports 80, 443, 1025, 256, 111, 135, 25, ..., ?????uxy, TOS 00 @14:42:20
Aug  6 11:46:35 debian scanlogd: 127.0.0.1 to 127.0.0.1 ports 80, 443, 110, 5900, 3389, 554, 143, 53, ..., f??p?uxy, TOS 00, TTL 64 @14:46:35

Obviamente eu editei o log para a publicação deste artigo para a não exibição dos IP’s públicos envolvidos no teste.

Notem que ele fez sim diferença quando eu utilizei o comando nmap para fazer a varredura no localhost e quando utilizei o ip que está em minha placa de rede, claro que também como alterar o ip apresentado pelo nmap, então obviamente não é 100% confiável, assim como todo sistema de segurança.

Em sistemas RH e Slackware – para não citar todas as outras – obviamente o método de instalação irá ser diferente, talvez tendo que baixar o binário e compilar, mas nada muito difícil. Poderá também haver a necessidade da criação do usuário scanlogd manualmente

Lembrando que como o próprio nome incida, o scanlogd apenas faz o log de tentativas de varredura de portas. Ele não as previne. Você apenas receberá as informações destas tentativas nos logs do sistema.

Obviamente os endereços de origem podem ser alterados por técnicas de spoofing. Não tome nenhuma providência antes de ter em mãos outras evidências. Algumas vezes um mesmo endereço IP pode ser compartilhado entre diversos hosts; este é o caso para ISP’s (Internet Server Providers – Provedores de internet), conexões de IP dinâmicos e redes corporativas que se conectam através de NAT fazendo masquerading.

comments powered by Disqus