Мы используем сервер 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
Простые привязки LDAP, не защищенные SSL / TLS, очень небезопасны, поскольку включают отправку учетных данных имени пользователя и пароля в открытом виде по сети.
Простые привязки LDAP приемлемы только через SSL / TLS / LDAPS.
Все, что вам нужно сделать, чтобы включить LDAPS на контроллере домена Active Directory, - это установить подходящий сертификат с закрытым ключом на контроллере домена AD:
Убедитесь и прочтите раздел требований в статье выше, чтобы узнать, что представляет собой приемлемый сертификат.
После того, как вы установили приемлемый сертификат на контроллер домена, Active Directory автоматически определит его присутствие и включит LDAPS через порт 636.
Вы может получить сертификат от любого центра сертификации по вашему желанию, если ему доверяют все стороны, которые будут участвовать в c общение. Это может быть уже существующий PKI, интегрированный в AD, или это может быть центр сертификации, не принадлежащий Microsoft, в вашей корпоративной сети, или это может быть даже общедоступный глобально доверенный центр сертификации, такой как Godaddy, Symantec и т. Д.при условии, что он способен производить сертификат, который соответствует требованиям:
(Технически это может даже быть быть самозаверяющим сертификатом, хотя это не является безопасным решением.)
После установки этого сертификата контроллер домена автоматически включит службу 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».)
Вы должны защитить два сетевых сегмента:
Они оба должны быть безопасными.
первая часть уже была выполнена с помощью StartTLS
.
Вам нужно только установить безопасность на втором сетевом узле.Я думаю, было бы достаточно изменить:
olcDbURI: "ldap://xx.xx.xx.xx"
olcDbStartTLS: none starttls=no
на:
olcDbURI: "ldaps://xx.xx.xx.xx"
olcDbStartTLS: false
(потому что, конечно, невозможно иметь одновременно StartTLS
и LDAPS
)