Вопрос или проблема
Безопасная конфигурация DNS-сервера Active Directory: ошибка или приемлемая практика?
Я работаю программистом в крупном восточноевропейском банке.
Недавно я настраивал веб-сайт для документации своей команды. Мы придумали имя хоста, и теперь нам нужно было выбрать наиболее подходящую зону для него и отправить запрос в команду ИТ-поддержки на создание новой записи DNS.
Итак, я запустил PowerShell и загрузил модуль DnsServer, чтобы перечислить доступные DNS зоны (я не знал на тот момент, что обычные пользователи вообще не могут перечислять ничего на DNS-сервере AD. Доступ ДОЛЖЕН быть отключен по умолчанию).
Команда Get-DnsServerZone быстро перечислила все доступные зоны. Я выбрал одну, а чтобы убедиться, что в этой зоне нет схожих имен хостов, также выполнил команду Get-DnsServerResourceRecord. Все сработало отлично.
Пока я этим занимался, из любопытства, я решил ознакомиться с командами «Add-*»: Add-DnsServerResourceRecordA, Add-DnsServerResourceRecordCName и т.д. Я не ожидал, что они вообще сработают, но, к моему большому удивлению, команды не выдали ошибок – они завершились успешно!!!
Я проверил созданные записи с помощью Get-DnsServerResourceRecord и nslookup. Также выполнил те же команды, используя учетную запись неимущего технического пользователя (которая принадлежит только группе DOMAIN\Users
и больше никому) и получил тот же результат: записи DNS были успешно добавлены. Похоже, что любой аутентифицированный пользователь может создавать записи DNS. Это кажется неправильным.
Вопрос:
Это приемлемая практика или недостаток безопасности? Стоит ли мне сообщить об этом?
(Я еще не сообщил об этом, потому что это связано с большой бюрократией. Также я не хочу привлекать ненужное внимание. У нас здесь довольно нездоровая культура и нарушенная коммуникация – в конце концов, это банк).
Об этом определенно следует сообщить вашему CSO и/или его/ее команде.
Кроме того, что вы можете добавлять записи DNS, есть хорошие шансы, что вы можете выполнять и другие команды для изменения конфигурации DNS. Из моего опыта, лучше быстро сообщить о таких находках.
Если сетевые администраторы зададут вопрос о внесенных вами изменениях, они, скорее всего, смогут отследить их до вас. Если вы не сообщили им об этом инциденте вовремя (или даже в приемлемые сроки), это поставит вас в гораздо худшее положение, чем если бы вы сообщили о проблеме с самого начала.
Аутентифицированные пользователи по умолчанию имеют разрешение на создание дочерних объектов. Удаление этого нарушает ddns.
Все вновь созданные интегрированные зоны DNS Active Directory по умолчанию включают следующую запись в своем DACL, по крайней мере до Windows Server 2022:
Principal: Authenticated Users (S-1-5-11)
Access: Create all child objects
Обе NetSPI и GoSecure отметили, что это представляет собой потенциальную уязвимость – любой пользователь в домене/лесу может добавить и контролировать новую запись DNS (при условии, что она еще не существует) с произвольным именем, включая новую запись wildcard, используя простой LDAP-запрос или запрос динамического обновления DNS.
Это можно смягчить удалением указанного выше DACL; однако это не поддерживаемая конфигурация, поэтому могут возникнуть проблемы. В частности, если вам нужно, чтобы безопасные динамические обновления работали (например, для присоединения к домену Active Directory), вы, вероятно, также должны рассмотреть возможность добавления следующих записей разрешения:
Principal: <DOMAINNAME>\Domain Computers
Access: Create all child objects
Principal: <DOMAINNAME>\Read-only Domain Controllers
Access: Create all child objects
Ответ или решение
Конечно, давайте обсудим вашу ситуацию и предложить конструктивный подход к этому вопросу.
Вопрос о конфигурации безопасности DNS-сервера Active Directory
Ситуация, которую вы описываете, действительно вызывает серьезные опасения и может считаться не только небезопасной конфигурацией, но и потенциальной уязвимостью в системе безопасности вашего банка. Здесь несколько ключевых моментов, которые следует учитывать:
-
Стандартные права доступа:
В стандартной конфигурации Active Directory (по умолчанию) все аутентифицированные пользователи могут создавать DNS-записи благодаря настройкам DACL (Access Control List). Это связано с тем, что в новых интегрированных зонах DNS все пользователи в домене по умолчанию получают разрешение на создание дочерних объектов. Это действительно позволяет любому аутентифицированному пользователю в системе добавлять новые записи DNS. -
Риски безопасности:
Возможность создания произвольных DNS-записей может привести не только к непреднамеренным ошибкам (например, дублирование или конфликт имен), но также к злоупотреблениям со стороны пользователей, которые могут создать поддельные или вредоносные записи. Это может привести к атакам, таким как спуфинг, и потенциальным утечкам информации. -
Рекомендуемые действия:
Исходя из вышеописанных факторов, я бы очень рекомендовала сообщить о данной проблеме вашему директору по безопасности (CSO) или его команде. Несмотря на то, что у вас могут быть опасения по поводу бюрократии и внутренней культуры, сообщение о найденной уязвимости показывает вашу ответственность и приверженность соблюдению стандартов безопасности. Это позволит успешно устранить проблему до того, как она станет известна другим, и может спасти организацию от потенциальных последствий. - Реализация более безопасной конфигурации:
Если это возможно, вы можете предложить пути решения проблемы, например:- Изменить разрешения на создание DNS-записей так, чтобы только определенные группы пользователей (например, администраторы или службы) могли это делать.
- Рассмотреть возможность внедрения дополнительных проверок для обеспечения безопасности динамических обновлений DNS, что также поможет предотвратить несанкционированный доступ.
Заключение
Вы выявили важную проблему с конфигурацией безопасности, которая может значительно снизить уровень защиты вашей организации. Деятельность, направленная на улучшение этих настроек безопасности, может включать в себя повышение уровня ограничений на создание DNS-записей и улучшение контроля доступа. Необязательно привлекать ненужное внимание к себе; важно сосредоточиться на том, чтобы сделать вашу организацию более безопасной.