Защита OpenLDAP и AD

Мы используем сервер OpenLDAP в качестве прокси для AD, добавляя AD в качестве подчиненного OpenLDAP.

Я' Я защищал трафик OpenLDAP с помощью соединения StartTLS. Теперь мне сказали использовать протокол LDAPS для привязки, которую мы делаем для подключения к серверу AD (мы используем простую привязку).

Итак, мой вопрос заключался в следующем: необходимо ли использовать LDAPS для связи с AD, поскольку OpenLDAP уже использует StartTLS?

Я не очень разбираюсь в OpenLDAP и AD, поэтому просто хотел получить предложения.

Я ' Мы использовали приведенную ниже конфигурацию для добавления базы данных ldap [Lightweight Directory Access Protocol (Proxy) backend].

dn: olcDatabase=ldap,cn=config
objectClass: olcDatabaseConfig
objectClass: olcLDAPConfig
olcDatabase: ldap
olcSuffix: ou=xyz,dc=xyz,dc=xyz
olcSubordinate: TRUE
olcAccess: to dn.subtree="ou=xyz,dc=xyz,dc=xyz"  by * read
olcAddContentAcl: FALSE
olcLastMod: FALSE
olcMaxDerefDepth: 15
olcReadOnly: FALSE
olcSyncUseSubentry: FALSE
olcMonitoring: FALSE
olcDbURI: "ldap://xx.xx.xx.xx"
olcDbStartTLS: none starttls=no
olcDbACLBind: bindmethod=simple timeout=0 network-timeout=0 binddn="cn=xyz,ou=xyz,dc=xyz,dc=xyz" credentials="xxxxxxxxxxxxxxxxxxxxxx"
olcDbIDAssertBind: mode=legacy flags=prescriptive,proxy-authz-non-critical bindmethod=simple timeout=0 network-timeout=0 binddn="cn=xyz,ou=xyz,dc=xyz,dc=xyz" credentials="xxxxxxxxxxxxxxxxxxxxxx"
olcDbRebindAsUser: TRUE
olcDbChaseReferrals: TRUE
olcDbNoRefs: FALSE
olcDbNoUndefFilter: FALSE
4
задан 7 December 2017 в 11:16
2 ответа

Простые привязки LDAP, не защищенные SSL / TLS, очень небезопасны, поскольку включают отправку учетных данных имени пользователя и пароля в открытом виде по сети.

Простые привязки LDAP приемлемы только через SSL / TLS / LDAPS.

Все, что вам нужно сделать, чтобы включить LDAPS на контроллере домена Active Directory, - это установить подходящий сертификат с закрытым ключом на контроллере домена AD:

https://support.microsoft.com/en-us/help/321051/how-to-enable-ldap-over-ssl-with-a-third-party-certification-authority

Убедитесь и прочтите раздел требований в статье выше, чтобы узнать, что представляет собой приемлемый сертификат.

После того, как вы установили приемлемый сертификат на контроллер домена, Active Directory автоматически определит его присутствие и включит LDAPS через порт 636.

Вы может получить сертификат от любого центра сертификации по вашему желанию, если ему доверяют все стороны, которые будут участвовать в c общение. Это может быть уже существующий PKI, интегрированный в AD, или это может быть центр сертификации, не принадлежащий Microsoft, в вашей корпоративной сети, или это может быть даже общедоступный глобально доверенный центр сертификации, такой как Godaddy, Symantec и т. Д.при условии, что он способен производить сертификат, который соответствует требованиям:

  • Сертификат LDAPS находится в хранилище личных сертификатов локального компьютера (программно известном как хранилище сертификатов MY компьютера).
  • Закрытый ключ, соответствующий сертификат присутствует в хранилище локального компьютера и правильно связан с сертификатом. Для закрытого ключа не должна быть включена сильная защита закрытого ключа.
  • Расширение Enhanced Key Usage включает идентификатор объекта Server Authentication (1.3.6.1.5.5.7.3.1) (также известный как OID).
  • Active Directory полное доменное имя контроллера домена (например, DC01.DOMAIN.COM) должно появиться в одном из следующих мест:
    • Общее имя (CN) в поле «Тема».
    • Запись DNS в расширении альтернативного имени субъекта.
  • Сертификат был выдан центром сертификации, которому доверяют контроллер домена и клиенты LDAPS. Доверие устанавливается путем настройки клиентов и сервера на доверие корневому ЦС, к которому выдает цепочку ЦС.
  • Вы должны использовать поставщика криптографических услуг (CSP) Schannel для генерации ключа.

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

После установки этого сертификата контроллер домена автоматически включит службу LDAPS на порту 636. (И службу глобального каталога на 3269).

До сих пор я описал только LDAPS, но не конкретно StartTLS.

Вы можете использовать startTLS против сервера Microsoft LDAP, если хотите:

https://msdn.microsoft.com/en-us/library/aa366997 (v = vs.85) .aspx

Не требует дополнительной настройки на сервере. Он просто включает в себя отправку клиентом правильных элементов управления (команд) LDAP на сервер. (Управляющий OID для startTLS - «1.3.6.1.4.1.1466.20037».)

4
ответ дан 3 December 2019 в 03:27

Вы должны защитить два сетевых сегмента:

  • от клиентов к OpenLDAP;
  • от OpenLDAP к AD.

Они оба должны быть безопасными.

первая часть уже была выполнена с помощью StartTLS .

Вам нужно только установить безопасность на втором сетевом узле.Я думаю, было бы достаточно изменить:

olcDbURI: "ldap://xx.xx.xx.xx"
olcDbStartTLS: none starttls=no

на:

olcDbURI: "ldaps://xx.xx.xx.xx"
olcDbStartTLS: false

(потому что, конечно, невозможно иметь одновременно StartTLS и LDAPS )

0
ответ дан 3 December 2019 в 03:27

Теги

Похожие вопросы