Обеспечение доступности DNS-сервера является важной частью защиты веб-сервиса. Если злоумышленник сделает недоступным DNS-сервер, для большинства пользователей это может означать недоступность сайта или неработоспособность приложения, обращающегося к вашему домену. Кроме того, информация о недоступности DNS-сервера обычно на некоторое время сохраняется в кеше на устройстве пользователя или на используемом им рекурсивном DNS-сервере, таком как Google Public DNS или рекурсивный DNS-сервер интернет-провайдера. Из-за этого пользователи могут продолжать испытывать проблемы с доступом к вашему сайту даже после того, как атака на DNS-сервер прекращена.
Чтобы защититься от атак на DNS-сервер, можно использовать защищённый DNS-сервер от Curator. Ниже приведены общий принцип работы данной услуги и описания двух возможных режимов работы: режима вторичного DNS-сервера и режима проксирующего DNS-сервера.
Инструкция по подключению услуги находится в статье Подключение: Защищённый DNS-сервер.
Принцип работы
Атака на DNS-сервер обычно представляет собой большое количество одновременных запросов к нему. Злоумышленник рассчитывает, что поскольку расходы на обработку DNS-запроса превышают расходы на его создание, атакуемый DNS-сервер либо существенно замедлится, либо полностью перестанет обрабатывать запросы от легитимных пользователей. DNS-серверы Curator могут сохранять работоспособность во время атак благодаря большой пропускной способности сети Curator, в которой они расположены.
При первичной настройке услуги клиент указывает DNS-сервер Curator в качестве авторитативного сервера своей DNS-зоны (см. Подключение: Защищённый DNS-сервер). Таким образом, пользователь делает запросы не к DNS-серверу клиента, а к одному из DNS-серверов Curator. Эти серверы транслируют данные, полученные от DNS-сервера клиента одним из двух способов:
- путём передачи DNS-зоны (см. Режим вторичного DNS-сервера)
- путём проксирования DNS-ответов (см. Режим проксирующего DNS-сервера)
Важно
Вне зависимости от выбранного режима работы рекомендуется выполнить переключение на защищённый DNS-сервер Curator заранее, не дожидаясь возможной атаки.
Смена DNS-сервера, начатая во время атаки, зачастую не может быстро минимизировать ущерб, поскольку и пользователи, и рекурсивные DNS-серверы продолжают попытки обращаться к прежнему DNS-серверу до истечения времени жизни кеша.
Режим вторичного DNS-сервера
Данный режим предполагает использование стандартного механизма передачи зоны (zone transfer), при котором DNS-сервер клиента является первичным (primary), а DNS-сервер Curator — вторичным (secondary). Механизмы взаимодействия между первичным и вторичным DNS-серверами описаны в RFC 1996 и RFC 5936.
DNS-сервер Curator запрашивает у первичного сервера полную информацию о зоне, включая запись SOA (start of authority), и отвечает на запросы пользователей в соответствии с полученной информацией.
По умолчанию повторное обращение к первичному серверу происходит по истечении периода, указанного в поле refresh записи SOA. Также первичный сервер может отправить DNS-серверу Curator запрос notify, в этом случае DNS-сервер Curator запрашивает полную информацию о зоне от DNS-сервера клиента немедленно.
Если сервер клиента оказывается недоступен, то DNS-сервер Curator продолжает использовать данные, полученные при последнем успешном обновлениии.
Режим проксирующего DNS-сервера
В этом режиме DNS-серверы клиента и Curator не вступают в отношения первичного и вторичного сервера и взаимодействуют без авторизации. Получив новый запрос от пользователя, проксирующий сервер в неизменном виде перенаправляет его к серверу клиента. Если сервер клиента отвечает на запрос, то этот ответ перенаправляется пользователю, а также сохраняется в кеш.
По умолчанию срок действия кеша для негативного ответа (ответа об отсутствии искомой записи) считается равным 600 секундам (10 минутам), а для положительного ответа определяется параметром TTL в ответе сервера клиента. В течение этого времени все пользователи, которые делают в точности такой же запрос к DNS-серверу Curator, получают ответ из кеша. После истечения TTL запросы снова перенаправляются к серверу клиента, чтобы обновить кеш. Если при очередном обновлении сервер клиента оказывается недоступен, то DNS-сервер Curator продолжает использовать данные из кеша.
Таким образом, в обычное время проксирующий DNS-сервер Curator снижает нагрузку на DNS-сервер клиента благодаря использованию кеша, а в непредвиденных ситуациях не позволяет временной недоступности DNS-сервера клиента повлечь распространение негативного кеша по другим DNS-серверам.
Возможность принудительного обновления кеша до истечения TTL при использовании данного режима отсутствует.