Конспект ИБ | Протоколы | DNS
Порт: 53
Работает преимущественно на UDP ввиду коротких запросов, но может использовать и TCP для:
Обмена большими запросами
Когда нужна сохранность данных
При передаче полных зон DNS между серверами.
При репликации и синхронизации данных, что важно для поддержания актуальности глобальной базы данных DNS.
DNS — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты и/или обслуживающих узлах для протоколов в домене (SRV-запись).
Распределённая база данных — база данных, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием
Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов. Основой DNS является представление об иерархической структуре имени и зонах. Каждый сервер, отвечающий за имя, может передать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения — другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени.
Домен — узел в дереве имён, вместе со всеми подчинёнными ему узлами (если таковые имеются), то есть именованная ветвь или поддерево в дереве имён. Структура доменного имени отражает порядок следования узлов в иерархии; доменное имя читается слева направо от младших доменов к доменам высшего уровня (в порядке повышения значимости): вверху находится корневой домен (имеющий идентификатор «.»(точка)), ниже идут домены первого уровня (доменные зоны), затем — домены второго уровня, третьего и т. д. (например, для адреса pikabu.ru. домен первого уровня — ru, второго — pikabu, корневой домен .(точка), который не указывается). Обращение к домену идёт в обратном порядке: справа налево, от корневого домена, к доменам низшего уровня.
Поддомен — подчинённый домен (например, pikabu.ru — поддомен домена ru. Теоретически такое деление может достигать глубины 127 уровней, а каждая метка может содержать до 63 символов, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения. Например, если у вас есть домен вида mydomain.ru, вы можете создать для него различные поддомены вида mysite1.mydomain.ru, mysite2.mydomain.ru и т. д.
Ресурсная запись — единица хранения и передачи информации в DNS. Каждая ресурсная запись имеет имя (то есть привязана к определённому доменному имени, узлу в дереве имён), тип и поле данных, формат и содержание которого зависит от типа.
Рекурсивный запрос — это тип запроса, в котором запрос к серверу может отправляться в сервера нижележащих уровней, вплоть до корневого. Это стандартный сценарий для пользователя. Нерекурсивные запросы обрабатываются только на уровне сервера, к которому запрос был отправлен.
Файл hosts
Это текстовый файл, в котором содержатся данные для статического разрешения доменных имён в IP-адреса в обход DNS:
Windows XP, 2003, Vista, 7, 8, 10 — c:\windows\system32\drivers\etc\hosts
Linux, Ubuntu, Unix, BSD — /etc/hosts
Порядок разрешения имён: приложение запрашивает IP для example.com, ОС сначала проверяет файл hosts, если найдено совпадение, то возвращает IP из hosts, если нет, то делает DNS-запрос.
Файл hosts имеет высший приоритет над любыми DNS-серверами.
Угрозы:
Вредоносное ПО часто модифицирует hosts
Фишинг: перенаправление “полезных” сайтов на поддельные
Блокировка обновлений: перенаправление серверов ОС
Основные ресурсные записи
A-запись — задает преобразование имени хоста в IP-адрес.
MX-запись — определяет почтовый ретранслятор для доменного имени, т.е. узел, который обработает или передаст дальше почтовые сообщения, предназначенные адресату в указанном домене. При наличии нескольких MX-записей сначала происходит попытка доставить почту на ретранслятор с наименьшим приоритетом.
NS-записи — определяют DNS-серверы, которые являются авторитетными для данной зоны.
CNAME-запись — связывает один домен (псевдоним) с другим (каноническим) именем хоста. Она работает как псевдоним, перенаправляя трафик с одного имени на другое без указания IP-адреса.
SRV-запись — позволяет получить имя для искомой службы, а также протокол, по которому эта служба работает.
TXT-запись — поле свободного текста. Эти записи могут использоваться в любых целях, например, для указания месторасположения хоста. Могут предоставлять механизм проверки, который отделяет законное использование от вредоносной деятельности (напр. отправка поддельных писем txt dkim dmarc spf).
AAAA-запись — задает преобразование имени хоста в IPV6-адрес.
SSHFP-запись — используется для хранения слепка ключей SSH в DNS.
PTR — обратное преобразование IP-адреса в доменное имя. В отличие от A-записи, которая связывает домен с IP-адресом, PTR-запись связывает IP-адрес с доменным именем. Эти записи критически важны для электронной почты, так как используются для проверки подлинности отправителя, помогая бороться со спамом и улучшая доставляемость писем.
Атаки на DNS
Подмена DNS (отравление кэша): подменяется кеш DNS, в результате чего трафик перенаправляется на сторонний IP.
Перехват DNS: подмена DNS-запросов/ответов. В результате трафик также перенаправляется на сторонний IP.
Туннелирование: использует протокол DNS для передачи трафика, не связанного с DNS через порт 53, часто в обход брандмауэров и иных мер безопасности. Может использоваться для утечки данных.
Атака на усиление: отправляются небольшие запросы через поддельный IP-адрес жертвы, представляясь её адресатом. Это побуждает сервер направить целевому серверу большой ответ (DDos).
Захват поддоменов: В основном это происходит, когда поддомен имеет каноническое имя (CNAME) в системе доменных имен (DNS), но хост не предоставляет никакого контента, либо потому что он еще не опубликован, либо потому что он был удален из системы. В любом из этих двух случаев хакер может получить доступ к поддомену через его собственный виртуальный хост и начать размещать на нем вредоносный контент.
Атака на NXDOMAIN: это тип флуд-атаки, которая пытается заставить серверы исчезнуть из Сети путем переполнения (или наводнения) DNS-сервера недействительными или фиктивными запросами записей. Поскольку DNS-сервер тратит время на поиск несуществующих записей, он теряет необходимое время и возможности для поиска настоящих, легитимных записей. В результате кэш DNS-сервера переполняется нелегитимными, поддельными запросами, и клиенты больше не могут получить доступ к настоящим серверам.
"Человек посередине" (MITM): злоумышленник внедряется в канал связи между пользователем и DNS-сервером, чтобы перехватить и подменить DNS-запросы.



