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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.