Em vez de registrar todo o tráfego, sugiro o seguinte: Monitorar o número de pacotes enviados ao seu servidor. Se exceder um certo limite, registre um par de 1000 pacotes e espere por mais tempo.
Esse rastreamento de pacote deve conter muitas informações que podem ser usadas para análise. Além disso, não irá impor demasiada carga adicional ao seu servidor enquanto tudo estiver bem. Você pode usar o seguinte código bash hackeado como ponto de partida (pode ser iniciado em screen
, por exemplo):
interface=eth0
dumpdir=/tmp/
while /bin/true; do
pkt_old='grep $interface: /proc/net/dev | cut -d : -f2 | awk '{ print $2 }''
sleep 1
pkt_new='grep $interface: /proc/net/dev | cut -d : -f2 | awk '{ print $2 }''
pkt=$(( $pkt_new - $pkt_old ))
echo -ne "\r$pkt packets/s3[0K"
if [ $pkt -gt 5000 ]; then
echo -e "\n'date' Under attack, dumping packets."
tcpdump -n -s0 -c 2000 -w $dumpdir/dump.'date +"%Y%m%d-%H%M%S"'.cap
echo "'date' Packets dumped, sleeping now."
sleep 300
fi
done
Sinta-se à vontade para adaptá-lo às suas necessidades.