Ldap

Содержание:

Содержание статьи

Эта статья состоит из следующих разделов:

  • : общие инструкции по подключению LDAP-клиентов, не упомянутых в этой статье.
  • : инструкции по подключению к сервису Secure LDAP некоторых LDAP-клиентов, например Atlassian Jira и OpenVPN. Последовательность действий зависит от типа клиента.
  • : общие инструкции для приложений на базе Java с функциями LDAP.
  • : инструкции с дополнительной информацией о подключении LDAP-клиентов, не поддерживающих цифровые сертификаты.

В приведенных ниже инструкциях подразумевается, что файл ключа имеет название ldap-client.key, а файл сертификата – ldap-client.crt.

пример

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

  • DN = отличительное имя. Это означает, в какой части базы данных вы работаете. Может быть пользователем или группой (или даже настройками конфигурации).
  • Запись: объект, например пользователь.
  • Атрибут: что-то внутри записи, например имя, номер телефона и адрес электронной почты.

соединительный

Сначала мы определяем следующее:

Теперь мы связаны. Следующее, что мы хотим, это дать серверу знать, что мы заслуживающий доверия человек. Самым простым решением является использование корневого DN или существующего пользователя с надлежащими разрешениями для просмотра базы данных (возможно, каждый пользователь в базе данных может это сделать по умолчанию). Мы выполняем аутентификацию с помощью функции bind.

Настройка параметров

Во-первых, мы объявляем эти параметры. В зависимости от конфигурации вашего сервера вы можете оставить это.

переплет

Предположим, вы используете admin и пароль pass123notsafe

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

поиск

Представьте, что мы хотим отобразить всех членов группы «пользователи».

Вы можете использовать петли foreach для отображения данных в хорошем виде.

Хорошо, понял? Теперь приступим к некоторой фильтрации. Мы хотим отображать только пользователей в группе «bikeowners», которые зарегистрировали адрес электронной почты

Важно знать, что все пользователи находятся в cn = users. Кроме того, они также могут быть членами других групп

И теперь переходите к снова.

Эффективность в получении записей

Пример, в котором эффективность рассматривается, становится все более важной с большими базами данных с большим количеством атрибутов на запись. Особенно, когда вы храните изображения в атрибуте jpegphoto, это может значительно сократить время загрузки, когда вы выборочно извлекаете свои записи

Представьте, что мы хотим искать пользователей, которые находятся в группе «bikeowners». Внутри этих записей хранится много информации, скажем, они имеют следующие атрибуты: cn, uid, name, displayname, mail, initials, mobile, telephonenumber, street, postaladdress, postalcode и jpegphoto. Теперь нам нужны только их uid, имя и инициалы.

Для этого мы используем необязательный 4-й параметр ldap_search:

И вуаля, запускающая , даст вам только эти данные.

Расширенная фильтрация

Конечно, вы можете вытащить всю базу данных с помощью LDAP и обработать это в PHP. Однако, как и в случае с MySQL, гораздо эффективнее выполнять обработку на стороне сервера. Чтобы продемонстрировать это, мы можем использовать расширенный фильтр.

В качестве отправной точки возьмите один из приведенных выше примеров, но измените фильтр $ в соответствии с приведенной ниже строкой. В нашем примере мы хотим отображать данные активных пользователей. Обычно для хранения этой информации используется атрибут . Однако это может различаться между различными системами LDAP. Мы не только хотим отображать активных пользователей, но и их имя должно начинаться с «а», и они должны жить в Амстердаме.

В принципе, мы хотим сделать три вещи:

  1. Самый простой: должен жить в Амстердаме. В этом примере место жительства хранится в атрибуте ‘postaladdress’
  1. Имя должно начинаться с символа «a». В этом примере UID состоит из имени, поэтому:
  1. Пользователь должен быть активным. Это значение сохраняется в атрибуте по умолчанию со значением . В зависимости от конфигурации вашего сервера может содержать множество значений, даже даты возможны. Если пользователь неактивен, будет равен . Чтобы убедиться, что мы получаем всех пользователей, кроме тех, кто действительно неактивен, мы не выбираем фильтр на . Вместо этого мы говорим, что не хотим, чтобы они были неактивными.

Теперь самая интересная часть: объедините все три примера. Мы можем сделать это с помощью скобок, AND, OR и NOT выражений

Наконец, мы могли бы построить инструкцию OR с помощью «|», например, если мы хотим, чтобы все пользователи, начинающие с «a» или «b»,

Вы можете комбинировать бесконечно и создавать довольно впечатляющие фильтры, попробовать!

Previous
Next

Краткий обзор архитектуры LDAP

LDAP — это стандартный протокол для осуществления доступа к серверам
каталогов. IBM Directory Server должен быть настроен так, чтобы
поддерживать аутентификацию пользователей на LDAP способом, определенным в
RFC 2307.

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

показывает схему LDAP.

Рисунок 1. Схема LDAP

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

Загрузочный модуль безопасности LDAP впервые появился в AIX 4.3. Этот
загрузочный модуль обеспечивал аутентификацию пользователей и выполнял
функции по централизованному управлению пользователями и группами при
помощи IBM SecureWay Directory. Учетная запись пользователя на
LDAP-сервере может быть настроена так, чтобы пользователь мог загружаться
в LDAP-клиенте на компьютерах, где он даже не зарегистрирован. Загрузочный
модуль LDAP полностью интегрирован с операционной системой AIX.

Backup and Restore

Now we have ldap running just the way we want, it is time to ensure we can save all of our work and restore it as needed.

What we need is a way to backup the directory database(s), specifically the configuration backend (cn=config) and the DIT (dc=example,dc=com). If we are going to backup those databases into, say, , we could use slapcat as shown in the following script, called :

Then, it is just a matter of having a cron script to run this program as often as you feel comfortable with. For many, once a day suffices. For others, more often is required. Here is an example of a cron script called that is run every night at 22:45h:

Now the files are created, they should be copied to a backup server.

Assuming we did a fresh reinstall of ldap, the restore process could be something like this:

This is a simplistic backup strategy, of course. It’s being shown here as a reference for the basic tooling you can use for backups and restores.

Устанавливаем и настраиваем OpenLDAP-сервер

В качестве LDAP будем использовать OpenLDAP на дистрибутиве ubuntu 18.04.

Имя нашего сервера: openldap.dtln.cloud.

  1. Подключаемся к серверу и приступаем к установке OpenLDAP. В процессе установки нам предложат установить пароль:

    sudo apt update

    sudo apt install slapd ldap-utils

  2. Переконфигурируем OpenLDAP для нашего домена:

    sudo dpkg-reconfigure slapd

  3. Выбираем No:

  4. Вводим доменное имя:

  5. Вводим имя организации:

  6. Повторяем ввод пароля:

  7. Включаем поддержку STARTTLS. Ставим необходимые пакеты:

    sudo apt install gnutls-bin ssl-cert

  8. Генерируем CA-ключ:

    sudo sh -c «certtool —generate-privkey > /etc/ssl/private/cakey.pem»

  9. Описываем нашу организацию в /etc/ssl/ca.info:

    cn = DTLN Company

    ca

    cert_signing_key

  10. Генерируем CA-сертификaт и ключ, который в дальнейшем будем использовать:

    sudo certtool —generate-self-signed —load-privkey /etc/ssl/private/cakey.pem —template /etc/ssl/ca.info —outfile /etc/ssl/certs/cacert.pem

    sudo certtool —generate-privkey —bits 1024 —outfile /etc/ssl/private/openldap_key.pem

  11. Создаем шаблон для сертификата /etc/ssl/openldap.info:

    organization = DTLN Company

    cn = openldap.dtln.cloud

    tls_www_server

    encryption_key

    signing_key

    expiration_days = 3650

  12. Генерируем сам сертификат:

    sudo certtool —generate-certificate —load-privkey /etc/ssl/private/openldap_key.pem —load-ca-certificate /etc/ssl/certs/cacert.pem —load-ca-privkey /etc/ssl/private/cakey.pem —template /etc/ssl/openldap.info —outfile /etc/ssl/certs/openldap.pem

  13. Настраиваем OpenLDAP для работы со STARTTLS. Вот что должно быть внутри файла certinfo.dif:

    dn: cn=config

    add: olcTLSCACertificateFile

    olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem

    add: olcTLSCertificateFile

    olcTLSCertificateFile: /etc/ssl/certs/openldap.pem

    add: olcTLSCertificateKeyFile

    olcTLSCertificateKeyFile: /etc/ssl/private/openldap_key.pem

  14. Применяем созданный нами файл следующей командой:

    sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f certinfo.dif

  15. Назначаем права доступа на сертификат и перезапускаем наш сервис:

    sudo chgrp openldap /etc/ssl/private/openldap_key.pem

    sudo chmod 0640 /etc/ssl/private/openldap_key.pem

    sudo gpasswd -a openldap ssl-cert

    sudo systemctl restart slapd.service

  16. Чтобы проверить работу нашего сервиса с сертификатами, добавляем в /etc/ldap/ldap.conf строчку:

    TLS_CACERT /etc/ssl/certs/cacert.pem

  17. Проверяем работу через STARTTLS:

    ldapwhoami -H ldap://openldap.dtln.cloud -x -ZZ

В случае успеха получаем:

В случае проблемы проверяем еще раз пути до сертификатов и выполнение команд:

Примеры контроля доступа

Функции контроля доступа представленные в > очень
мощные. В этой секции приводятся примеры их использования. Для начала несколько простых примеров:

access to * by * read 

эта директива дает всем доступ для чтения. Если указана только она, то результат такой же,
как и при указании строки defaultaccess.

defaultaccess read 

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

access to dn=".*, o=U of M, c=US" 
by * search 
access to dn=".*, c=US" 
by * read 

Доступ на чтение (read) назначается элементам в поддереве c=US, за
исключением элементов в поддереве «o=University of Michigan, c=US», к которым
дается доступ на поиск (search). Если сохранен порядок следования этих
директив, U-M-специфичная директива никогда не совпадет, так как все
U-M элементы являются также c=US элементами.

Следующий пример снова показывает важность порядка следования, как директив
доступа, так и выражений «by». Он также показывает использование
селектора атрибута для предоставления доступа к указанным атрибутам и различным селекторам

access to dn=".*, o=U of M, c=US" attr=homePhone 
by self write 
by dn=".*, o=U of M, c=US" search 
by domain=.*\.umich\.edu read 
by * compare 
access to dn=".*, o=U of M, c=US" 
by self write 
by dn=".*, o=U of M, c=US" search 
by * none 

Этот пример применяется к элементам поддерева «o=U of M, c=US».
Сам элемент имеет доступ на запись ко всем атрибутам, кроме homePhone, другие U-M элементы
могут выполнять поиск по ним, все остальные не имеют доступа.
Атрибут homePhone доступен на запись самому элементу, для поиска прочим U-M
элементам, для чтения клиентам, подключающимся из домена umich.edu,
и для сравнения всем остальным.

Иногда полезно разрешить отдельному отличительному имени добавлять или удалять самого себя из атрибута. Например,
Если вы хотите создать группу и разрешить людям добавлять или удалять только их собственное отличительное имя
в атрибуте member, вы могли бы добиться этого с помощью такой access директивы:

access to attr=member,entry 
by dnattr=member selfwrite 

Селектор dnattr <кому> говорит, что доступ применяется к элементам, перечисленным в атрибуте member.
Селектор доступа selfwrite говорит, что эти члены могут удалять только их собственное отличительное имя
из атрибута, но не другие значения.
Добавление элемента атрибута необходимо, так как для доступа к любым атрибутам элемента необходим доступ к элементу.

Обратите внимание, что конструкция attr=member в выражении , является сокращением выражения «dn=* attr=member» (т.е., оно соответствует атрибуту member во всех элементах)

Example Configuration

You can use the below settings as a starting point and adjust the filter and display attributes according to your needs.

  • LDAP name filter(&(telephoneNumber=*)(sn=%)) —> Example 1
  • LDAP number filter (&(telephoneNumber=%)(sn=*)) —> Example 2
  • LDAP Name Filter During Call (&(telephoneNumber=*)(sn=%)) —> Example 1
  • LDAP Number Filter During Call (&(telephoneNumber=%)(sn=*)) —> Example 2
  • Port
  • Base DC=domain,DC=com —> Example 3
  • Username Admin
  • Password PASSWORD
  • Max.Hits 50
  • LDAP Name Attributes cn sn displayName —> Example 4
  • LDAP Number Atrributes Mobile telephoneNumber ipPhone —> Example 5
  • LDAP display Name  %displayName —> Example 6
  • Countrycode +49
  • Areacode 030

Make also sure, that the Number Display Style is set accordingly to return either name, number or both.

Я всё прочитал и поменял все параметры. Что теперь?

Теперь, если всё продолжает работать, можно измерить производительность того, что мы наделали. Не наоборот. Т.е. после тюнинга LDAP-политик в первую очередь всё должно продолжить функционировать, а во вторую – улучшить какие-либо характеристики.

Надеюсь, что данный материал поможет Вам эффективнее работать с инфраструктурой на базе Active Directory, а также покажет, что в данном сервисе есть достаточно много такого, что гораздо интереснее, чем унылые инструкции про “Next->Next->Finish->вроде-кое-как-заработало”.

Техники атаки и защиты LDAP-хранилищ достаточно оригинальны и разнообразны (например, неавторизованный пользователь может заказать априори огромный по количеству результатов запрос, притом запросить, чтобы он (результат запроса) ещё и был отсортирован по неиндексированному атрибуту), поэтому грамотный инженер должен хорошо понимать возможности Active Directory по тюнингу такого функционала.

Удач!

LDAP-политики (Query Policy) в Active Directory

  • Что такое политики LDAP в Active Directory и зачем они нужны
  • Базовые операции с политиками
  • Как узнать, какие политики Query Policy поддерживаются
  • Настраиваем параметры фильтрации доступа к LDAP
  • Параметры функционирования LDAP
  • Настраиваем параметры функционирования LDAP в Windows Server 2016
  • Формат Query Policy
  • Параметры, существующие с Windows 2000 Server
    • Параметр Query Policy – MaxActiveQueries
    • Параметр Query Policy – InitRecvTimeout
    • Параметр Query Policy – MaxConnections
    • Параметр Query Policy – MaxConnIdleTime
    • Параметр Query Policy – MaxDatagramRecv
    • Параметр Query Policy – MaxNotificationPerConn
    • Параметр Query Policy – MaxPoolThreads
    • Параметр Query Policy – MaxReceiveBuffer
    • Параметр Query Policy – MaxPageSize
    • Параметр Query Policy – MaxQueryDuration
    • Параметр Query Policy – MaxResultSetSize
    • Параметр Query Policy – MaxTempTableSize
  • Параметры, существующие с Windows Server 2003
  • Параметры, существующие с Windows Server 2008 R2
    • Параметр Query Policy – MaxResultSetsPerConn
    • Параметр Query Policy – MinResultSets
  • Параметры, существующие с Windows Server 2012
  • Параметры, существующие с Windows Server 2016
  • Отключаем жестко заданные лимиты настроек
  • Создаём новую Query Policy

Начнём.

Глобальные директивы

Директивы, описанные в этой секции, применяются ко всем механизмам баз данных и базам данных,
если не переопределяются в определениях механизмов баз данных или баз данных. Аргументы, которые
необходимо заменить соответствующим текстом, приведены в скобках <>.

access to <что> +

Директива предоставляет доступ (указанный в <уровень доступа>) к набору записей и/или 
атрибутов (указанных в <что>) одному или более запрашивающих  (указанных в <кому>). 
Более детальное описание смотрите в примерах контроля доступа.

attributetype <RFC2252 описание типа атрибута>

Эта директива определяет тип атрибута.

defaultaccess { none | compare | search | read | write }

Эта директива указывает доступ по умолчанию для всех запрашивающих, если не указана директива 
access. Любой назначенный уровень доступа включает в себя все нижележащие уровни доступа (например, 
read доступ предполагает также search и compare, но не write).

По-умолчанию:
defaultaccess read

idletimeout <целое число>

Указывает период ожидания в секундах пред принудительным закрытием находящегося в состоянии
ожидания соединения с клиентом. По умолчанию idletimeout равен 0, и это значение отключает 
эту функцию.

include <имя файла>

Эта директива указывает slapd перед чтением следующей строчки конфигурационного файла 
читать дополнительную конфигурационную информацию. Включаемый файл должен быть обычным 
файлом в формате конфигурационного файла slapd. Файл часто используется для включения 
файлов содержащих спецификации схем.

Заметка: вы должны быть осторожны с этой директивой — нет предела числу вложенных директив
include, также нет никакого способа обнаружения циклов.

loglevel <целое число>

Эта директива указывает уровень, на котором должны регистрироваться в syslog  отладочные 
сообщения и статистика работы (на данный момент регистрация ведется с помощью  syslogd(8) 
LOCAL4). Чтобы эта функция работала (за исключением двух уровней статистики, которые всегда
включены), вам следует сконфигурировать OpenLDAP с опцией --enable-debug (по умолчанию).
Уровни доступа аддидивны. Для отображения номеров соответствующих определенному типу 
отладочной информации вызовите slapd с ключом -? или сверьтесь со следующей таблицей.
Для <целое число> возможны значения:

-1 включает всю отладочную информацию
0 без отладочной информации
1 трассировать вызовы функций
2 отладка обработки пакетов
4 тщательная отладочная трассировка
8 управление соединением
16 печать принятых и отправленных пакетов
32 обработка фильтра поиска
64 обработка конфигурационного файла
128 обработка списка контроля доступа
256 регистрировать статистику соединения/обработки/результатов
512 регистрировать статистику отправленных элементов 
1024 печать коммуникаций с shell механизмом баз данных 
2048 печать отладки анализа элемента  

Пример: 
loglevel 255 или loglevel -1
Это приведет к занесению в syslog большого количества отладочной информации. 
По умолчанию:
loglevel 256 

objectclass <RFC2252 описание класса объектов>

Эта директива определяет класс объектов.

referral <URI>

Эта директива определяет возвращаемую ссылку в случае, если slapd не может
найти в локальной базе данных информацию для обработки запроса.

Пример:
referral ldap://root.openldap.org

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

sizelimit <целое число>

эта директива указывает максимальное количество элементов возвращаемых одной операцией поиска.

По умолчанию:
sizelimit 500

timelimit <целое число>

Modifying the slapd Configuration Database

The slapd-config DIT can also be queried and modified. Here are some common operations.

Adding an index

Use ldapmodify to add an “Index” to your {1}mdb,cn=config database definition (for dc=example,dc=com). Create a file, call it , with the following contents:

Then issue the command:

You can confirm the change in this way:

Change the rootDN password:

First, run slappasswd to get the hash for the new password you want:

Now prepare a file with this content:

Finally, run the ldapmodify command:

We still have the actual cn=admin,dc=example,dc=com dn in the dc=example,dc=com database, so let’s change it too. Since this is a regular entry in this database suffix, we can use ldappasswd:

Adding a schema

Schemas can only be added to cn=config if they are in LDIF format. If not, they will first have to be converted. You can find unconverted schemas in addition to converted ones in the directory.

In the following example we’ll add the password policy (ppolicy) schema. This schema exists in both converted (.ldif) and native (.schema) formats, so we don’t have to convert it and can use ldapadd directly:

If the schema you want to add does not exist in LDIF format, a nice conversion tool that can be used is provided in the package.

Logging

Activity logging for slapd is very useful when implementing an OpenLDAP-based solution yet it must be manually enabled after software installation. Otherwise, only rudimentary messages will appear in the logs. Logging, like any other such configuration, is enabled via the slapd-config database.

OpenLDAP comes with multiple logging levels with each one containing the lower one (additive). A good level to try is stats. The slapd-config man page has more to say on the different subsystems.

Create the file with the following contents:

Implement the change:

This will produce a significant amount of logging and you will want to throttle back to a less verbose level once your system is in production. While in this verbose mode your host’s syslog engine (rsyslog) may have a hard time keeping up and may drop messages:

You may consider a change to rsyslog’s configuration. In , put:

And then restart the rsyslog daemon:

»Configuration

Auth methods must be configured in advance before users or machines can
authenticate. These steps are usually completed by an operator or configuration
management tool.

  1. Enable the ldap auth method:

  2. Configure connection details for your LDAP server, information on how to
    authenticate users, and instructions on how to query for group membership. The
    configuration options are categorized and detailed below.

Connection parameters

  • (string, required) — The LDAP server to connect to. Examples: , . This can also be a comma-delineated list of URLs, e.g. , in which case the servers will be tried in-order if there are errors during the connection process.
  • (bool, optional) — If true, issues a command after establishing an unencrypted connection.
  • — (bool, optional) — If true, skips LDAP server SSL certificate verification — insecure, use with caution!
  • — (string, optional) — CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
  • — (string, optional) — Client certificate to provide to the LDAP server, must be x509 PEM encoded.
  • — (string, optional) — Client certificate key to provide to the LDAP server, must be x509 PEM encoded.

Binding parameters

There are two alternate methods of resolving the user object used to authenticate the end user: Search or User Principal Name. When using Search, the bind can be either anonymous or authenticated. User Principal Name is a method of specifying users supported by Active Directory. More information on UPN can be found .

Binding — Authenticated Search

  • (string, optional) — Distinguished name of object to bind when performing user and group search. Example:
  • (string, optional) — Password to use along with when performing user search.
  • (string, optional) — Base DN under which to perform user search. Example:
  • (string, optional) — Attribute on user attribute object matching the username passed when authenticating. Examples: , ,

Binding — Anonymous Search

  • (bool, optional) — If true, use anonymous bind to discover the bind DN of a user
  • (string, optional) — Base DN under which to perform user search. Example:
  • (string, optional) — Attribute on user attribute object matching the username passed when authenticating. Examples: , ,
  • (bool, optional) — This option prevents users from bypassing authentication when providing an empty password. The default is .
  • (bool, optional) — Use anonymous binds when performing LDAP group searches. Defaults to .

Binding — User Principal Name (AD)

upndomain (string, optional) — userPrincipalDomain used to construct the UPN string for the authenticating user. The constructed UPN will appear as @UPNDomain. Example: example.com, which will cause vault to bind as username@example.com.

Group Membership Resolution

Once a user has been authenticated, the LDAP auth method must know how to resolve which groups the user is a member of. The configuration for this can vary depending on your LDAP server and your directory schema. There are two main strategies when resolving group membership — the first is searching for the authenticated user object and following an attribute to groups it is a member of. The second is to search for group objects of which the authenticated user is a member of. Both methods are supported.

  • (string, optional) — Go template used when constructing the group membership query. The template can access the following context variables: . The default is , which is compatible with several common directory schemas. To support nested group resolution for Active Directory, instead use the following query: .
  • (string, required) — LDAP search base to use for group membership search. This can be the root containing either groups or users. Example:
  • (string, optional) — LDAP attribute to follow on objects returned by in order to enumerate user group membership. Examples: for groupfilter queries returning group objects, use: . For queries returning user objects, use: . The default is .

Note: When using Authenticated Search for binding parameters (see above) the distinguished name defined for is used for the group search. Otherwise, the authenticating user is used to perform the group search.

Use for more details.

Порты Active Directory

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

Реализации

Серверная часть

LDAP является широко используемым стандартом доступа к службам каталогов. Из свободно распространяемых открытых реализаций наиболее известен сервер OpenLDAP, из проприетарных — поддержка протокола имеется в Active Directory — службе каталогов от компании Microsoft, предназначенной для централизации управления сетями Windows. Сервер IBM Lotus Domino в своем составе также имеет службу LDAP. Свои реализации служб каталогов, поддерживающие LDAP как протокол доступа, предлагают и другие крупные компании, например, Novell и Sun — OpenDS и, впоследствии, OpenDJ.

Перечень наиболее известных на сегодняшний день LDAP-серверов:

  1. OpenLDAP
  2. ForgeRock OpenDJ
  3. Novell eDirectory
  4. Apple Open Directory (форк проекта OpenLDAP)
  5. Microsoft Active Directory
  6. Samba4 LDAP (OpenSource-реализация MS AD)
  7. RedHat Directory Server
  8. 389 Directory Server (по сути тестовая версия предыдущего)
  9. Oracle Directory Server
  10. Apache Directory Server
  11. IBM Tivoli Directory Server
  12. IBM Domino LDAP
  13. CommuniGate LDAP

Клиентская часть

В качестве клиентов LDAP выступают как адресные книги почтовых клиентов, так и back-end’ы различных сетевых служб (серверы DNS, SMTP, Samba, UTS и т. д.).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *