Страница 1 из 1

dns flood с pipe или другие методы

Добавлено: 2009-09-23 20:25:39
Enakentiy
Всем привет.
Нужна помощь. Есть вопрос, как ограничить количество запросов на dns сервер.
Под линукс делал это с помощью iptables фича "recent" просто ограничивал по количеству пакетов за минуту.
Пробовал статью , но тут возникла проблема как подобрать скорость пакетов и количество пакетов в очереди, для нормального среднестатистического пользователя dns.
Тут насколько я понял принцип pipe: нужно задать скорость передачи пакетов, что ни есть хорошо задержки на преобразования имен, а от суда все вытекающие в смысле ухудшения сервиса. И если они(пакеты) не будут успевать проходить, то станут в очередь и только из-за перенакопления в очереди будут отброшены последниипришедшии.
Может, кто поделится опытом по методам препятствия dns flooda или подсказать с pipe.
Спасибо.

Re: dns flood с pipe или другие методы

Добавлено: 2009-09-24 9:27:49
Гость
Совсем забыл сама статья "сервер имен, FreeBSD и dummynet – так хорошо вместе!" http://www.nestor.minsk.by/sr/2005/05/sr50514.html. Система FreeBSD 7.1, сервер dns- BIND 9.6.1-P1.

Re: dns flood с pipe или другие методы

Добавлено: 2009-09-24 9:33:12
Enakentiy
Гость писал(а):Совсем забыл сама статья "сервер имен, FreeBSD и dummynet – так хорошо вместе!" http://www.nestor.minsk.by/sr/2005/05/sr50514.html. Система FreeBSD 7.1, сервер dns- BIND 9.6.1-P1.
Сори случайно под гостем зашол

Re: dns flood с pipe или другие методы

Добавлено: 2009-09-24 10:06:26
zingel

Код: Выделить всё

ipfw add allow tcp from any to $dns-ip 53 via $interface setup limit src-addr 10

Re: dns flood с pipe или другие методы

Добавлено: 2009-09-24 17:35:16
Enakentiy
Спасибо за ответ но: tcp 53 порт используется для длинных ответов на запросы и передачи зон, а для клиентских завсегдатых запросов используется udp 53. И на сколько я понял setup limit тянет только tcp.

Пробовал такое правило:

Код: Выделить всё

ipfw 331 add allow udp from any to $dns-ip 53  via $interface limit src-addr 10

Без него ни чего не пропускает, а с ним проходит без ограничения.

Re: dns flood с pipe или другие методы

Добавлено: 2009-09-25 8:47:38
Enakentiy
Может у ково, есть какие еще соображения. Возможно, ли вообще в freebsd ограничивать udp?

Re: dns flood с pipe или другие методы

Добавлено: 2009-09-25 10:25:09
Kos
Провел эксперимент. при добавлении правила типа:

Код: Выделить всё

ipfw add 1 allow all from any to me 53 limit src-addr 2
у меня вообще перестал ДНС отдаваться nslookup-у из локалки

если увеличить до 4 то 1 nslookup отрабатывает, а почти одновременно запущенный второй виснет
если увеличить до 10 то отрабатывают оба.

Re: dns flood с pipe или другие методы

Добавлено: 2009-09-25 14:03:53
Enakentiy
Нашел такое: http://forum.nag.ru/forum/index.php?s=9 ... ntry281505

Отсуда выплывает, что limit - выставлять лимит одновременных соединений, а "соединение" не применимо к udp запросам.

Раз другого выхода нет. Думаю копать в сторону утилиты dns_flood и автоматическо-прямой блокировки клиентского порта на свитче.