
meu problema é que recebi um relatório informando que meu IP foi usado em um ataque DOS. O problema é que não sei qual computador está infectado e o ataque não está mais ativo.
Existe uma ferramenta Linux simples para o meu roteador (executando o fedora) que contará a taxa de pacotes por IP local e, se estiver acima da constante selecionada, iniciará meu script de shell?
Observe que também estou interessado em pacotes gerados a partir do host local (apenas no caso de o próprio servidor ter sido hackeado).
Responder1
Então descobri uma solução usando iptables:
# create new chain for every local ip we wanna monitor
iptables -N ip10
# forward traffic from monitored IP to it's chain "ip10"
iptables -A FORWARD -i myLan -s 192.168.2.10 -o myWan -j ip10
# trafic from other IP's we trusted we just accept
iptables -A FORWARD -i myLan -o myWan -j ACCEPT
# here we have even better thing than I asked for
# we can ban the DOS attack before it gets out
# in following line we set maximum 100 packet per second
iptables -A ip10 -m limit --limit 100/s --limit-burst 300 -j ACCEPT
# here we can directly log if above limit is breached
# log will be in /var/log/message and it will contains IP src+dst, src mac and other info
# note limit 3 msg per minute is important to not have too big log file
iptables -A ip10 -m limit --limit 3/m --limit-burst 10 -j LOG --log-prefix 'mylog:' --log-level 4
# finally packets over limit will be discarded
iptables -A ip10 -j DROP
veja também os pacotes enviados e seu tamanho de um IP, então pode ser obtido chamando:
iptables -L ip10 -vxn
você precisaria fazer isso em algum script e recontá-lo em pacotes por segundo, se estiver interessado
Nota para monitorar o próprio servidor, você precisaria fazer uma abordagem semelhante para a cadeia
iptables -A OUTPUT
testado no fedora 18. Tentei atacar meu outro computador e os pacotes foram realmente interrompidos :)
Responder2
Este é um cenário típico paraFluxo de rede. Ele forneceria dados históricos do seu tráfego divididos em endereços, protocolos e portas que você poderia avaliar e observar em gráficos sofisticados.