Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Инфраструктура Открытого Ключа (часть 2)
LDAP – Lightweight Directory Access Protocol
Введение в LDAP
История LDAP
CCITT (Consultative Committee for International Telegraphy and Telephony) разработал серию рекомендаций для создания так называемого сервиса Директории или Каталога. Каталог является сервером или распределенным набором серверов, которые поддерживают распределенную базу данных, содержащую информацию о различных субъектах, таких как пользователи, устройства и т.п. Эта распределенная база данных называется Информационной Базой Каталога (Directory Information Base – DIB). Информация включает имя субъекта, а также различные атрибуты, характеризующие этот субъект. Данные рекомендации носят название стандарта Х.500. Первоначально LDAP начал развиваться как программный продукт переднего плана (front end) для Каталога Х.500.
LDAP предоставляет большинство возможностей Х.500 при существенно меньшей стоимости реализации. Например, удалены избыточные и редко используемые операции. LDAP, в отличие от Х.500, использует стек ТСР, а не OSI.
Следует заметить, что базовые операции протокола могут быть отображены на подмножество сервисов Каталога Х.500. Однако не существует отображения один-к-одному между операциями протокола LDAP и операциями протокола DAP (Directory Access Protocol) стандарта Х.500.
Первая реализация LDAP написана в Мичиганском университете. Большинство ранних реализаций LDAP основано на ней.
Что такое LDAP
LDAP (Lightweight Directory Access Protocol) – это протокол, который используется для доступа к информации, хранящейся на распределенных в сети серверах.
Эта информация представляет собой данные, хранящиеся в атрибутах. При этом предполагается, что такие данные чаще читаются, чем модифицируются. LDAP основан на клиент-серверной модели взаимодействия.
Общая модель данного протокола состоит в том, что клиент выполняет операции протокола на серверах. Клиент передает запрос, описывающий операцию, которая должна быть выполнена сервером. Сервер выполняет необходимые операции в Каталоге. После завершения операции (операций) сервер возвращает клиенту ответ, содержащий результаты или ошибки.
Заметим, что хотя требуется, чтобы серверы возвращали ответы всякий раз, когда такие ответы определены в протоколе, не существует требования синхронного поведения клиентов или серверов. Запросы и ответы для нескольких операций могут пересылаться между клиентом и сервером в любом порядке, однако клиенты должны получить ответ на каждый свой запрос.
Информация на сервере LDAP представляет собой совокупность записей, которые содержат набор атрибутов и сгруппированы в древовидную иерархическую структуру.
Запись идентифицируется глобально уникальным именем ( Distinguished Name – DN ) – подобно имени домена в структуре DNS.
Каталог является специализированной базой данных, которая может использоваться в повседневной жизни – телефонная книга, программа передач и т.п. Предполагается, что данные Каталога достаточно статичны. Классическим примером подобной специализированной базы данных является сервис DNS.
Преимущества LDAP
Основные причины роста популярности LDAP связаны с тем, что:
- LDAP имеет стандартную схему хранения информации в отличие от реляционных баз данных, когда в каждом случае определяется своя схема хранения в терминах таблиц и столбцов. Поэтому в LDAP нет специфичного для каждого Каталога и для каждого приложения управления – нет так называемой "проблемы N+1 Каталога". Для всех серверов LDAP используется единая схема хранения, единый способ именования хранимых объектов и единый протокол доступа.
- LDAP позволяет быстро отыскивать необходимые данные, поскольку ориентирован в большей степени на чтение и поиск информации, чем на модификацию.
- LDAP не обязательно должен быть ограничен конкретным сервером, есть возможность организовывать распределенные системы из нескольких серверов. В LDAP предусмотрена возможность создавать ссылки между различными серверами LDAP, что обеспечивает возможность поиска сразу на нескольких серверах LDAP.
- Как протокол LDAP, так и структура Каталога LDAP организованы в соответствии со стандартами, в результате чего можно единообразно использовать реализации LDAP различных производителей.
- Еще одно важное назначение LDAP – хранение всей информации, относящейся к PKI, а именно сертификатов, CRL и т.п.
LDAP vs базы данных
Сравним два наиболее популярных на сегодня способа хранения информации, реляционные базы данных и серверы LDAP, по следующим характеристикам:
- Соотношение чтение-запись – LDAP, в отличие от реляционных баз данных, оптимизирован для чтения.
- Расширяемость – схемы LDAP легче изменить в процессе функционирования, чем схемы баз данных.
- Распределенность – данные LDAP могут располагаться на нескольких серверах, поиск на которых может осуществляться с использованием одной команды. В результате можно создавать конфигурации серверов LDAP, оптимально расположенные в зависимости от того, где требуется та или иная информация, одновременно обеспечивая возможность поиска всей информации, хранящейся на всех серверах LDAP. Тем самым достигается более высокая степень распределенности по сравнению с реляционными базами данных.
- Репликация – данные LDAP могут храниться на нескольких серверах, при этом существует возможность использования различных способов синхронизации информации.
- Применение данных – LDAP разработан для возможности использования хранимых данных разными приложениями, базы данных разрабатываются для одного приложения.
- Сложность взаимосвязей между объектами – объекты баз данных имеют более сложные взаимосвязи, чем записи LDAP.
- Транзакции – в LDAP транзакции проще, обычно изменяется одна запись, транзакции в базах данных более сложные.
- Тип хранимой информации – LDAP хранит информацию в атрибутах.
- Способ именования – LDAP представляет собой иерархию. Имя объекта определяется путем в дереве иерархии, аналогично именованию файлов в обычных файловых системах.
- Схемы – схемы реляционных баз данных полностью определяются разработчиком соответствующей базы данных, LDAP имеет стандартные схемы, включая схему ядра (core), общую для любого Каталога. Этим достигается большая интероперабельность по сравнению с базами данных.
- Стандарты – использование стандартных схем хранения информации и стандартного протокола доступа является преимуществом LDAP по сравнению с базами данных, так как в этом случае клиенты LDAP могут общаться с любым сервером LDAP, а клиенты баз данных могут взаимодействовать только с базой данных, для которой они разработаны.
- Возможность отката при неудачных операциях – реляционные базы данных имеют более гибкие возможности отката, следовательно, они больше подходят для модификации информации, чем LDAP. Для динамических объектов возможностей LDAP недостаточно.
Принципы развертывания серверов LDAP
При развертывании серверов LDAP необходимо выполнить следующие задачи:
- решить, что должно храниться в Каталоге. Необходимо четко понимать, какие приложения будут работать с данными.
- определить структуру данных в Каталоге и установить их взаимосвязи.
- разработать схему Каталога с учетом требований приложений.
- определить пространство имен.
- определить топологию размещения серверов.
- определить требуемые репликации, гарантируя, что данные будут доступны везде, где они необходимы.
- определить оптимальный уровень безопасности с учетом конкретных требований безопасности.