LDAP - это интернет-протокол, который используется для поиска данных с сервера, этот протокол используется для хранения, а также для извлечения информации из иерархической структуры каталогов. LDAP также следует модели данных, которая имеет иерархический тип. Говоря простым языком, мы можем сказать, что это иерархическая база данных, в которой данные хранятся в древовидной структуре, где конечный узел содержит фактические данные.
LDAP никогда не определяет, как программа функционирует ни на клиенте, ни на сервере, но объясняет больше о типе сообщений, которые будут использоваться для связи между клиентом и сервером. Сообщение может быть запрошенной клиентом информацией, ответом сервера и форматом данных. Эти сообщения передаются по протоколу TCP / IP. Таким образом, должна существовать некоторая операция, которая установит соединение сеанса и отключит его после завершения операции между клиентом и сервером. LDAP может использоваться в случае, когда требуется большое количество операций чтения и меньшее количество операций записи. Например, аутентификация пользователя, поскольку мы знаем, что имя пользователя и пароль меняются не так часто.
Процесс работы с LDAP
Чтобы начать связь, клиент должен создать сеанс с сервером. Этот процесс называется обязательным. Чтобы привязаться к серверу, клиент должен указать IP-адрес или имя хоста и номер порта TCP / IP, на котором находится сервер. Клиент также может предоставить учетные данные, такие как имя пользователя и пароль, чтобы обеспечить правильную аутентификацию на сервере. В качестве альтернативы клиент также может создать анонимный сеанс с использованием прав доступа по умолчанию. Или обе стороны могут установить сеанс, который использует более строгие процессы безопасности, такие как шифрование данных.
Как только сеанс установлен, клиент затем выполняет свою предполагаемую операцию над данными каталога. В LDAP информация о каталогах может управляться и запрашиваться, поскольку она обеспечивает возможности чтения и обновления.
Клиент закрывает сессию, когда он закончил делать запрос. Этот процесс называется unbinding.
Режимы LDAP
LDAP в основном опирается на модели данных, такие как
Информационная модель
Каталог включает в себя базовую единицу информации и называется записью, которая представляет собой объект реального мира, такой как серверы, люди и так далее. Записи включают в себя набор атрибутов, которые определяют информацию об объекте. Каждый атрибут включает тип, связанный с синтаксисом, и одно или несколько значений. Следующая диаграмма иллюстрирует взаимосвязь между записью и ее атрибутами, а также их типом и значением:
Наименование модели
Модель именования LDAP обозначает, как записи распознаются и организуются. В LDAP записи организованы в иерархическую или древовидную структуру, называемую DIT (информационное дерево каталога). Записи упорядочены в DIT в соответствии с их DN (различимым именем), уникальным именем, которое четко идентифицирует одну запись.
Функциональная модель
LDAP определяет операции, запрошенные клиентом, и может быть разделен на три категории. Это:
1. Query which is used to fetch information from a directory. Include operations like search and compare.
2. Update which is used to update the information stored in the directory. Include operations like add, modify and delete.
3. Authentication which is used to connect and disconnect with a server, create access rights and preserve information. Include operations like bind, unbind and abandon.
Модель безопасности
In LDAP, the security model relies on the bind operation. Three different bind operations are possible according to the security mechanisms applied. They are:
Без аутентификации
Самый простой метод, но его можно применять только в том случае, если безопасность данных не является проблемой и не запутаны права доступа. Например, каталог включает в себя адресную книгу, которая может быть просмотрена кем угодно. Если пользователь оставил поле DN и пароль пустым во время вызова API связывания, сервер автоматически примет сеанс анонимного пользователя и предоставит доступ вместе с соответствующими элементами управления доступом, описанными для этого типа доступа.
Базовая аутентификация
Базовая аутентификация - это альтернативный простой механизм безопасности, используемый в LDAP, и он применяется в нескольких других веб-ориентированных протоколах, например HTTP. При таком подходе клиент должен аутентифицировать себя на сервере LDAP путем ввода пароля и DN, которые передаются в виде открытого текста по сети. С другой стороны, сервер сравнивает DN и пароль с записями в каталоге. И предоставляет доступ, если пароль совпадает. Кроме того, пароли в текстовом формате не могут гарантировать конфиденциальность; следовательно, может привести к разглашению пароля посторонним лицам.
SASL (простой уровень аутентификации и безопасности)
Эта структура была добавлена в LDAP V3, которая добавляет дополнительный метод аутентификации в протоколы с установлением соединения. Этот механизм определяет протокол запроса и ответа, где клиент и сервер обмениваются некоторыми данными, чтобы обеспечить аутентификацию и установить уровень безопасности, на котором будет осуществляться последующий обмен данными. С помощью SASL протокол LDAP может поддерживать любой тип аутентификации, одобренный клиентом LDAP и сервером LDAP.