Dns flood клиентов на сервере dns, как кто бороться? (проблема dns flood)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

tutitu
Сообщения: 3

Dns flood клиентов на сервере dns, как кто бороться?

Сообщение tutitu »

Интересуют советы по вопросу: как бороться с dns floodom?
Сеть клиентов - 10.0.0.0/8,
named.conf

options {
directory "/var/named";
listen-on {x.x.x.x; x.x.x.x; localhost;};
query-source port 53;
recursive-clients 4000;
allow-transfer { none; };
forward {ip address dns provaidera};
forward only;
};

zone "localhost" in {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
allow-update { none; };
};
zone "lin.com" in {
type master;
file "lin.com";
allow-update { none; };
};
zone "10.in-addr.arpa" in {
type master;
file "10.zone";
};

Вот нашел с помощью iptables:

iptables -A INPUT -s 10.0.0.0/8 -p udp --dport 53 -m limit --limit 3/s -j ACCEPT
iptables -A INPUT -s 10.0.0.0/8 -p udp --dport 53 -j DROP

Но ето не подходит, так как соурс задается для подсети, то есть limit 3 пакета в секунду воспринимается для общего количества пиров входящих в заданную подсеть, а не для отдельного клиента. Может, кто знает, как задать лимит для одного пира, который входит подсеть 10.0.0.0/8? Может, есть, какие другие методы или инструменты для борьбы?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Dns flood клиентов на сервере dns, как кто бороться?

Сообщение sash-kan »

tutitu писал(а): ↑
16.12.2008 14:27
как бороться с dns floodom?
это действительно серьёзная для вас проблема?

если рассматривать netfilter, то есть ещё connlimit и hashlimit (man iptables).
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
INF[SZ]
Сообщения: 395
ОС: Centos

Re: Dns flood клиентов на сервере dns, как кто бороться?

Сообщение INF[SZ] »

sash-kan писал(а): ↑
16.12.2008 22:16
tutitu писал(а): ↑
16.12.2008 14:27
как бороться с dns floodom?
это действительно серьёзная для вас проблема?

если рассматривать netfilter, то есть ещё connlimit и hashlimit (man iptables).


Это действительно серьезная проблема на широких каналах до DNS сервера. Завалить Bind большим количеством рекурсивных DNS запросов дело 10 минут. К огромному сожалению Bind не обладает ограничениями на количество одновременных рекурсивных запросов от одного клиента, так что Вам прийдется выкручиваться с помошью других средств.

connlimit - только для TCP, нам же нужен UDP.

Соорудите что-нибудь типа такого:

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

-A INPUT -p udp -m udp --dport 53 -m state --state NEW -m recent --set --name DNS --rsource
-A INPUT -p udp -m udp --dport 53 -m state --state NEW -m recent --update --seconds 60 --hitcount 100 --rttl --name DNS --rsource -j LOG --log-prefix "DNS_FLOODER"
-A INPUT -p udp -m udp --dport 53 -m state --state NEW -m recent --update --seconds 60 --hitcount 100 --rttl --name DNS --rsource -j DROP


Либо ставить dns_flood_detector автоматически парсить его лог и дропать пакеты от "хулиганов". Вариантов как всегда масса.
Я не понял Вашего вопроса, но я Вам на него отвечу.
Спасибо сказали: