Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В

..pdf
Скачиваний:
123
Добавлен:
24.05.2014
Размер:
3.66 Mб
Скачать

Глава 23. ISC BIND – программное обеспечение для организации службы DSN

301

Установите права доступа к файлу и назначьте владельцем файла пользователя named из группы named:

[root@drwalbr /]# chmod 644 /var/named/76.24.213.in-addr.arpa [root@drwalbr /]# chown named.named /var/named/76.24.213.in-addr.arpa

Конфигурирование ISC BIND в режиме вторичного DNS-сервера

Вторичный DNS-сервер используется для повышения надежности службы DNS и снижения загрузки первичного DNS-сервера. Вторичный DNS-сервер периодически загружает файлы зон и обратных зон с первичного или других вторичных DNS-серверов. Этот процесс называют переносом. Настройку вторичного DNS-сервера рассмотрим на примере вторичного DNS сервера отвечающего за зону contora.ru.

Шаг 1

Создайте файл /etc/named.conf, руководствуясь своими потребностями и ниже приведенными рекомендациями:

//Authorized source addresses. acl "trusted" {

localhost;

192.168.1.0/24; 213.24.76.0/24;

//Known fake source addresses shouldn't be replied to. acl "bogon" {

0.0.0.0/8;

1.0.0.0/8;

2.0.0.0/8;

192.0.2.0/24;

224.0.0.0/3;

169.254.0.0/16;

//Enterprise networks may or may not be bogus. 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16;

};

options {

directory "/var/named"; allow-transfer { none; }; allow-query { trusted; }; allow-recursion { trusted; }; blackhole { bogon; }; tcp-clients 1024;

forwarders { none; };

version "Hangry Bambr DNS v. 0.01";

};

logging {

category lame-servers { null; };

};

// Root server hints

zone "." { type hint; file "db.cache"; };

// Provide a reverse mapping for the loopback address 127.0.0.1/24 zone "localhost" {

type master;

file "db.localhost"; notify no;

};

zone "0.0.127.in-addr.arpa" { type master;

file "0.0.127.in-addr.arpa";

302

Часть 5. Служба DSN

notify no;

};

//We are the slave server for contora.ru zone "contora.ru" {

type slave;

file "db.contora"; masters { 213.24.76.2; }; allow-query { any; };

};

//Provide a reverse mapping for domains network 213.24.76.0/24 zone "76.24.213.in-addr.arpa" {

type slave;

file "76.24.213.in-addr.arpa"; masters { 213.24.76.2; }; allow-query { any; };

};

Предлагаемый пример конфигурационного файла аналогичен файлу, используемому при конфигурировании первичного DNS-сервера. Отличием является определение в строках:

type slave;

конфигурируемого сервера в качестве вторичного для зоны и обратной зоны; и в строках:

masters { 213.24.76.2; };

указывающих на IP-адрес первичного DNS-сервера.

Шаг 2

Установите права доступа к файлу и назначьте владельцем файла пользователя named из группы named:

[root@drwalbr /]# chmod 600 /etc/named.conf [root@drwalbr /]# chown named.named /etc/named.conf

Конфигурационные файлы /var/named/db.cache, /var/named/db.localhost, /var/named/0.0.127.in-addr.arpa, /etc/sysconfig/named и /etc/init.d/named

Конфигурация файлов /var/named/db.cache, /var/named/db.localhost,

/var/named/0.0.127.in-addr.arpa, /etc/sysconfig/named и /etc/init.d/named идентич-

на описанной выше конфигурации файлов для кэширующего и первичного DNS-серверов.

Обеспечение безопасности транзакций для ISC BIND с использованием TSIG

Механизм подписи транзакций (Transaction Signature, TSIG), используемый в ISC BIND версии 9, позволяет проверять подлинность транзакций. Например, установить, что запрос на перенос зоны поступает действительно от вторичного сервера, а не злоумышленника, пытающегося путем переноса файла зоны DNS-сервера получить информацию, необходимую для подготовки атаки на вашу сеть. Если вы хотите повысить безопасность службы DNS с использованием механизма TSIG, установите на первичном и вторичном DNS-серверах поддержку механизма подписи транзакций.

Для включения поддержки TSIG необходимо выполнить следующие операции.

Шаг 1

На одном из серверов сгенерируйте ключ для первичного и вторичного DNS-серверов:

[root@drwalbr /]# dnssec-keygen -a hmac-md5 -b 128 -n HOST ns1-ns2

Kns1-ns2.+157+40221

В результате выполнения следующей команды будет сгенерирован и сохранен в файле Kns1ns2.+157+40221.private 128-битный HMAC-MD5 ключ:

[root@drwalbr /]# cat Kns1-ns2.+157+40221.private

Private-key-format: v1.2

Algorithm: 157 (HMAC_MD5) Key: 2rhwwM2En/n5KScRtssAbA==

Глава 23. ISC BIND – программное обеспечение для организации службы DSN

303

Ключ, в рассматриваемом примере выделенный жирным шрифтом, впоследствии используется в конфигурационных файлах /etc/named.conf на первичном и вторичном DNS-серверах. На паре взаимодействующих серверов используется один и тот же ключ.

Шаг 2

Внесите изменения в файл /etc/named.conf в соответствии с вашими потребностями и приводимыми ниже рекомендациями.

Для первичного DNS-сервера:

//Authorized source addresses. acl "trusted" {

localhost;

192.168.1.0/24;

213.24.76.0/24;

};

//Known fake source addresses shouldn't be replied to. acl "bogon" {

0.0.0.0/8;

1.0.0.0/8;

2.0.0.0/8;

192.0.2.0/24;

224.0.0.0/3;

169.254.0.0/16;

//Enterprise networks may or may not be bogus. 10.0.0.0/8; 172.16.0.0/12;

192.168.0.0/16;

};

key "ns1-ns2" {

algorithm hmac-md5;

secret "2rhwwM2En/n5KScRtssAbA==";

};

server 194.226.76.0 { keys {"ns1-ns2";}

};

options {

directory "/var/named"; allow-transfer { key ns1-ns2; }; allow-query { trusted; }; allow-recursion { trusted; }; blackhole { bogon; }; tcp-clients 1024;

forwarders { none; };

version "Hangry Bambr DNS v. 0.01";

};

logging {

category lame-servers { null; };

};

// Root server hints

zone "." { type hint; file "db.cache"; };

// Provide a reverse mapping for the loopback address 127.0.0.1/24 zone "localhost" {

type master;

file "db.localhost"; notify no;

};

zone "0.0.127.in-addr.arpa" {

304

Часть 5. Служба DSN

type master;

file "0.0.127.in-addr.arpa"; notify no;

};

//We are the master server for contora.ru zone "contora.ru" {

type master;

file "db.contora"; allow-query { any; };

};

//Provide a reverse mapping for domains network 213.24.76.0/24 zone "76.24.213.in-addr.arpa" {

type master;

file "76.24.213.in-addr.arpa"; allow-query { any; };

};

Для вторичного DNS-сервера:

// Authorized source addresses. acl "trusted" {

localhost;

192.168.1.0/24;

213.24.76.0/24;

// Known fake source addresses shouldn't be replied to. acl "bogon" {

0.0.0.0/8;

1.0.0.0/8;

2.0.0.0/8;

192.0.2.0/24;

224.0.0.0/3;

169.254.0.0/16;

// Enterprise networks may or may not be bogus. 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16;

};

key "ns1-ns2" {

algorithm hmac-md5;

secret "2rhwwM2En/n5KScRtssAbA==";

};

server 213.24.76.2 {

keys {"ns1-ns2";}

};

options {

directory "/var/named"; allow-transfer { none; }; allow-query { trusted; }; allow-recursion { trusted; }; blackhole { bogon; }; tcp-clients 1024;

forwarders { none; };

version "Hangry Bambr DNS v. 0.01";

};

logging {

category lame-servers { null; };

};

Глава 23. ISC BIND – программное обеспечение для организации службы DSN

305

// Root server hints

 

zone "." { type hint; file "db.cache"; };

 

// Provide a

reverse mapping for the loopback address 127.0.0.1/24

 

zone "localhost" {

 

type

master;

 

file

"db.localhost";

 

notify no;

 

};

 

 

zone "0.0.127.in-addr.arpa" {

 

type

master;

 

file

"0.0.127.in-addr.arpa";

 

notify no;

};

//We are the slave server for contora.ru zone "contora.ru" {

type slave;

file "db.contora"; masters { 213.24.76.2; }; allow-query { any; };

};

//Provide a reverse mapping for domains network 213.24.76.0/24 zone "76.24.213.in-addr.arpa" {

type slave;

file "76.24.213.in-addr.arpa"; masters { 213.24.76.2; }; allow-query { any; };

};

Шаг 3

Удалите файлы Kns1-ns2.+157+40221.key и Kns1-ns2.+157+40221.private, созданные при генерации ключа:

[root@drwalbr /]# rm -f Kns1-ns2.+157+40221.key [root@drwalbr /]# rm -f Kns1-ns2.+157+40221.private.private

Использование TSIG для безопасного администрирования ISC BIND с использованием утилиты rndc

Утилита rndc предназначена для управления сервером ISC BIND. Если вы хотите использовать эту утилиту для администрирования DNS-сервера с поддержкой TSIG, вам необходимо внести соответствующие изменения в конфигурационный файл утилиты rndc /etc/rndc.conf и главный конфигурационный файл DNS-сервера – /etc/named.conf. Для этого необходимо выполнить следующие операции.

Шаг 1 Сгенерируйте ключ:

[root@drwalbr /]# dnssec-keygen -a hmac-md5 -b 128 -n user rndc

Krndc.+157+45611

В результате выполнения следующей команды будет сгенерирован и сохранен в файле

Krndc.+157+45611.private 128-битный HMAC-MD5 ключ: [root@drwalbr /]# cat Krndc.+157+45611.private Private-key-format: v1.2

Algorithm: 157 (HMAC_MD5) Key: erNkIU6wLgAfd7XZdfKiO==

Ключ, в рассматриваемом примере выделенный жирным шрифтом, используется утилитой rndc и должен быть добавлен в конфигурационные файлы /etc/rndc.conf и /etc/named.conf.

Шаг 2

306

Часть 5. Служба DSN

Вставьте в файл /etc/rndc.conf ключ, сгенерированный на предыдущем шаге:

options {

 

 

default-server

localhost;

default-key

"key";

};

 

 

server localhost {

 

key

"key";

 

};

 

 

key "key" {

 

 

algorithm

hmac-md5;

secret "erNkIU6wLgAfd7XZdfKiO==";

};

Шаг 3

Отредактируйте файл /etc/named.conf в соответствии с вашими требованиями и ниже приведенными рекомендациями (в рассматриваемом примере в качестве исходного используется файл для первичного DNS-сервера):

//Authorized source addresses. acl "trusted" {

localhost;

192.168.1.0/24;

213.24.76.0/24;

};

//Known fake source addresses shouldn't be replied to. acl "bogon" {

0.0.0.0/8;

1.0.0.0/8;

2.0.0.0/8;

192.0.2.0/24;

224.0.0.0/3;

169.254.0.0/16;

//Enterprise networks may or may not be bogus. 10.0.0.0/8;

172.16.0.0/12;

192.168.0.0/16;

};

key "key" { algorithm hmac-md5;

secret "erNkIU6wLgAfd7XZdfKiO=="; };

controls {

inet 127.0.0.1 allow { localhost; } keys { "key"; }; };

key "ns1-ns2" {

algorithm hmac-md5;

secret "2rhwwM2En/n5KScRtssAbA==";

};

server 194.226.76.0 { keys {"ns1-ns2";}

};

options {

directory "/var/named"; allow-transfer { key ns1-ns2; }; allow-query { trusted; }; allow-recursion { trusted; }; blackhole { bogon; }; tcp-clients 1024;

forwarders { none; };

Глава 23. ISC BIND – программное обеспечение для организации службы DSN

307

 

version "Hangry Bambr DNS v. 0.01";

 

};

 

 

logging

{

 

 

category lame-servers { null; };

 

};

 

 

// Root

server hints

 

zone "." { type hint; file "db.cache"; };

// Provide a reverse mapping for the loopback address 127.0.0.1/24 zone "localhost" {

type master;

file "db.localhost"; notify no;

};

zone "0.0.127.in-addr.arpa" { type master;

file "0.0.127.in-addr.arpa"; notify no;

};

//We are the master server for contora.ru zone "contora.ru" {

type master;

file "db.contora"; allow-query { any; };

};

//Provide a reverse mapping for domains network 213.24.76.0/24 zone "76.24.213.in-addr.arpa" {

type master;

file "76.24.213.in-addr.arpa"; allow-query { any; };

};

Шаг 4

Удалите файлы Krndc.+157+45611.key и Krndc.+157+45611.private, созданные при ге-

нерации ключа:

[root@drwalbr /]# rm -f Krndc.+157+45611.key [root@drwalbr /]# rm -f Krndc.+157+45611.private

Тестирование и администрирование ISC BIND

Шаг 1

Запустите ISC BIND:

[root@drwalbr /]# /etc/init.d/named start

Запускается Named: [ОК]

Шаг 2

Проверьте работоспособность вашего DNS-сервера с использованием утилиты dig:

[root@drwalbr /]# dig @nsl.contora.ru

; <<>> DiG 9.2.2 <<>> @ns1.contora.ru

;;global options: printcmd

;;Got answer:

;;->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19554

;;flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13

;;QUESTION SECTION:

;.

IN

NS

;; ANSWER SECTION:

308

 

 

 

Часть 5. Служба DSN

.

341774

IN

NS

G.ROOT-SERVERS.NET.

.

341774

IN

NS

H.ROOT-SERVERS.NET.

.

341774

IN

NS

I.ROOT-SERVERS.NET.

.

341774

IN

NS

J.ROOT-SERVERS.NET.

.

341774

IN

NS

K.ROOT-SERVERS.NET.

.

341774

IN

NS

L.ROOT-SERVERS.NET.

.

341774

IN

NS

M.ROOT-SERVERS.NET.

.

341774

IN

NS

A.ROOT-SERVERS.NET.

.

341774

IN

NS

B.ROOT-SERVERS.NET.

.

341774

IN

NS

C.ROOT-SERVERS.NET.

.

341774

IN

NS

D.ROOT-SERVERS.NET.

.

341774

IN

NS

E.ROOT-SERVERS.NET.

.

341774

IN

NS

F.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:

 

 

 

 

G.ROOT-SERVERS.NET.

428174

IN

A

192.112.36.4

H.ROOT-SERVERS.NET.

428174

IN

A

128.63.2.53

I.ROOT-SERVERS.NET.

428174

IN

A

192.36.148.17

J.ROOT-SERVERS.NET.

428174

IN

A

192.58.128.30

K.ROOT-SERVERS.NET.

428174

IN

A

193.0.14.129

L.ROOT-SERVERS.NET.

428174

IN

A

198.32.64.12

M.ROOT-SERVERS.NET.

428174

IN

A

202.12.27.33

A.ROOT-SERVERS.NET.

428174

IN

A

198.41.0.4

B.ROOT-SERVERS.NET.

428174

IN

A

128.9.0.107

C.ROOT-SERVERS.NET.

428174

IN

A

192.33.4.12

D.ROOT-SERVERS.NET.

428174

IN

A

128.8.10.90

E.ROOT-SERVERS.NET.

428174

IN

A

192.203.230.10

F.ROOT-SERVERS.NET.

428174

IN

A

192.5.5.241

;;Query time: 15 msec

;;SERVER: 213.24.76.2#53(ns1.contora.ru)

;;WHEN: Thu May 22 15:04:36 2003

;;MSG SIZE rcvd: 436

Шаг 3

Проверьте наличие возможности администрирования DNS-сервера с использованием утилиты rndc. Для получения информации о возможностях утилиты используйте команду:

[root@drwalbr /]# rndc

command is one of the following:

reload

Reload configuration file and zones.

reload zone [class [view]]

 

Reload a single zone.

refresh zone [class [view]]

 

Schedule immediate maintenance for a zone.

reconfig

Reload configuration file and new zones only.

stats

Write server statistics to the statistics file.

querylog

Toggle query logging.

dumpdb

Dump cache(s) to the dump file (named_dump.db).

stop

Save pending updates to master files and stop the server.

halt

Stop the server without saving pending updates.

trace

Increment debugging level by one.

trace level

Change the debugging level.

notrace

Set debugging level to 0.

flush

Flushes all of the server's caches.

flush [view]

Flushes the server's cache for a view.

status

Display status of the server.

*restart

Restart the server.

* == not yet implemented Version: 9.2.2

Шаг 4

Попробуйте узнать IP-адреса хостов, находящиеся в зоне ответственности вашего DNS-сервера:

Глава 23. ISC BIND – программное обеспечение для организации службы DSN

309

[root@drwalbr /]# nslookup -sil www.contora.ru

Server: 213.24.76.2 Address: 213.24.76.2#53

www.contora.ru

Name: www.contora.ru

Address: 212.111.78.9

и за её пределами:

[root@drwalbr /]# nslookup -sil www.bruy.info

Server: 213.24.76.2 Address: 213.24.76.2#53

Non-authoritative answer:

Name: www.bruy.info

Address: 212.24.38.75

Шаг 5 Попробуйте получить информацию о записях, соответствующих почтовым серверам в файлах зоны

вашего DNS-сервера с использованием утилиты host:

[host@drwalbr /]# host -t MX contora.ru contora.ru mail is handled by 1 mail1.contora.ru.

Для получения информации о возможностях утилиты используйте команду:

[root@drwalbr /]# host

Usage: host [-aCdlrTwv] [-c class] [-n] [-N ndots] [-t type] [-W time] [-R number] hostname [server]

-a is equivalent to -v -t *

-c specifies query class for non-IN data

-C compares SOA records on authoritative nameservers -d is equivalent to -v

-l lists all hosts in a domain, using AXFR

-n Use the nibble form of IPv6 reverse lookup

-N changes the number of dots allowed before root lookup is done -r disables recursive processing

-R specifies number of retries for UDP packets -t specifies the query type

-T enables TCP/IP mode

-v enables verbose output

-w specifies to wait forever for a reply -W specifies how long to wait for a reply

Выполнение ISC BIND в среде chroot-jail

Потенциальные уязвимости ISC BIND, как и любого другого программного обеспечения, могут использоваться для реализации атак на вашу систему. Поэтому для повышения безопасности системы рекомендуется выполнять ISC BIND в окружении chroot-jail. Для этого необходимо выполнить следующие операции.

Шаг 1

Создайте каталоги, необходимые для размещения файлов ISC BIND в окружении chroot-jail:

[root@drwalbr /]# mkdir -p /chroot/named/etc [root@drwalbr /]# mkdir -p /chroot/named/dev [root@drwalbr /]# mkdir -p /chroot/named/var/run/named [root@drwalbr /]# mkdir -p /chroot/named/var/named [root@drwalbr /]# chown -R named.named /chroot/named/etc [root@drwalbr /]# chown -R named.named /chroot/named/dev

[root@drwalbr /]# chown -R named.named /chroot/named/var/run/named [root@drwalbr /]# chown -R named.named /chroot/named/var/named

ЗАМЕЧАНИЕ Для повышения безопасности вашей системы каталог /chroot/named/ рекомендуется размещать на отдельном разделе диска.

Шаг 2

310

Часть 5. Служба DSN

Переместите конфигурационные файлы ISC BIND в соответствующие подкаталоги окружения chrootjail, создайте файл устройства random, установите права доступа к файлам и назначьте владельцем файла пользователя named из группы named:

[root@drwalbr /]# mv /etc/named.conf /chroot/named/etc [root@drwalbr /]# mv /var/named/* /chroot/named/var/named [root@drwalbr /]# mknod /chroot/named/dev/random c 1 8 [root@drwalbr /]# chmod 644 /chroot/named/dev/random [root@drwalbr /]# chown named.named /chroot/named/etc/named.conf [root@drwalbr /]# chown -R named.named /chroot/named/var/named/*

Шаг 3

В качестве дополнительной меры безопасности сделайте файл /chroot/named/etc/named.conf защищенным от изменений:

[root@drwalbr /]# chattr +i /chroot/named/etc/named.conf

ЗАМЕЧАНИЕ Если потребуется внести изменения в файл /chroot/named/etc/named.conf не забудьте удалить атрибут immutable для этого файла, используя команду:

[root@drwalbr /]# chattr -i /chroot/named/etc/named.conf

Шаг 4

Удалите ненужные каталоги /var/named и /var/run/named, ранее используемые ISC BIND при инсталляции в обычном окружении:

[root@drwalbr /]# rm -rf /var/named/

[root@drwalbr /]# rm -rf /var/run/named/

Шаг 5

В файле /etc/sysconfig/named раскомментируйте или добавьте строку:

ROOTDIR="/chroot/named/"

Шаг 6

Запустите ISC BIND в окружении chroot-jail:

[root@drwalbr /]# /etc/init.d/named start

Запускается Named: [ОК]

Шаг 7

Проверьте, запущен ли ISC BIND, и определите соответствующий номер процесса:

[root@drwalbr /]# ps ax | grep named

17450 ? S 0:00 /usr/sbin/named -u named -t /chroot/named/

Шаг 8

Проверьте, запущен ли ISC BIND в окружении chroot-jail:

[root@drwalbr /]# ls -la /proc/17450/root/

Если вы получите вывод вида, отображающий содержимое корневого каталога среды chroot-jail:

итого 5

drwxr-xr-x

5

root

root

1024

Май 18 21:01 .

drwxr-xr-x

9

root

root

1024

Май 18

21:01 ..

drwxr-xr-x

2

named

named

1024

Май 18

21:10 dev

drwxr-xr-x

2

named

named

1024

Май

18

21:09

etc

drwxr-xr-x

4

root

root

1024

Май

18

21:05

var

то ISC BIND корректно работает в окружении chroot-jail.

Демон lwresd

В состав версии 9 ISC BIND входит демон lwresd, установка которого рекомендуется на всех Linuxсистемах вашей сети, за исключением DNS-серверов и шлюза. lwresd является «облегченной» версией демона named и позволяет реализовывать функции кэширующего DNS-сервера с меньшими затратами ресурсов системы. Для установки lwresd в окружении chroot-jail необходимо выполнить следующие операции.

Шаг 1

Добавьте в файл /etc/resolv.сonf строку с указанием на IP-адрес вашего внешнего интерфейса: lwserver 192.168.1.112

Соседние файлы в предмете Информатика