Что такое облегченный протокол доступа к каталогам (LDAP)?

Облегченный протокол доступа к каталогам (LDAP) — это открытый, независимый от поставщика протокол, который приложения используют для доступа к информации в каталогах и управления ею по сети. Каталог — это централизованное хранилище данных о пользователях, группах и устройствах организации, а LDAP чаще всего используется для аутентификации пользователей с использованием данных этого каталога. LDAP работает в фоновом режиме, когда пользователи входят в рабочую учетную запись электронной почты, VPN или внутреннее корпоративное приложение с помощью имени пользователя и пароля. Вместо того чтобы каждое приложение вело собственный список пользователей, LDAP позволяет нескольким приложениям проверять учетные данные по единому централизованному каталогу, что делает его одной из базовых технологий для входа в корпоративные системы.

LDAP был разработан как более простая и эффективная альтернатива протоколу доступа к каталогам (DAP) — более раннему и ресурсоемкому протоколу доступа из стандарта каталогов X.500. LDAP сохранил основную концепцию структурированного каталога, но устранил сложности реализации и избыточные затраты ресурсов, благодаря чему его стало значительно проще внедрять.

LDAP и Active Directory

Хотя LDAP и Active Directory нередко считают конкурирующими альтернативами, на самом деле это совершенно разные вещи. LDAP — это стандартный набор правил, своего рода общий язык, для доступа к информации в каталогах и управления ею. Сам по себе LDAP не хранит никаких данных; это протокол, который приложения используют для взаимодействия с каталогом.

Active Directory (AD) — это служба каталогов Microsoft для хранения информации о пользователях, группах и устройствах в сети и управления ею. LDAP — один из протоколов, которые Active Directory использует, чтобы приложения могли считывать данные из каталога и записывать их в него. Проще говоря, LDAP — это язык, на котором может общаться Active Directory. Поскольку LDAP является открытым стандартом, не зависящим от конкретного поставщика, его поддерживают различные продукты и службы каталогов, включая OpenLDAP, JumpCloud и Oracle Internet Directory. Приложения могут использовать один и тот же протокол независимо от того, какую службу каталогов выбрала организация. Такая гибкость — одна из основных причин широкого распространения LDAP.

Как работает LDAP?

LDAP использует модель «клиент–сервер»: клиентом выступает приложение, которому необходима информация из каталога (например экран входа или почтовая программа), а сервером — сам каталог. При типичном взаимодействии с каталогом LDAP клиент отправляет запрос, LDAP-сервер обрабатывает его с использованием данных каталога, а затем возвращает ответ. Чтобы понять, как устроен каталог, полезно разобраться, какие данные в нем могут храниться:

  • Запись: отдельная запись в каталоге. Обычно такая запись представляет один объект, например человека, группу или устройство.
  • Атрибуты: отдельные данные, связанные с записью, например имя, адрес электронной почты, номер телефона или подразделение. У каждого атрибута есть тип и значение.
  • Уникальное имя (DN): уникальный «адрес», который идентифицирует запись в каталоге; две записи не могут иметь одинаковый DN. DN записывается в виде пути, сформированного из имени записи и категорий, к которым она относится, и точно указывает каталогу, где находится эта запись.

Записи организованы в иерархию, которая называется деревом информации каталога (Directory Information Tree, DIT). Как и организационная структура компании, DIT разветвляется от общего корня к более узким категориям, например подразделениям, а затем к отдельным записям, таким как пользователи. Благодаря такой древовидной структуре DN можно читать как путь: DN каждого пользователя показывает маршрут от вершины дерева до его записи.

Распространенные варианты использования LDAP

Почти все варианты использования LDAP основаны на одной основной идее: несколько приложений могут использовать единый централизованный источник достоверных данных о пользователях и ресурсах вместо того, чтобы каждое приложение хранило собственные данные. Ниже перечислены наиболее распространенные способы использования LDAP в организациях.

Аутентификация и авторизация

Основной сценарий использования LDAP охватывает как аутентификацию, так и авторизацию. Аутентификация — это проверка личности пользователя, которая выполняется с помощью операции привязки LDAP (LDAP bind): приложение передает идентификатор пользователя и пароль, а каталог подтверждает или отклоняет их. Авторизация определяет, какие действия разрешены аутентифицированному пользователю. Каталоги LDAP объединяют пользователей в группы, а приложения проверяют членство в этих группах, чтобы предоставить или запретить доступ. Например, только участники группы «HR» могут вносить изменения в системе расчета заработной платы.

Централизованное управление пользователями

Традиционно каждое приложение хранило собственный список пользователей и паролей. Раньше при приеме нового сотрудника приходилось поочередно создавать учетные записи во множестве систем, а при его увольнении — находить и отключать каждую такую учетную запись. Если хотя бы одна из них оставалась активной, это создавало реальный риск для безопасности. При использовании LDAP существует единый каталог, через который выполняется аутентификация во всех приложениях. В результате ускоряется подключение новых сотрудников, упрощается отключение увольняющихся сотрудников, обеспечивается единообразие политик паролей и появляется централизованное место для аудита прав доступа.

Основа единого входа (SSO)

Поскольку все приложения могут использовать один и тот же каталог, LDAP создает основу для единого входа (SSO), при котором один набор учетных данных используется в разных системах. При этом важно уточнить, что LDAP является основой для SSO, а не самим SSO. Полноценный SSO, при котором пользователь входит один раз и затем переходит между приложениями без повторного ввода пароля, обычно использует дополнительные протоколы, однако в качестве общего источника данных об удостоверениях пользователей часто выступает каталог LDAP.

Поиск контактов

Поскольку в каталоге хранятся сведения о людях и их атрибутах, приложения могут обращаться к нему как к единой корпоративной адресной книге. Например, почтовый клиент может автоматически дополнять адрес коллеги, когда пользователь начинает вводить его имя, а поиск по «справочнику сотрудников» во внутреннем инструменте — возвращать сведения о нужном сотруднике. Здесь LDAP работает именно так, как и задумывалось: каталоги оптимизированы для операций чтения и рассчитаны на большое количество быстрых запросов, поэтому хорошо подходят для такого поиска.

Хранение конфигурационной информации

Помимо сведений о людях, в каталоге могут храниться записи о ресурсах оборудования, включая сетевые принтеры, серверы и устройства общего доступа. Благодаря этому приложения и пользователи могут находить такие ресурсы и подключаться к ним из одного централизованного места, а не настраивать каждый из них вручную. Например, рабочая станция может найти ближайший принтер через каталог, а система — получить параметры устройства при запуске. Хотя это менее распространенный вариант использования, он хорошо показывает гибкость LDAP.

Порты LDAP и безопасность

По умолчанию LDAP взаимодействует через порт 389, который является стандартным портом для трафика LDAP. Однако сам по себе LDAP не использует шифрование, поэтому данные передаются в открытом виде. Любой, кто сможет перехватить этот трафик, сможет прочитать его содержимое, включая конфиденциальные данные, например имена пользователей и пароли. Для протокола, который так часто используется при входе в системы, это представляет серьезный риск, поэтому настоятельно рекомендуется использовать шифрование. Ниже приведены два наиболее распространенных способа защиты LDAP:

  • LDAPS использует порт 636. В этом случае соединение шифруется сразу после установления, поэтому трафик защищен на протяжении всего сеанса. Буква S означает secure («защищенный»), как и в HTTPS.
  • StartTLS работает через стандартный порт 389. Вместо использования отдельного защищенного порта соединение сначала устанавливается как обычное LDAP-соединение, а затем с помощью TLS переводится в зашифрованный режим. Итог аналогичен LDAPS, но защищенное соединение согласовывается через тот же порт, а не через отдельный выделенный порт.

Главное, что следует учитывать: обычный LDAP через порт 389 сам по себе не обеспечивает никакой защиты. Шифрование следует считать обязательным — независимо от того, используется LDAPS через порт 636 или StartTLS через порт 389.

Преимущества и недостатки LDAP

Сильные стороны LDAP объясняют, почему этот протокол уже много лет остается одной из ключевых технологий управления корпоративными удостоверениями, а его ограничения показывают, в каких случаях ему требуются дополнительные инструменты или когда он не является оптимальным решением.

Преимущества LDAPНедостатки LDAP
Преимущества LDAP
  • Открытый стандарт — широко поддерживаемый стандарт, а не проприетарная технология, благодаря чему приложения работают единообразно, а организации получают больше гибкости
  • Независимость от поставщика — работает с различными продуктами служб каталогов, поэтому организации могут выбирать или менять используемый каталог, не переписывая механизм подключения приложений
  • Масштабируемость — LDAP оптимизирован для большого количества запросов, поэтому производительность сохраняется по мере роста числа пользователей и объема запросов
  • Централизованное управление удостоверениями — позволяет множеству приложений использовать один каталог как единый источник достоверных данных
Недостатки LDAP
  • Передача данных в открытом виде по умолчанию — стандартный LDAP через порт 389 не использует шифрование, поэтому для обеспечения безопасности необходимо отдельно включать TLS с помощью LDAPS или StartTLS
  • Меньше подходит для рабочих нагрузок с большим количеством операций записи — каталоги оптимизированы преимущественно для чтения, поэтому для приложений, которым требуется часто обновлять данные, традиционная база данных обычно подходит лучше
  • Сложность конфигурации — определение древовидной структуры и правил доступа может требовать специализированных знаний как при первоначальной настройке, так и при дальнейшем сопровождении

Отказаться от согласия с использованием cookie-файловМы ценим вашу конфиденциальность

Мы используем файлы cookie на нашем веб-сайте, чтобы предоставить вам наилучшие возможности при просмотре веб-страниц, предоставлять персонализированную рекламу наших продуктов и контента, а также анализировать трафик веб-сайта. Чтобы узнать больше, ознакомьтесь с нашей Политикой конфиденциальности.

Подпишитесь на бесплатный пробный период

Купить сейчас