Olá!
Honeypots são servidores que não possuem serviços “de produção” ativos, mas possuem serviços sem informações importantes ou apenas simulações de serviços (dependendo do nível de interatividade do honeypot). Por quê ter um servidor assim? Bom, um potencial atacante pode “perder tempo” no honeypot, tentando invadí-lo. Enquanto isso, o honeypot pode gerar um alerta para a equipe de segurança da rede para que esta bloqueie o atacante antes que ele perceba a armadilha e passe para um servidor “de verdade”. O honeypot também pode capturar as ações do atacante, assim podemos ver o que ele queria fazer, e como estava fazendo.
Neste post, veremos um passo-a-passo para instalar um honeypot de baixa interatividade com a ferramenta honeyd.
Primeiro, instalamos um linux Ubuntu Server 10.04 i386. O computador não precisa ser muito potente, o que eu utilizei tinha só 512MB de memória, por exemplo. Durante a instalação, eu configurei as partições assim:
- Partição “/boot”: com 100MB de espaço e sistema de arquivos “ext4”;
- Partição de “swap”: com 1GB de espaço e sistema de arquivos “Linux swap”;
- Partição “/”: com o restante do espaço do HD virtual e sistema de arquivos “ext4”.
Instalei o Ubuntu com todas as opções padrão. As únicas alterações foram:
- Instalei o servidor OpenSSH, para facilitar o gerenciamento do servidor, posteriormente;
- Desativei as atualizações automáticas (eu prefiro fazê-las quando quiser :P).
Depois, instalei alguns pacotes necessários:
# sudo su
# apt-get update
# apt-get install gcc
# apt-get install g++
# apt-get install libpcap-dev
# apt-get install libreadline-dev
# apt-get install libzip-dev
Você vai precisar baixar as bibliotecas libdnet e libevent. Abaixo, como as instalei:
- libdnet versão 1.11
# tar -zxvf libdnet-1.11.tar.gz
# cd libdnet-1.11
# ./configure –prefix=/opt/libdnet
# make
# make install
- libevent versão 1.4.14b-stable
Mesma coisa que a libdnet, só alterando o nome dos caminhos e pastas para o respectivo “libevent”, claro ;).
Feito isto, passamos para a instalação do honeyd versão 1.5c:
# tar -zxvf honeyd-1.5c.tar.gz
# cd honeyd-1.5c
# ./configure –prefix=/opt/honeyd –with-libevent=/opt/libevent –with-libdnet=/opt/libdnet
# make
# make install
Também instalei uma ferramenta auxiliar, que precisaremos, o arpd versão 0.2:
# tar -zxvf arpd-0.2.tar.gz
# cd arpd
Apliquei algumas correções necessárias (clique aqui para vê-las).
# ./configure –prefix=/opt/arpd –with-libevent=/opt/libevent –with-libdnet=/opt/libdnet
# make
# make install
# cd /lib
# ln -sf /opt/libevent/lib/libevent-1.4.so.2
Estes dois últimos passos foram necessários porque senão o arpd não funcionava…
Pronto! Tudo instalado!
Agora, criei arquivos de inicialização do honeyd e do arpd:
- /etc/init.d/honeyd
#! /bin/sh
### BEGIN INIT INFO
# Provides: honeyd
# Required-Start: $networking $arpd
# Required-Stop: $networking $arpd
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: honeyd
### END INIT INFO
CONFIG=/opt/honeyd/share/honeyd/honeyd.conf
LOG=/var/log/honeyd/honeyd.log
#Defina abaixo qual sera o IP do honeypot!
ENDERECO=192.168.1.251
case “$1” in
start)
/opt/honeyd/bin/honeyd -l $LOG -i eth0 -f $CONFIG $ENDERECO
;;
stop)
killall honeyd
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo “Usage: /etc/init.d/honeyd {start|stop|restart}”
exit 1
esac
exit 0
- /etc/init.d/arpd
#! /bin/sh
### BEGIN INIT INFO
# Provides: arpd
# Required-Start: $networking
# Required-Stop: $networking
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: arpd
### END INIT INFO
#Defina abaixo qual sera o IP do honeypot!
ENDERECO=192.168.1.251
case “$1” in
start)
/opt/arpd/sbin/arpd -i eth0 $ENDERECO >> /dev/null 2>&1
;;
stop)
killall arpd
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo “Usage: /etc/init.d/arpd {start|stop|restart}”
exit 1
esac
exit 0
Adicionei estes arquivos à inicialização automática do Ubuntu. Assim, se eu precisasse reiniciar o honeypot, o honeyd e o arpd seriam iniciados junto com o Ubuntu:
# update-rc.d honeyd defaults
# update-rc.d arpd defaults
E antes de iniciar manualmente os dois serviços, ainda precisei criar o arquivo de configuração do honeyd:
- /opt/honeyd/share/honeyd/honeyd.conf (exemplo bem simples, não vai ter simulação de serviços, apenas contabilizará as tentativas de acesso)
create template
set template personality “Linux kernel 2.4.18 – 2.4.20 (X86)”
set template uptime 1728650
set template maxfds 35
bind 192.168.1.251 template
Lembre-se de alterar o IP que o honeypot utilizará na última linha!
Agora sim! Tudo pronto! É só iniciar o arpd e o honeyd:
/etc/init.d/arpd start
/etc/init.d/honeyd start
Até o próximo post! 😉
#tar -zxvf arpd-0.2.tar.gz
#cd arpd
#./configure –prefix=/opt/arpd –with-libevent=/opt/libevent –with-libdnet=/opt/libdnet
#make
#make install