Назад | Перейти на главную страницу

контролировать скорость сетевых пакетов на IP

Моя проблема в том, что у меня есть отчет о том, что мой IP-адрес использовался в DOS-атаке. Проблема в том, что я не знаю, какой компьютер заражен, и атака больше не активна.

Есть ли простой инструмент Linux для моего маршрутизатора (работающий под управлением Fedora), который будет подсчитывать частоту пакетов на локальный IP-адрес, и если он превышает мою выбранную константу, он запустит мой сценарий оболочки?

Обратите внимание: меня также интересуют пакеты, генерируемые локальным хостом (на случай, если сам сервер был взломан).

Это типичный сценарий для Поток данных, передающихся по сети. Он предоставит вам исторические данные о вашем трафике с разбивкой по адресам, протоколам и портам, которые вы можете оценить и посмотреть на модных графиках.

Итак, я нашел одно решение, используя 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

также посмотреть отправленные пакеты и их размер с одного IP-адреса, затем можно получить, позвонив:

iptables -L ip10 -vxn

вам нужно будет сделать это в каком-то скрипте и пересчитать его до пакетов в секунду, если интересно

Обратите внимание, что для мониторинга самого сервера вам потребуется сделать аналогичный подход для цепочки

iptables -A OUTPUT

протестирован на Fedora 18. Я попытался атаковать другой свой компьютер, и пакеты действительно были остановлены :)