Защита DNS для Windows (часть 1)
DNS — довольно простая служба, но ее защита может привести к поломке всей вашей сетевой инфраструктуры. Несмотря на то, что DNS представляет собой простую базу данных имен и номеров, злоумышленник может в полной мере воспользоваться информацией, полученной при компрометации базы данных. Некоторые атаки могут заключаться в сборе информации из вашей базы данных только для того, чтобы использовать эту информацию против вас, поскольку они строят структуру вашей сети. Другие атаки будут помещать информацию в вашу базу данных, пытаясь заставить ваши DNS-серверы выполнять разрешение имен, которое они обычно не выполняют. Независимо от атаки на вашу DNS-инфраструктуру, вам необходимо принять меры предосторожности, чтобы предотвратить эти атаки, пока не стало слишком поздно.
Основы DNS
DNS, служба доменных имен, — это служба, которая преобразует IP-адреса в имена. Здесь важно понять, о каких именах идет речь. Как видно из названия, DNS хранит информацию, связанную с доменом. Например, Active Directory использует DNS для хранения доменных имен и всех имен компьютеров в сети. Если ваш домен называется policy.org и первым контроллером домена в вашем домене является PDC1, у вас будут записи в DNS, подобные тем, что показаны на рисунке 1.
Рисунок 1: Записи DNS для первых компьютеров в вашем домене Active Directory
Обратите внимание, что на рис. 1 имеется не только запись для PDC1, но и связанный IP-адрес для PDC1 XXXX. Причина, по которой IP-адрес связан с именем, заключается в том, что ваш компьютер и другие службы в сети не используют имена., скорее они используют IP-адреса. Однако, как люди, мы предпочитаем имена IP-адресам. DNS приходит на помощь, разрешая преобразование имен в IP-адреса. DNS также можно настроить с зоной обратного просмотра, которая будет возвращать имена при присвоении IP-адреса.
Защита DNS с помощью Active Directory
Одно из первых решений, которое вам нужно принять, — это тип базы данных DNS, которую вы будете настраивать для поддержки своего домена Active Directory. Вы можете либо хранить информацию в стандартной базе данных DNS, которая будет иметь первичный DNS-сервер с вторичными DNS-серверами, либо настроить базу данных DNS так, чтобы она была интегрирована с Active Directory, как показано на рис. 2.
Рисунок 2. База данных DNS может быть интегрирована с Active Directory
Настоятельно рекомендуется настроить DNS-серверы так, чтобы они были интегрированы с Active Directory, если они поддерживают Windows Active Directory, из-за получаемых вами преимуществ в плане безопасности. Вы также получаете некоторые преимущества избыточности и стабильности от этого типа базы данных DNS, но здесь мы хотим сосредоточиться на аспектах безопасности.
Основное преимущество безопасности, которое вы получаете от базы данных DNS, интегрированной в Active Directory, — это безопасные динамические обновления, как показано на рис. 3. Динамические обновления — это ключевая функция DNS, которая позволяет компьютерам домена автоматически регистрировать свое имя и IP-адрес. с DNS-сервером, когда они входят в сеть или меняют IP-адреса через DHCP-сервер. Эта форма обновления устраняет необходимость ручного ввода имен и IP-адресов в базу данных DNS, как это было раньше. Аспект безопасности вступает в игру, когда вы считаете, что автоматическое обновление от клиента в базе данных DNS может открыть дверь для вредоносной записи. Таким образом, безопасные динамические обновления будут проверять, что компьютер, который запрашивает обновление для DNS-сервера, также имеет запись в базе данных Active Directory. Это означает, что только компьютеры, присоединившиеся к домену Active Directory, могут динамически обновлять базу данных DNS.
Рисунок 3. Базы данных DNS, интегрированные в Active Directory, можно настроить для динамических обновлений безопасности.
DHCP выполняет динамическое обновление
Один из вариантов, который у вас есть в среде Windows, — заставить DHCP выполнять динамическое обновление для клиента. Это не требуется для компьютеров с Windows 2000/XP/Server 2003/Vista, но требуется для компьютеров с Windows NT/9x. В некоторых случаях речь идет не о необходимости, а о желании, чтобы DHCP-сервер выполнял обновление, а не навязывал его клиентским компьютерам.
Предупреждение этой конфигурации заключается в том, что теперь DHCP-серверы являются владельцами записей, что запрещает другим DHCP-серверам или клиенту обновлять запись в будущем. Для решения этой проблемы существует группа DNSUpdateProxy. Чтобы решить эту проблему, добавьте учетные записи DHCP-сервера в эту группу, что приведет к тому, что записи в DNS для клиентов будут иметь ослабленные списки контроля доступа (ACL). Новый ACL будет включать в себя пользователей, прошедших проверку подлинности, чтобы иметь возможность обновлять запись DNS для клиента. Это сделано для того, чтобы другие DHCP-серверы или даже клиент могли обновлять будущие записи в DNS для этого клиента.
Безопасность, позволяющая аутентифицированным пользователям иметь возможность обновлять клиент, не так уж плоха, но может возникнуть еще одна проблема. Если вы установите DHCP на контроллере домена, а затем добавите этот компьютер в группу, результатом будет то, что все записи, сделанные контроллером домена, будут иметь одни и те же смягченные ACL. Поскольку записи для контроллеров домена настолько чувствительны к безопасности и стабильности Active Directory, наличие таких ослабленных записей для этих записей не отвечает интересам безопасности вашей организации. Доступные записи включают все SRV (записи ресурсов службы), которые контролируют, как клиенты и серверы находят службы, связанные с Active Directory, в сети. Это включает в себя Kerberos, сайт, TCP, IP и другие записи SRV.
Следовательно, решение этой проблемы состоит в том, чтобы НЕ устанавливать DHCP на ваших контроллерах домена. Если на ваших контроллерах домена установлен DHCP, рекомендуется не заставлять эти DHCP-серверы выполнять динамические обновления для клиентов. В противном случае вы будете внедрять небезопасные настройки в каждую интро, сделанную для контроллера домена в DNS.
Резюме
Как видите, DNS — это простая, но потенциально сложная служба. Можно было бы подумать, что с задачей преобразования имен в IP-адреса или наоборот будет легко настроить и защитить. Однако есть настройки, которые обеспечат более безопасную и стабильную среду DNS. Во-первых, возможность интеграции базы данных DNS с Active Directory обеспечивает полную совместимость с Active Directory, а также возможность безопасного динамического обновления. Эти безопасные динамические обновления помогают защититься от вредоносных записей в базе данных DNS с компьютеров, не входящих в домен. С помощью этих динамических обновлений вы можете сделать так, чтобы клиент выполнял их от своего имени или чтобы это делал DHCP. Если вы решите использовать DHCP и группу DNSUpdateProxy, вам необходимо убедиться, что эта конфигурация не предоставляет записи вашего контроллера домена в DNS. Простое решение этой проблемы — запретить вашим контроллерам домена выполнять обязанности DHCP.
В следующей статье я расскажу о некоторых подробных настройках, которые вы можете сделать в DNS, чтобы помочь защитить и обезопасить базу данных DNS и службу для вашей сети.