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

Мельников Д. А. - Организация и обеспечение безопасности информационно-технологических сетей и систем - 2012

.pdf
Скачиваний:
733
Добавлен:
15.07.2016
Размер:
20.96 Mб
Скачать

292

Гла ва 18. Сист ем а им енования сегм ен т о в/о б л а ст ей

Записи «МХ» влекут за собой дополнительную процедуру об­ работки, которая означает поиск RR-записей типа «А». Данная об­ работка возлагается на сервер, имя которого указано в субполе «EXCHANGE».

;

NSDNAME

1

 

 

Рис. 18.18. Формат субполя «NS» в поле «RDATA»

На рис. 18.18 представлен формат субполя «NS» (name server - DNS-сервер) в поле «RDATA». «NSDNAME» (рис. 18.18) представля­ ет собой DNS-имя (<domain-name>), идентифицирующее DNSсервер, который должен быть авторизован для определенного клас­ са данных и сегмента/области.

Записи «NS» влекут за собой две дополнительные процедуры обработки, первая из которых связана с поиском RR-записей типа «А», содержащих указанное DNS-имя, а вторая связана с целена­ правленным поиском (с использованием указателя направления) зоны, в которой эти RR-записи типа «А» представлены в форме до­ бавочных («glue») данных.

Записи «NS» однозначно устанавливают, что названный сер­ вер должен предназначаться для охвата зоны, начинающейся с име­ ни (определенного класса) владельца зоны.

На рис. 18.19 представлен формат субполя «PTR» (pointer - указатель на DNS-имя) в поле «RDATA». «PTRDNAME» (рис. 18.19) представляет собой DNS-имя (<domain-name>), которое указывает на определенное место в пространстве имен сегмента/области.

Записи «PTR» не влекут за собой каких-либо дополнительных процедур обработки. Они используются в специальных сегмен­ тах/ областях для указания некоторого другого места в пространстве имен сегмента/области. Эти записи представляют собой обычные данные и не подразумевают проведение какой-либо специальной процедуры обработки, подобно той, которая связана с «CNAME» и определяет псевдонимы.

--------------------------- Л

PTRDNAME !

________________________ I

Рис. 18.19. Формат субполя «PTR» в поле «RDATA)

Раздел 11.

293

На рис. 18.20 представлен формат субполя «SOA» (the start of а zone of authority - начало зоны ответственности) в поле «RDATA». Субполе «SOА» включает следующие элементы (рис. 18.20):

Рис. 18.20. Формат субполя «SOA» в поле «RDATA»

о«MNAME» представляет собой DNS-имя (<domain-name>) DNS-сервера, который был оригинальным или первичным ис­ точником данных для этой зоны;

в«RNAME» - DNS-имя (<domain-name>), которое определяет почтовый сервер (почтовый адрес) лица, которое отвечает за эту зону;

о«SERIAL» - 32-битовое число без знака, которое определяет номер версии оригинальной копии зоны. При каких-либо зо­ нальных процедурах информационного обмена значение это­ го числа сохраняется. Это число преобразуется в десятичное и при его сравнении должна использоваться простая арифмети­ ческая процедура;

°«REFRESH» - 32-битовый временной интервал, не позднее ко­ торого зональная БД должна быть обновлена;

0«RETRY» - 32-битовый временной интервал, который должен пройти, прежде чем провести новую попытку обновления данных, если предшествующая попытка закончилась неудачно (аналог «тайм-аута»);

e«EXPIRE» - 32-битовый временной интервал, устанавливаю­ щий верхний предел, который должен пройти перед тем, как зона потеряет ранг «авторизованной зоны»;

294

Гла ва 18. Сист ем а им енования сегм ен т о в/о б л а ст ей

о«MINIMUM» - 32-битовое число без знака, определяющее ми­ нимальное значение в поле «TTL», которое должно быть на­ правлено вместе с любой RR-записью из этой зоны.

Записи «SOA» не влекут за собой каких-либо дополнительных процедур обработки. Все временные параметры измеряются в се­ кундах.

Большинство из этих полей имеют отношение только к проце­ дурам обслуживания DNS-сервера. Однако, элемент «MINIMUM» используется во всех процедурах запроса, в ответ на которые пере­ даются зональные RR-записи. Всякий раз, когда RR-запись передает­ ся в качестве ответа на запрос, поле «TTL» имеет следующие значе­ ния: максимальное значение извлекается из RR-записи, а мини­ мальное значение - из субполя «SOА» («MINIMUM»). Таким обра­ зом, значение «MINIMUM» из субполя «SOА» определяет нижнюю границу «TTL» для RR-записей в зоне.

На рис. 18.21 представлен формат субполя «ТХТ» (text) в поле «RDATA».

1

TXT-DATA

Рис. 18.21. Формат субполя «ТХТ» в поле «RDATA»

«TXT-DATA» (рис. 18.21) представляет собой одну или более <сЬагаиег-5Ы^>-последовательностей.

Рис. 18.22. Формат поля «RDATA» для Internet

Записи «TXT-DATA» используются для размещения в них ка­ кого-либо описания в текстовой форме. Семантика текста зависит от сегмента/области, в которой он создан.

Специальные RR-записи для Internet-сети. На рис. 18.22 представлен формат поля «RDATA». «ADDRESS» (рис. 18.22) пред­ ставляет собой 32-битовый 1Ру4-адрес. IP-узлы, которые имеют не­ сколько IP-адресов, будут иметь несколько RR-записей типа «А».

Записи «А» не влекут за собой каких-либо дополнительных процедур обработки. Поле «RDATA» RR-записи типа «А» в мастерфайле представляет собой IP-адрес Internet в форме четырех десяти­

раздел II.

295

значных чисел, разделенных точками, без каких-либо пробелов (на­ пример, «10.2.0.52» или «192.0.5.6»).

На рис. 18.23 представлен Формат субполя «WKS» (well know services - хорошо известные службы) в поле «RDATA».

Субполе «WKS» включает следующие элементы (рис.18.23):

о«ADDRESS» представляет собой 32-битовый 1Ру4-адрес;

о«PROTOCOL» представляет собой 8-битовый номер IP-про­ токола;

о<В1Т МАР> представляет собой поле переменной длины, в ко­ тором размещаются данные в двоичной форме. Длина этих данных должна быть кратна 8 битам.

ADDRESS

PROTOCOL

<В1Т МАР>

Рис. 18.23. Формат субполя «WKS» в поле «RDATA» для Internet

Запись «WKS» используется для определения так называемых хорошо известных прикладных служб, которые определяются с по­ мощью соответствующего протокола и соответствующего IP-адреса в Internet. Поле «PROTOCOL» определяет номер IP-протокола (его версию), поле <В1Т МАР> кодируется в соответствии с правилами, представленными в RFC-1010.

Предназначение записей «WKS» заключается в том, чтобы обеспечить доступность информации в серверах, применяющих TCP- и UDP-протоколы. Если сервер применяет и TCP-, и UDPпротоколы, или имеет несколько IP-адресов в Internet, то тогда ис­ пользуется несколько записей «WKS».

Эти записи не влекут за собой каких-либо дополнительных процедур обработки. В мастер-файлах номера портов и протоколов представлены либо в мнемоническом формате, либо в формате де­ сятичных чисел.

18.5. Логическая характеристика DNS-протокола

Все виртуальные соединения в рамках DNS-протокола сопро­ вождаются передачей, приемом и обработкой DNS-сообщений, формат которых представлен на рис. 18.24.

296

Глава 18. Система именования сегментов/областей

В зависимости от типа DNS-сообщения (рис. 18.24) некоторые поля в нем могут быть пустыми, за исключением заголовка - по­ следний присутствует всегда. Собственно говоря, именно заголовок определяет, какие поля DNS-сообщения будут в нем представлены, и сам тип сообщения - запрос или ответ (стандартный или специа­ лизированный запрос и др.).

ПОЛЯ СО О БЩ ЕН И Я | С О Д Е Р Ж А Н И Е П О Л Е Й

Header (заголовок) |Определяет тип DNS-сообщения

Question (вопрос) |Вопрос к DNS-cepeepy

Answer (ответ) |RR-записи, отвечающие на поставленный вопрос

Authority (авторизация) |RR-записи, указывающие на авторизованный сервер

Additional (дополнение) | RR-записи, содержащие дополнительную информацию

Рис. 18.24. Формат DNS-сообщения

Имена, содержащиеся в полях после заголовка, указывают на свое предыдущее использование в стандартных запросах. Поле «Question» состоит из субполей, которые определяют сущность во­ проса, направленного на DNS-сервер. К этим субполям относятся: «запрашиваемый тип записи» (QTYPE), «запрашиваемый класс за­ писи» (QCLASS) и запрашиваемое DNS-имя (QNAME). Последние три поля имеют одинаковый формат и могут быть пустыми (без RRзаписей). Поле «Answer» содержит записи, которые являются отве­ том на отправленный запрос. Поле «Authority» содержит записи, которые указывают направление на авторизованный DNS-сервер. Поле «Additional» содержит записи, которые связаны с запросом, но не являются прямыми ответами на вопрос.

: о

15:

Рис. 18.25. Формат заголовка (поле «Header») DNS-сообщения

На рис. 18.25 представлен формат заголовка DNS-сообщения. Субполя заголовка имеют следующее предназначение:

о«ID» (Identifier) - 16-битовый идентификатор, устанавливае­ мый программным модулем, который сформировал данный тип запроса. Этот идентификатор копируется в соответствую­ щее ответное DNS-сообщение и может быть использован за­

раздел II.

297

прашиваемой стороной для сравнения ответов на невыпол­ ненные запросы;

о«QR» (Query/Response) - однобитовое субполе, которое опре­ деляет тип DNS-сообщения: «О» - запрос; «1» - ответ;

о«OPCODE» (Option Code) - 4-битовое субполе, которое опреде­ ляет тип запроса в данном DNS-сообщении. Это значение ус­ танавливается отправителем запроса и копируется в ответном сообщении. Кодирование этого субполя следующее:

-«О» - стандартный запрос (QUERY);

-«1» - встречный запрос (IQUERY);

-«2» - запрос состояния сервера (STATUS);

-«3... 15» - зарезервировано для дальнейшего применения;

©«АА» (Authoritative Answer) - однобитовое субполе, которое используется только в ответных сообщениях (устанавливается в «1») и определяет, что отвечающий DNS-сервер является ав­ торизованным для DNS-имени, указанного в поле «Question». (П римечание. Содержание поля «Answer» может включать не­ сколько DNS-имен владельца записи, так как он может иметь несколько псевдонимов. Бит «АА» указывает на имя, которое будет сравниваться с именем, указанным в запросе, или на первое имя владельца записи в поле «Answer».);

о«ТС» (Truncation) - однобитовое субполе, которое определяет, что DNS-сообщение было сокращено («урезано») вследствие того, что длина сообщения превышает максимально разре­ шенный размер, установленный для передачи;

о«RD» (Recursion Desired) - однобитовое субполе, которое ука­ зывает на наличие запроса в режиме рекурсии (рекурсивный режим обслуживания). Этот бит может быть установлен в «1» в запросах и копируется в ответных сообщениях. Если бит «RD» установлен, то он предписывает DNS-серверу обслуживать за­ прос рекурсивно. Рекурсивный режим обслуживания является не основным (дополнительным) режимом;

«RA» (Recursion Available) - однобитовое субполе, которое ука­ зывает на возможность рекурсивного режима обслуживания со стороны DNS-сервера, если этот бит установлен в «1». Этот бит может копироваться, а может и не копироваться в ответах;

e«Z» - это субполе зарезервировано для будущего использова­ ния. Оно всегда должно быть заполнено нулями (и в запросах, и в ответах);

«RCODE» (Response Code) - 4-битовое поле, которое является частью ответных DNS-сообщений. Кодирование этого субполя следующее:

- «О» - отсутствие ошибок;

298

Глава 18. Система именования сегментов/областей

-«1» - ошибка в формате сообщения. DNS-сервер не спосо­ бен распознать запрос;

-«2» - DNS-сервер неисправен. Он не смог обработать посту­ пивший запрос вследствие собственных внутренних причин;

-«3» - ошибочное DNS-имя. Имеет отношение только к отве­ там авторизованных DNS-серверов. DNS-имя, представлен­ ное в запросе, не существует;

-«4» - не обслуживается. DNS-сервер не обслуживает (не об­ рабатывает) такой тип запросов;

15\

L E N G T H

Q N A M E

Q T Y P E

Q C L A S S

Рис. 18.26. Формат поля «Question» DNS-сообщения

-«5» - отказ. DNS-сервер отказался от обработки запроса (проведения специфической процедуры) по соображениям безопасности. Например, DNS-сервер не желает обеспечи­ вать информацией соответствующую запрашивающую сто­ рону или не желает проводить соответствующую обработку с поступившими данными (например, при внутри зональ­ ном информационном обмене);

-«6... 15» - зарезервировано для дальнейшего применения;

в«QDCOUNT» - 16-битовое число без знака, которое определяет объем данных в поле «Question»;

о«ANCOUNT» - 16-битовое число без знака, которое определяет количество RR-записей в поле «Answer»;

о«NSCOUNT» - 16-битовое число без знака, которое определяет количество RR-записей об авторизованном DNS-сервере в поле «Authority»;

« «ARCOUNT» - 16-бито'вое число без знака, которое определяет количество RR-записей в поле «Additional».

Поле «Question» DNS-сообщения используется для доставки «вопроса» в большинстве сообщений-запросов, то есть для доставки параметров, которые определяют существо вопроса. С уб п ол е «QDCOUNT» определяет количество записей в поле «Question» (как правило, одна), каждая из которых имеет формат, представленный на рис. 18.26.

роздал II.

299

\0

__ ___________________________________________________tfl

 

N A M E

 

 

Т У Р Е

 

 

C L A S S

 

 

T T L

 

 

R D L E N G T H

 

 

R D A T A

!

 

_____________________________________________ !

Рис. 18.27. Формат полей «Answer», «Authority» и «Additional» DNS-сообщения

Субполя в поле «Question» имеют следующее предназначение:

о«QNAME» - DNS-имя, представленное в форме последователь­ ности маркеров, где каждый маркер состоит из одиночного ок­ тета («Length»), указывающего на размер маркера в октетах, и октетов, которые содержат сам маркер. DNS-имя заканчивается нулевым октетом, что означает нулевой маркер корневого узла. (.Примечание. Это поле может содержать нечетное число окте­ тов, однако, процедура дополнения не используется.);

о«QTYPE» - двухоктетный код, который определяет тип запро­ са. Величины в этом поле включают все коды, которые допус­ тимы для поля «ТУРЕ» в RR-записях;

в«QCLASS» - двухоктетный код, который определяет класс за­ проса. Например, значение «IN» в этом поле указывает на

Internet.

Поля «Answer», «Authority» и «Additional» DNS-сообщения

имеют одинаковый формат (рис. 18.27), а вот их размеры определя­ ются соответствующими субполями «ANCOUNT», «NSCOUNT» и «ARCOUNT» заголовка DNS-сообщения.

Субполя в полях «Answer», «Authority» и «Additional» имеют следующее предназначение:

о «NAME» - DNS-имя того, кому принадлежит эта запись;

в«ТУРЕ» - двухоктетное субполе, в котором размещается один из кодов, определяющих тип RR-записи. Это поле определяет сущность данных, размещенных в субполе «RDATA»;

«CLASS» - двухоктетное субполе, которое определяет класс данных, размещенных в субполе «RDATA»;

«TTL» - 32-битовое число без знака (секунды), определяющее временной интервал, в течение которого RR-запись может хра­ ниться в кэш-памяти до того как она будет уничтожена. Нулевое

300

Глава 18. Система именования сегментов/областей

значение в этом субполе означает то, что данная запись может быть использована только в течение процедуры информацион­ ного обмена, а ее хранение в кэш-памяти не целесообразно;

в«RDLENGTH» - 16-битовое число без знака, которое определя­ ет размер субполя «RDATA» в октетах;

в«RDATA» - различной длины последовательность октетов, ко­ торая отражает информационный ресурс. Формат этой ин­ формации может быть различным и зависит от типа и класса записи. Например, если тип записи «А», а класс записи «IN», то тогда поле «RDATA» содержит 4-октетный IP-адрес в Internet.

Сжатие (компрессия) DNS-сообщений. В целях уменьшения размера DNS-сообщения, в DNS-системе используется процедура компрессии, которая исключает повторение DNS-имен в сообще­ нии. В этой процедуре полное DNS-имя или перечень маркеров в конце DNS-имени заменяются указателем («pointer») на прежнее ме­ стонахождение такого же DNS-имени.

15\

1

O F F S E T (с м е щ е н и е )

Рис. 18.28. Формат указателя в DNS-сообщении

Формат указателя представлен на рис. 18.28. Первые два бита указателя устанавливаются в «1». Они позволяют отличать указатель от маркера, так как маркер должен начинаться с двух первых нуле­ вых битов, потому что маркеры ограничены 63-октетным размером или меньшим. (Значения первых двух битов - «10» и «01» - зарезер­ вированы для будущего использования.) Поле «OFFSET» (смещение) указателя определяет смещение от начала сообщения (то есть пер­ вый октет субполя «ГО» в заголовке («Header») сообщения). Если по­ ле «OFFSET» содержит нулевое значение, то тогда первый октет субполя «ГО» в заголовке является первым в сообщении.

Процедура компрессии позволяет представить DNS-имя в со­ общении в одной из следующих форм:

окак последовательность маркеров, заканчивающуюся нулевым октетом;

ов форме указателя;

окак последовательность маркеров, заканчивающуюся указателем.

Прикладные программные DNS-модули могут не использовать указатели в сообщениях, которые они формируют, несмотря на то, что их применение значительно снижает размер транспортного блока, а могут и использовать процедуру компрессии. Однако, все программные модули должны «понимать» поступающие на обра­ ботку сообщения, содержащие указатели.

Раздел II.

301

18.6. Мастер-файлы

Мастер-файлы представляют собой текстовые файлы, которые содержат RR-записи в текстовой форме. Так как содержание зоны может быть представлено в форме перечня RR-записей, мастерфайл очень часто используется для определения зоны, хотя он мо­ жет быть использован для перечня компонентов, хранящихся в кэш­ памяти.

Формат таких файлов представляет собой последовательность записей (строк). Эти записи являются преимущественно линейно­ ориентированными (строчная форма), хотя для продолжения пе­ речня элементов, выходящих за линейную границу, могут быть ис­ пользованы обычные круглые скобки. Более того, текстовые кон­ станты могут включать символ «CRLF» («перевод каретки - новая строка»), то есть внутри текста. Любая комбинация символов «табу­ ляция» и «пробел» выступает в роли разделителя между элемента­ ми, которые входят в состав записи. В конце любой строки (линии) мастер-файла может размещаться комментарий. Комментарий на­ чинается после разделительного символа «;» (точка с запятой).

Далее приводится пример записи в мастер-файле:

< b la n k >

 

[<com m ent>]

$ O R IG IN

< d o m a in -n a m e >

[<com m ent>]

$ IN C L U D E

<file -n a m e >

[< d o m a in -n a m e > ] [<com m ent>]

< d o m a in -n a m e >

<rr>

[<com m ent>]

<blank>

<rr>

[<co m m en t>j

Пустые строки (<blank>), с комментариями или без, допуска­ ются в любых местах мастер-файла.

В мастер-файлах различают две управляющие строки:

«$ORIGIN» (источник) следует перед DNS-именем, и переус­ танавливает все DNS-имена соответствующих владельцев в од­ но имя установленного владельца;

о«$INCLUDE» (вставка) размещает файл с именем в текущий файл, и может, дополнительно, определять DNS-имя установ­ ленного владельца для включенного файла. Эта строка также может иметь комментарий. (Примечание. Строка «$INCLUDE» никогда не изменяет соответствующий источник «родительско­ го файла», не обращая внимания на изменения, которые делает соответствующий источник внутри включенного файла.)

Последние две строки представляют собой RR-записи. Если стро­

ка для RR-записи начинается с пустой строки, то тогда RR-запись при­ надлежит последнему установленному владельцу. Если же строка для RR-записи начинается с <domain-name> (с DNS-имени), то тогда имя владельца переустановлено.