Реферат: Защита сервера DNS - Настройка безопасности
service
named stop
Сгенерируем общие ключи для каждой пары узлов. Общие ключи используются при "общении" первичного и вторичного серверов DNS.
[root@dns]# dnssec-keygen -a hmac-md5 -b 128 -n HOST ns1-ns2 Kns1-ns2.+157+49406
Мы используем алгоритм HMAC-MD5, 128-битное шифрование, ns1-ns2 - это имя ключа. После выполнения этой команды будет создан файл Kns1-ns2.+176+40946.private. Откройте его в любом текстовом редакторе. Вы увидите примерно следующее:
Private-key-format:
v1.2 Algorithm: 157 (HMAC_MD5) Key: ms7dfts87Cjhj7FD9lk7a3==
Ключ "ms7dfts87Cjhj7FD9lk7a3==" и будет тем секретом, который будет передаваться между серверами. Запишите данный ключ на бумаге (которую потом нужно будет уничтожить) и удалите файлы:
rm -f Kns1-ns2.+157+49406.key rm -f Kns1-ns2.+157+49406.private
Добавим в файл /etc/named.conf (или /root-dns/etc/named.conf) первичного и вторичного серверов DNS следующие строки:
key ns1-ns2 { algorithm hmac-md5;
secret "ms7dfts87Cjhj7FD9lk7a3=="; };
Укажем серверу BIND использовать ключ ns1-ns2. Для этого в файле named.conf первичного сервера DNS добавим опцию server:
Листинг 1. Фрагмент файла named.conf первичного сервера DNS
key ns1-ns2 { algorithm hmac-md5; secret "ms7dfts87Cjhj7FD9lk7a3=="; }; # прописываем
вторичный сервер DNS - 192.168.1.2: server 192.168.1.2 { keys { ns1-ns2; }; };
options { # разрешаем передачу зоны вторичному серверу DNS allow-transfer { 192.168.1.2;
}; ? }; ?. Листинг 2. Фрагмент файла named.conf ВТОРИЧНОГО сервера DNS key ns1-ns2
{ algorithm hmac-md5; secret "ms7dfts87Cjhj7FD9lk7a3=="; }; # прописываем первичный
сервер DNS - 192.168.1.1: server 192.168.1.1 { keys { ns1-ns2; }; }; options {
# никому не передаем зону allow-transfer { none }; ? }; ?.
Можно также настроить передачу зоны "по ключу". Для этого в файле конфигурации первичного сервера DNS замените строку
allow-transfer { 192.168.1.2; };
строкой
allow-transfer { key ns1-ns2; };
Нам осталось только "спрятать" файлы конфигурации обоих серверов DNS от посторонних глаз - ведь они содержат ключи в открытом виде.
chmod 600 named.conf
Запускаем сервис named:
service named start