Jump to content
Калькуляторы

Закрыть DNS Amplification

Начал разбираться в причинах ДДоСа и нашел такой ресурс radar.qrator.net.

 

Нашел у себя ДНС сервера, которые, хоть и с лимитированными recursion allow-recursion { localhost; 127.0.0.1; .....0/24; };

но пропускают запросы вида.

 

# dig @XX.XX.XX.2 +edns=0 +ignore +noadflag com ANY ya.ru

; <<>> DiG 9.10.2 <<>> @XX.XX.XX.2 +edns=0 +ignore +noadflag com ANY ya.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30263
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;com.                           IN      ANY

;; AUTHORITY SECTION:
.                       518400  IN      NS      C.ROOT-SERVERS.NET.
.                       518400  IN      NS      D.ROOT-SERVERS.NET.
.                       518400  IN      NS      E.ROOT-SERVERS.NET.
.                       518400  IN      NS      F.ROOT-SERVERS.NET.
.                       518400  IN      NS      G.ROOT-SERVERS.NET.
.                       518400  IN      NS      H.ROOT-SERVERS.NET.
.                       518400  IN      NS      I.ROOT-SERVERS.NET.
.                       518400  IN      NS      J.ROOT-SERVERS.NET.
.                       518400  IN      NS      K.ROOT-SERVERS.NET.
.                       518400  IN      NS      L.ROOT-SERVERS.NET.
.                       518400  IN      NS      M.ROOT-SERVERS.NET.
.                       518400  IN      NS      A.ROOT-SERVERS.NET.
.                       518400  IN      NS      B.ROOT-SERVERS.NET.

;; Query time: 119 msec
;; SERVER: XX.XX.XX.2#53(XX.XX.XX.2)
;; WHEN: сб июл 11 09:06:54 EEST 2015
;; MSG SIZE  rcvd: 243

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 302
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ya.ru.                         IN      A

;; AUTHORITY SECTION:
.                       518400  IN      NS      B.ROOT-SERVERS.NET.
.                       518400  IN      NS      C.ROOT-SERVERS.NET.
.                       518400  IN      NS      D.ROOT-SERVERS.NET.
.                       518400  IN      NS      E.ROOT-SERVERS.NET.
.                       518400  IN      NS      F.ROOT-SERVERS.NET.
.                       518400  IN      NS      G.ROOT-SERVERS.NET.
.                       518400  IN      NS      H.ROOT-SERVERS.NET.
.                       518400  IN      NS      I.ROOT-SERVERS.NET.
.                       518400  IN      NS      J.ROOT-SERVERS.NET.
.                       518400  IN      NS      K.ROOT-SERVERS.NET.
.                       518400  IN      NS      L.ROOT-SERVERS.NET.
.                       518400  IN      NS      M.ROOT-SERVERS.NET.
.                       518400  IN      NS      A.ROOT-SERVERS.NET.

;; Query time: 119 msec
;; SERVER: XX.XX.XX.2#53(XX.XX.XX.2)
;; WHEN: сб июл 11 09:06:54 EEST 2015
;; MSG SIZE  rcvd: 245

 

Как бы закрыть подобные ответы? bind 9.10.2

Share this post


Link to post
Share on other sites

А что вы хотите, чтобы он Query refused отдавал? Вы сами то с какой сети идёте когда dig запрашиваете?

Share this post


Link to post
Share on other sites

А что вы хотите, чтобы он Query refused отдавал?

Да. В крайнем случае, другой ответ, чтоб был меньше коэффициент.

 

 

Вы сами то с какой сети идёте когда dig запрашиваете?

 

С внешки, с неразрешенных ip (not { localhost; 127.0.0.1; .....0/24; };)

Share this post


Link to post
Share on other sites

Я конечно не знаток bindа, но у себя сделал так для внешки в view.

 

view "external" in {
       match-clients         { any; };
       allow-query           { any; };
       allow-query-cache      { trust; };
       allow-recursion        { trust; };
       additional-from-auth       yes;
       additional-from-cache      yes;

include "/etc/namedb/banned.conf";

 

А в общем options идёт так (view вроде бы всё равно приоритетней становится)

  allow-query       { trust; };

  allow-query-cache { trust; };

  allow-recursion   { trust; };

 

Может чем то поможет, но попозже протестирую у себя вашим запросом из внешки.

Edited by hsvt

Share this post


Link to post
Share on other sites

От view я отказался, там проблемы с отображение secondary DNS

 

У меня вот два secondary DNS. Обслуживают около тысячи доменов-зон.

allow-query разрешено только внутренним сетям.

allow-query { any; } для всех поддерживаемых доменов

 

Пока временно поставил костыль.

 

rate-limit {
       responses-per-second 3;
       window 3;
};

 

И в логах куча интересных блокировок :)

Share this post


Link to post
Share on other sites

Как бы закрыть подобные ответы? bind 9.10.2

 

У меня такой ответ был спецом настроен в общей вьюхе через allow-query-cache. Есть смысл проверить его наличие.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now