вторник, 22 октября 2013 г.

Защита от DNS Amplification attack (BIND)

Добрый день!

Существует такой вид DDOS, как DNS Amplification attack. В этой заметке я опишу, как защититься от него на примере BIND. Данная заметка актуальна для Debian 5/6/7, Ubuntu 10.04/12.04 и CentOS 5.4-6.4 - на этих системах я тестировал лично.



1. Отключить рекурсивные запросы

Debian/Ubuntu:
# vim /etc/bind/named.conf.options

CentOS:
# vim /etc/named.conf

И добавляем в секцию Options { ... } или если ее нет, добавляем и саму секцию, запись:
recursion no;

После чего перезапускаем BIND:
Debian/Ubuntu:
# sudo /etc/init.d/bind restart

CentOS:
# service named restart

2. Разрешаем рекурсивные запросы, только для локалхосте:

Debian/Ubuntu:
# vim /etc/bind/named.conf.options

CentOS:
# vim /etc/named.conf

И добавляем в секцию Options { ... } или если ее нет, добавляем и саму секцию, записи:
recursion yes;
allow-recursion {localhost; }
Или же можно записать:
allow-recursion { "none"; }
Но данная запись мне кажется излишней, так как она эквивалентна записи в первом примере.

И перезапускаем BIND:
Debian/Ubuntu:
# sudo /etc/init.d/bind restart

CentOS:
# service named restart


3. Защита от AXRF-возвращения

Так же, что бы случайно не отдать все свои зоны злоумышленнику AXFR-возвращение:
Debian/Ubuntu:
# vim /etc/bind/named.conf.options

CentOS:
# vim /etc/named.conf

И добавляем в секцию Options { ... } или если ее нет, добавляем и саму секцию, запись:
allow-transfer { none; } - Если у нас нет вторичных серверов DNS.
Или
allow-transfer { 192.168.1.100; } - Указав IP-адрес вторичного сервера.

И перезапустим BIND:
Debian/Ubuntu:
# sudo /etc/init.d/bind restart

CentOS:
# service named restart

Теперь получить ваши зоны сможет либо никто (none) либо определенный DNS-сервер (192.168.1.100).

Удачи в работе с DNS!

Комментариев нет:

Отправить комментарий