На главную страницу  
+7 (499) 124-62-26
О компании Продукты Демо-версии Купить Цены Контакты Решения
OpenVPN-ГОСТ
КриптоСервер
КриптоТуннель
Защита RDP
КриптоПакет
"Вьюга"

МагПро DNS. Установка и настройка DNS-сервера bind

Исходный код BIND 9.7.0-P2 доступен по ссылке: ftp://ftp.isc.org/isc/bind9/9.7.0-P2/bind-9.7.0-P2.tar.gz
Патч, обеспечивающий поддержку GOST, можно скачать отсюда: bind97_gost.diff.gz


Установка

Следует устанавливать BIND версии 9.7.0-P2, так как патч разработан и применим именно к ней.

Прежде всего убедитесь, что в Вашей системе установлен и правильно настроен OpenSSL 1.0.0. Для этого следуйте инструкциям на странице:
Установка и настройка OpenSSL 1.0.0

Для сборки BIND Вам понадобится набор модулей perl. В Debian GNU\Linux lenny он доступен в виде пакета perl-modules, который можно установить следующим образом:

$ sudo apt-get install perl-modules

Чтобы установить BIND с поддержкой криптоалгоритмов ГОСТ, следуйте следующим инструкциям (подразумевается что OpenSSL 1.0.0 уже установлен в директорию /usr/local):

$ wget ftp://ftp.isc.org/isc/bind9/9.7.0-P2/bind-9.7.0-P2.tar.gz
$ tar xzf bind-9.7.0-P2.tar.gz
$ cd bind-9.7.0-P2
$ wget http://cryptocom.ru/opensource/bind97_gost.diff.gz
$ gunzip bind97_gost.diff.gz
$ patch -p0 < bind97_gost.diff
$ ./configure --with-openssl=/usr/local --prefix=/usr/local LDFLAGS=-Wl,-rpath,/usr/local/lib
$ make
$ sudo make install

Пожалуйста, имейте в виду, что при установке из исходных кодов не устанавливается init-скрипт. Также не создается новый пользователь, от имени которого предполагается запускать BIND.


Использование в «chroot»

Предполагается, что BIND и OpenSSL 1.0.0 установлены в директорию /usr/local, а в качестве директории для chroot будет использоваться /var/chroot.

В chroot серверу BIND потребуется файл конфигурации OpenSSL и разделяемые библиотеки.
Их следует скопировать в стандартные места внутри chroot:

$ mkdir -p /var/chroot/usr/local/openssl
$ mkdir -p /var/chroot/usr/local/lib/engines
$ mkdir -p /var/chroot/var/log/bind
$ cp /usr/local/openssl/openssl.cnf /var/chroot/usr/local/openssl/
$ cp /usr/local/lib/engines/libgost.so /var/chroot/usr/local/lib/engines/
$ cp -r /usr/local/etc /var/chroot/usr/local/

Возможно, потребуется копирование других файлов, необходимых для работы BIND.


Пример конфигурационного файла DNS-сервера (без функционала резолвера)

Данный пример показывает, как включить DNSSEC и использовать подписанные зоны в файле конфигурации BIND.

Ключевые опции:

dnssec-enable yes;
logging { […] };

options {
        directory       "/usr/local/etc";

                listen-on{
                         127.0.0.1;
                         10.51.24.198;
                        };
allow-query { 10.51.0.0/16; };
allow-transfer { any; };
dnssec-enable yes;
recursion no;
};

acl "trusted-dns"{
                 127.0.0.1;
                 10.51.0.0/16;
};

logging {
        channel dnssec_ch {
                file "/var/log/bind/dnssec.log" versions 3 size 8000k;
                severity debug 3;
                print-time yes;
                print-category yes;
        };
        category dnssec { dnssec_ch; };
        };

zone "example.com" {
type master;
file "/usr/local/etc/example.com";
allow-query { any; };
allow-transfer { any; };
};

key "rndc-key" {
      algorithm hmac-md5;
      secret "qquxnvB2qzY915EkE52vVg==";
};

controls {
      inet 127.0.0.1 port 953
              allow { 127.0.0.1; } keys { "rndc-key"; };
};

Пример конфигурационного файла резолвера на базе BIND

Ключевые опции:

dnssec-enable yes;
dnssec-validation yes;
recursion yes;
trusted-keys { […] };
logging { […] };

trusted-keys {
"com." 257 3 12 "ZottC9UQiYanvu7rC6R/MNhTgZEdMOk7MUXBrIZt/9d+XX/CV315X3sP GWVJ3/i2ynYxnsnTqkKNVYQsqRrvSw==";
};

options {
        directory       "/usr/local/etc";

                listen-on{
                         127.0.0.1;
                         10.51.24.184;
                        };
allow-query { any; };
allow-transfer { any; };
dnssec-enable yes;
dnssec-validation yes;
recursion yes;
};

acl "trusted-dns"{
                 127.0.0.1;
		 10.51.0.0/16;
};

logging {
        channel dnssec_ch {
                file "/var/log/bind/dnssec.log" versions 3 size 8000k;
                severity debug 3;
                print-time yes;
                print-category yes;
        };
	category dnssec { dnssec_ch; };
        };

zone "." {
type hint;
file "/usr/local/etc/root.servers";
};

key "rndc-key" {
      algorithm hmac-md5;
      secret "qquxnvB2qzY915EkE52vVg==";
};

controls {
      inet 127.0.0.1 port 953
              allow { 127.0.0.1; } keys { "rndc-key"; };
};

Активация изменений

После конфигурирования перезапустите BIND, чтобы изменения вступили в силу.

 
Copyright © ООО "Криптоком". 2001-2016. All Rights Reserved.