| [отпатрулированная версия] | [непроверенная версия] |
|
|
| |
Первоначально проблемы безопасности не были основными соображениями при разработке программного обеспечения DNS или любого программного обеспечения для развёртывания в раннем Интернете, поскольку сеть не была открыта для широкой общественности. Однако рост Интернета в коммерческом секторе в 1990-х годах изменил требования к мерам безопасности для защиты целостности данных и аутентификации пользователей. |
|
Первоначально проблемы безопасности не были основными соображениями при разработке программного обеспечения DNS или любого программного обеспечения для развёртывания в раннем Интернете, поскольку сеть не была открыта для широкой общественности. Однако рост Интернета в коммерческом секторе в 1990-х годах изменил требования к мерам безопасности для защиты целостности данных и аутентификации пользователей. |
| |
|
|
|
| − |
Несколько уязвимостей были обнаружены и использованы злоумышленниками. Одной из таких проблем является отравление кэша DNS, в котором данные распространяются на кэширующие преобразователи под предлогом того, что они являются авторитетным сервером происхождения, тем самым загрязняя хранилище данных потенциально ложной информацией и длительными сроками действия (время жизни). Впоследствии, запросы легитимных приложений могут быть перенаправлены на сетевые хосты, контролируемые злоумышленником. |
+ |
Несколько уязвимостей были обнаружены и использованы злоумышленниками. Одной из таких проблем является [[DNS cache poisoning|отравление кэша DNS]], в котором данные распространяются на кэширующие преобразователи под предлогом того, что они являются авторитетным сервером происхождения, тем самым загрязняя хранилище данных потенциально ложной информацией и длительными сроками действия (время жизни). Впоследствии, запросы легитимных приложений могут быть перенаправлены на сетевые хосты, контролируемые злоумышленником. |
| |
|
|
|
| |
DNS-ответы ранее не имели криптографической подписи, что давало возможность для множества вариантов атаки. Современные расширения системы безопасности доменных имен ([[DNSSEC]]) изменяют DNS, чтобы добавить поддержку криптографически подписанных ответов. Другие расширения, такие как TSIG, добавляют поддержку криптографической аутентификации между доверенными одноранговыми узлами и обычно используются для авторизации передачи зоны или операций динамического обновления. |
|
DNS-ответы ранее не имели криптографической подписи, что давало возможность для множества вариантов атаки. Современные расширения системы безопасности доменных имен ([[DNSSEC]]) изменяют DNS, чтобы добавить поддержку криптографически подписанных ответов. Другие расширения, такие как TSIG, добавляют поддержку криптографической аутентификации между доверенными одноранговыми узлами и обычно используются для авторизации передачи зоны или операций динамического обновления. |
|
|
| |
Рассмотрим на примере работу всей системы. |
|
Рассмотрим на примере работу всей системы. |
| |
|
|
|
| − |
Предположим, мы набрали в [[браузер]]е адрес <code>ru.wikipedia.org</code>. Браузер спрашивает у сервера DNS: «какой IP-адрес у <code>ru.wikipedia.org</code>»? |
+ |
Предположим, мы набрали в [[браузер]]е адрес <code>ru.wikipedia.org</code>. Браузер ищет соответствие этого адреса IP-адресу в файле ''hosts''. Если файл не содержит соответствия, то далее браузер спрашивает у сервера DNS: «какой IP-адрес у <code>ru.wikipedia.org</code>»? |
| |
Однако сервер DNS может ничего не знать не только о запрошенном имени, но и даже обо всём домене <code>wikipedia.org</code>. |
|
Однако сервер DNS может ничего не знать не только о запрошенном имени, но и даже обо всём домене <code>wikipedia.org</code>. |
| |
В этом случае сервер обращается к ''[[Корневые серверы DNS|корневому серверу]]'' — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 является ответственным за зону <code>org</code>.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 является ответственным за зону <code>wikipedia.org</code>.» Наконец, тот же запрос отправляется к третьему DNS-серверу и получает ответ — IP-адрес, который и передаётся клиенту — браузеру. |
|
В этом случае сервер обращается к ''[[Корневые серверы DNS|корневому серверу]]'' — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 является ответственным за зону <code>org</code>.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 является ответственным за зону <code>wikipedia.org</code>.» Наконец, тот же запрос отправляется к третьему DNS-серверу и получает ответ — IP-адрес, который и передаётся клиенту — браузеру. |
|
|
| |
|
|
|
| |
Наиболее важные типы DNS-записей: |
|
Наиболее важные типы DNS-записей: |
| − |
* '''Запись A''' (''address record'') или '''запись адреса''' связывает имя хоста с адресом протокола IPv4. Например, запрос A-записи на имя <tt>referrals.icann.org</tt> вернёт его IPv4-адрес — <tt>192.0.34.164</tt>. |
+ |
* '''Запись A''' (''address record'') или '''запись адреса''' связывает имя хоста с адресом протокола IPv4. Например, запрос A-записи на имя <code>referrals.icann.org</code> вернёт его IPv4-адрес — <code>192.0.34.164</code>. |
| − |
* '''Запись AAAA''' (''IPv6 address record'') связывает имя хоста с адресом протокола [[IPv6]]. Например, запрос AAAA-записи на имя <tt>K.ROOT-SERVERS.NET</tt> вернёт его [[IPv6]]-адрес — <tt>2001:7fd::1</tt>. |
+ |
* '''Запись AAAA''' (''IPv6 address record'') связывает имя хоста с адресом протокола [[IPv6]]. Например, запрос AAAA-записи на имя <code>K.ROOT-SERVERS.NET</code> вернёт его [[IPv6]]-адрес — <code>2001:7fd::1</code>. |
| |
* '''Запись CNAME''' (''canonical name record'') или '''каноническая запись имени''' (псевдоним) используется для перенаправления на другое имя. |
|
* '''Запись CNAME''' (''canonical name record'') или '''каноническая запись имени''' (псевдоним) используется для перенаправления на другое имя. |
| |
* '''[[Запись MX]]''' (''mail exchange'') или '''почтовый обменник''' указывает [[Почтовый сервер|сервер(ы) обмена почтой]] для данного домена. |
|
* '''[[Запись MX]]''' (''mail exchange'') или '''почтовый обменник''' указывает [[Почтовый сервер|сервер(ы) обмена почтой]] для данного домена. |
| |
* '''Запись NS''' (''name server'') указывает на [[DNS-сервер]] для данного домена. |
|
* '''Запись NS''' (''name server'') указывает на [[DNS-сервер]] для данного домена. |
| − |
* '''Запись PTR''' (''pointer''<ref>{{Cite web|url=https://tools.ietf.org/html/rfc1034.html|title=Domain names - concepts and facilities|author=P. V. Mockapetris|publisher=tools.ietf.org|lang=en|accessdate=2019-02-07}}</ref><ref>{{Cite web|url=https://tools.ietf.org/html/rfc1035.html|title=Domain names - implementation and specification|author=P. V. Mockapetris|publisher=tools.ietf.org|lang=en|accessdate=2019-02-07}}</ref>) обратная DNS-'''запись''' или '''запись указателя''' связывает IP-адрес хоста с его каноническим именем. Запрос в домене <tt>in-addr.arpa</tt> на IP-адрес хоста в reverse-форме вернёт имя ([[FQDN]]) данного хоста (см. [[#Обратный DNS-запрос|Обратный DNS-запрос]]). Например (на момент написания), для IP-адреса <tt>192.0.34.164</tt> запрос записи PTR <tt>164.34.0.192.in-addr.arpa</tt> вернёт его каноническое имя <tt>referrals.icann.org</tt>. В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR-записи для хоста, с которого происходит отправка. В этом случае PTR-запись для IP-адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе [[SMTP]]-сессии. |
+ |
* '''Запись PTR''' (''pointer''<ref>{{Cite web|url=https://tools.ietf.org/html/rfc1034.html|title=Domain names - concepts and facilities|author=P. V. Mockapetris|publisher=tools.ietf.org|lang=en|accessdate=2019-02-07}}</ref><ref>{{Cite web|url=https://tools.ietf.org/html/rfc1035.html|title=Domain names - implementation and specification|author=P. V. Mockapetris|publisher=tools.ietf.org|lang=en|accessdate=2019-02-07}}</ref>) обратная DNS-'''запись''' или '''запись указателя''' связывает IP-адрес хоста с его каноническим именем. Запрос в домене <code>in-addr.arpa</code> на IP-адрес хоста в reverse-форме вернёт имя ([[FQDN]]) данного хоста (см. [[#Обратный DNS-запрос|Обратный DNS-запрос]]). Например (на момент написания), для IP-адреса <code>192.0.34.164</code> запрос записи PTR <code>164.34.0.192.in-addr.arpa</code> вернёт его каноническое имя <code>referrals.icann.org</code>. В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR-записи для хоста, с которого происходит отправка. В этом случае PTR-запись для IP-адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе [[SMTP]]-сессии. |
| |
* '''Запись [[Типы ресурсных записей DNS|SOA]]''' (''Start of Authority'') или '''начальная запись зоны''' указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, ''тайминги'' (параметры времени) кеширования зонной информации и взаимодействия DNS-серверов. |
|
* '''Запись [[Типы ресурсных записей DNS|SOA]]''' (''Start of Authority'') или '''начальная запись зоны''' указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, ''тайминги'' (параметры времени) кеширования зонной информации и взаимодействия DNS-серверов. |
| |
* [[SRV-запись]] (''server selection'') указывает на серверы для сервисов, используется, в частности, для [[Jabber]] и [[Active Directory]]. |
|
* [[SRV-запись]] (''server selection'') указывает на серверы для сервисов, используется, в частности, для [[Jabber]] и [[Active Directory]]. |
|
|
| |
== См. также == |
|
== См. также == |
| |
* [[EDNS]] — новый стандарт протокола DNS |
|
* [[EDNS]] — новый стандарт протокола DNS |
| − |
*[[DNS cache poisoning]] |
|
| |
* [[Альтернативные корневые серверы DNS]] |
|
* [[Альтернативные корневые серверы DNS]] |
| |
* [[OpenDNS]] |
|
* [[OpenDNS]] |