Arpwatch é uma ferramenta que monitora a atividade em uma rede ethernet, mantendo atualizada uma tabela com endereços ethernet(MAC) e seus respectivos endereços IP. Essa ferramenta tem a capacidade de reportar via email certas mudanças.
O Arpwatch é uma ferramenta importante na monitoração da rede contra ataques de Arp Poisoning ou Arp Spoofing usados para realizar ataques mais sofisticados como Man-in-the-Middle(MITM).
Instalação
Tomando-se como base a distribuição Fedora, para a instalação do arpwatch basta executar o comando abaixo:
# yum install arpwatch
OBS: Será necessário a instalação da libpcap.
Configuração
O arquivo de configuração está localizado em
/etc/sysconfig/arpwatch. Sua base de dados é armazenada em /var/arpwatch. Neste diretório estão os arquivos
arp.dat, que é a base de dados propriamente dita e o
ethercodes.dat, que possui o bloco de endereços MAC atribuídos aos fabricantes.
Abaixo vemos a configuração padrão do arpwatch:
# -u : defines with what user id arpwatch should run
# 1. -e : the where to send the reports
# 2. -s : the -address
OPTIONS="-u pcap -e root -s 'root (Arpwatch)'"
Vamos configurá-lo para que envie as mensagens para o nosso e-mail, altere a linha de forma que se pareça coma linha abaixo:
OPTIONS="-u pcap -e usuario@dominio.com.br -s 'root (Arpwatch Servidor XXX Rede 192.168.0.0/24)'"
Algumas opções possíveis são:
- -d: Utilizada para debugging. Essa opção inibe o envio de relatórios via email. Eles são enviados para a saída de erro padrão (stderr);
- -f: Informa qual o arquivo da base de dados deve ser usado. O valor padrão é arp.dat;
- -i: Usada para sobrescrever a interface padrão;
- -n: Especifica redes locais adicionais. É útil se na mesma rede física, estiver rodando mais de um endereçamento de rede;
- -u: define qual usuário executará o arpwatch. Rodá-lo com um usuário diferente de root é extremamente recomendado para melhorar a segurança;
- -e: Envia mensagens de e-mail para o endereço especificado. O padrão é para o usuário root. Se apenas o caractere '-' for definido, o envio de alertas via e-mail será suspenso, no entanto, o logging via syslog continuará ativo (Útil quando for executado pela primeira vez na rede, evita o recebimento de muitas mensagens);
- -s: Envia mensagens de email com endereço de retorno, ao contrário do valor padrão do root.
OBS: Antes de ser rodado pela primeira vez é necessário que o arquivo da base de dados exista (em branco) e que o usuário especificado em -u seja o dono do diretório /var/arpwatch.
Vamos colocá-lo para iniciar no boot:
# /sbin/chkconfig --level 2345 arpwatch on
Iniciando o arpwatch:
# /etc/init.d/arpwatch start
Através do comandos abaixo, confirma-se que o arpwatch já está sendo executado:
# tail -f messages
Jan 4 10:41:04 vpn01 arpwatch: new station 192.168.0.222 0:10:c6:b9:69:2b
Jan 4 10:41:14 vpn01 arpwatch: new station 192.168.0.176 0:d:f4:3:2:d8
Jan 4 10:41:20 vpn01 arpwatch: new station 192.168.0.224 0:11:25:8a:87:9b