Мониторинг трафика на роутере linux для syn-flood

У нас есть сервер Linux (Debian-Lenny) с твердотельным накопителем, без классического жесткого диска. Он используется в качестве маршрутизатора, поэтому трафик только для пересылки.

Мы хотим отслеживать соединения в состоянии найти некоторый синфлуд. NETstat может помочь нам, но у нас много трафика, около 150 Мбит / с, и netstat, который просматривает '/proc/net', блокирует трафик, поэтому мы не можем использовать этот метод. На самом деле мы используем правила iptables с 'hashlimit-*', чтобы убедиться, что: из источника не слишком много соединений в минуту. Но нелегко настроить, потому что "слишком много" для какой-то сети позади нас.

У кого-нибудь есть идеи, что мы можем сделать?

Спасибо за помощь,

2 ответа

С сайта:


iptables -A INPUT -p tcp --syn -m limit --limit 10/s --limit-burst 5 -j ACCEPT
iptables -A INPUT -p tcp --syn -j LOG
iptables -A INPUT -p tcp --syn -j DROP

Ответ PP довольно хороший, но вы можете не захотеть применять правило "DROP" в конце, пока не будете уверены в трафике, который отбрасываете. Следите за правилом LOG и убедитесь, что вы не отбрасываете законный трафик.

Если вы беспокоитесь о потоке синхронизации, вы можете посмотреть, как включить синхронизацию файлов cookie. Файлы cookie Syn устраняют проблему заполнения таблицы соединений полуоткрытыми соединениями. Хорошее описание на http://cr.yp.to/syncookies.html

Другие вопросы по тегам