Службы каталогов: LDAP и Active Directory
Разберитесь, как каталоги LDAP и Active Directory организуют пользователей, группы и компьютеры, а также как групповая политика масштабно применяет настройки безопасности.
«Службы каталогов: LDAP и Active Directory» — бесплатный урок Security+ Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Security+ Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Security+ Academy содержит 4 уроков всего.
Что такое службы каталогов
Служба каталогов — это централизованный репозиторий, в котором хранится и организуется Information о сетевых ресурсах: пользователях, группах, компьютерах, принтерах и политиках. Вместо ведения отдельных баз данных пользователей в каждой системе организации используют службу каталогов как единый достоверный источник Information об Identity. Все запросы Authentication проверяются по каталогу, а политики доступа единообразно применяются во всей организации.
LDAP: облегчённый протокол доступа к службе каталогов
LDAP (Lightweight Directory Access Protocol) — стандартный для отрасли протокол для запроса и изменения служб каталогов. LDAP организует записи в иерархическом дереве, называемом Directory Information Tree (DIT), а записи идентифицируются с помощью Distinguished Name (DN). LDAP работает на порту 389 (открытый текст) и порту 636 (LDAPS — LDAP поверх TLS). LDAP — это протокол, а сам каталог представляет собой отдельный продукт.
# LDAP Distinguished Name structure
cn=John Smith,ou=Engineers,dc=corp,dc=example,dc=com
# cn = Common Name (user's name)
# ou = Organizational Unit
# dc = Domain Component
# LDAP search query example
ldapsearch -H ldap://dc.corp.example.com \
-b 'dc=corp,dc=example,dc=com' \
'(sAMAccountName=jsmith)' mail memberOfАрхитектура Active Directory
Active Directory (AD) — корпоративная служба каталогов Microsoft, построенная на LDAP и Kerberos. Она организует ресурсы в Domains, которые объединяются в Trees, а те — в Forests. Контроллер Domain (DC) размещает базу данных AD (NTDS.dit) и обрабатывает Authentication. AD является основой управления Identity в большинстве корпоративных сред Windows.
# Active Directory hierarchy
# Forest: corp.example.com (trust boundary)
# Tree: corp.example.com
# Domain: corp.example.com
# OU: Engineering
# User: jsmith
# Group: Dev-Team
# OU: Finance
# Computer: FIN-PC-01Authentication Kerberos в Active Directory
Active Directory использует Kerberos в качестве протокола Authentication по умолчанию. Процесс основан на выдаче билетов: Client проходит Authentication в Key Distribution Center (KDC) и получает Ticket-Granting Ticket (TGT). Когда пользователю требуется доступ к ресурсу, он предъявляет TGT, чтобы получить Service Ticket для конкретного ресурса. Password никогда не передаются по сети — передаются только зашифрованные билеты. Понимание этой схемы важно для изучения атак, таких как Kerberoasting.
# Kerberos authentication flow (simplified)
# 1. Client -> KDC: Authentication Request (AS-REQ)
# 2. KDC -> Client: Ticket-Granting Ticket (AS-REP)
# 3. Client -> KDC: Service Ticket Request (TGS-REQ) + TGT
# 4. KDC -> Client: Service Ticket (TGS-REP)
# 5. Client -> Server: Access Request + Service Ticket
# 6. Server validates ticket -> Access grantedОбъекты групповой политики (GPOs)
Объекты групповой политики (GPOs) — это механизм AD для одновременного применения параметров Security на тысячах компьютеров. GPOs могут настраивать требования к сложности Password, тайм-ауты блокировки экрана, установку программного обеспечения, правила брандмауэра и параметры реестра. GPOs связываются с контейнерами AD (сайтами, Domains, OU) и применяются ко всем пользователям и компьютерам внутри такого контейнера. По умолчанию параметры GPOs обновляются каждые 90 минут, благодаря чему соответствие требованиям сохраняется даже на компьютерах, настройки которых отклонились от политики.
# Common GPO security settings
# Computer Configuration -> Windows Settings -> Security Settings:
# Password Policy:
# - Minimum password length: 14
# - Password complexity: Enabled
# - Maximum password age: 90 days
# Account Lockout Policy:
# - Lockout threshold: 5 attempts
# - Lockout duration: 30 minutesГруппы Security AD и минимальные привилегии
Active Directory использует группы Security для коллективного управления разрешениями доступа. Вместо назначения разрешений отдельным пользователям администраторы предоставляют разрешения группам и добавляют пользователей в соответствующие группы. Важные встроенные группы, которые необходимо знать для Security+: Domain Admins (полный контроль Domain), Enterprise Admins (контроль на уровне Forest), Schema Admins (изменение схемы AD) и Administrators (локальный администратор компьютера). Членство в этих группах с высоким уровнем привилегий должно строго контролироваться.
Атаки с внедрением LDAP
Внедрение LDAP — аналог SQL-инъекций для служб каталогов. Attacker изменяет LDAP-запрос, вставляя специальные символы (*, (, ), \, NUL) во входные данные пользователя, которые напрямую объединяются с фильтром LDAP. Успешная атака может обойти Authentication, извлечь все записи каталога или изменить Object каталога. Для защиты необходимы проверка входных данных и использование параметризованных API LDAP вместо объединения строк.
# Vulnerable LDAP filter (DO NOT use)
filter = '(uid=' + user_input + ')'
# Attacker input: *)(&
# Result: (uid=*)(&) -- returns ALL users
# Defense: escape special chars before including in filter
# LDAP special chars: ( ) * \ NUL
# Use LDAP library escaping functionsРепликация AD и контроллеры Domain
Организации разворачивают несколько контроллеров Domain для обеспечения избыточности и географического распределения. Репликация AD поддерживает синхронизацию всех DC с помощью Directory Replication Service (DRS). Attacker используют репликацию для атаки DCSync — применяют разрешения репликации, чтобы запросить все хеши Password у DC, фактически не выполняя вход на него. Защита разрешений репликации — важный этап усиления Security AD.
# DCSync attack detection query (PowerShell)
# Detect accounts with dangerous replication permissions:
Get-ObjectAcl -DistinguishedName 'DC=corp,DC=example,DC=com' |
Where-Object { $_.ActiveDirectoryRights -match 'DS-Replication' } |
Select-Object IdentityReference, ActiveDirectoryRightsЗащита LDAP: LDAPS и подписание
Обычный LDAP на порту 389 передаёт данные, включая учётные данные для привязки, в незашифрованном виде, что делает их уязвимыми для перехвата. Организациям следует принудительно использовать LDAPS (LDAP поверх TLS) на порту 636, чтобы шифровать весь трафик каталогов. Кроме того, следует требовать подписывание LDAP и привязку канала, чтобы предотвращать атаки ретрансляции, при которых злоумышленник перехватывает и повторно отправляет сообщения аутентификации LDAP для получения несанкционированного доступа.
# Verify LDAP signing requirement (Windows)
# Registry key:
# HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
# LDAPServerIntegrity = 2 (Require signing)
# Or via GPO:
# Security Settings -> Local Policies -> Security Options
# 'Domain controller: LDAP server signing requirements' = Require signingПоверхность атак AD: распространённые ошибочные настройки
В средах Active Directory ошибочные настройки накапливаются за годы эксплуатации. К распространённым недостаткам безопасности AD относятся: неограниченное делегирование (позволяет выдавать себя за любого пользователя), учётные записи служб, уязвимые для Kerberoasting, со слабыми паролями, цели AS-REP roasting (учётные записи с отключённой предварительной аутентификацией), чрезмерное членство в Domain Admin и ошибочные настройки AdminSDHolder, предоставляющие скрытые повышенные разрешения. Регулярные оценки безопасности AD с использованием таких инструментов, как BloodHound, помогают выявлять эти пути.
LDAP и Active Directory: краткое сравнение
Чтобы прояснить взаимосвязь: LDAP — это протокол, используемый для взаимодействия с каталогами (подобно тому, как HTTP используется для взаимодействия с веб-серверами). Active Directory — это продукт службы каталогов Microsoft, использующий LDAP в качестве протокола доступа. К другим каталогам, совместимым с LDAP, относятся OpenLDAP (с открытым исходным кодом), Oracle Directory Server и Red Hat Directory Server. Все они используют запросы LDAP, но имеют разные интерфейсы управления и дополнительные собственные функции.
Быстрая проверка
Проверьте своё понимание концепций CompTIA Security+ (SY0-701) из этого урока.
Итоги урока
В этом уроке Вы узнали, что LDAP — это протокол для отправки запросов к службам каталогов с использованием отличительных имён в иерархическом дереве, Active Directory использует Kerberos для аутентификации, а GPO — для применения параметров безопасности во всех доменах, а также что следует требовать LDAPS на порту 636 и подписывание LDAP, чтобы предотвращать перехват и атаки ретрансляции. Далее мы рассмотрим управление привилегированным доступом (PAM).
Часто задаваемые вопросы
Урок «Службы каталогов: LDAP и Active Directory» бесплатный?
Да — полный текст урока «Службы каталогов: LDAP и Active Directory» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Security+ Academy, подпишись на CoddyKit PRO. Курс Security+ Academy содержит 4 уроков всего.
Чему я научусь в уроке «Службы каталогов: LDAP и Active Directory»?
Разберитесь, как каталоги LDAP и Active Directory организуют пользователей, группы и компьютеры, а также как групповая политика масштабно применяет настройки безопасности. Ты практикуешь Security+ Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Security+ Academy?
Предыдущий опыт не требуется. Security+ Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Службы каталогов: LDAP и Active Directory»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Security+ Academy?
Да. Каждый урок Security+ Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Службы каталогов: LDAP и Active Directory
- Управление привилегированным доступом (PAM)
- Управление идентификацией и предоставление доступа
- Доступ по запросу и политики условного доступа