Назад | Перейти на главную страницу

TLS_REQCERT и PHP с LDAPS

Проблема:
Защищайте запросы LDAP через командную строку и PHP к контроллеру домена AD с помощью самозаверяющего сертификата.

Задний план:
Я работаю над проектом, в котором мне нужно включить поиск LDAP из веб-приложения PHP на контроллер домена MS AD, использующий самозаверяющий сертификат. Этот самозаверяющий сертификат также использует доменное имя, которое не является полным доменным именем - подумайте о чем-то вроде people.campus в качестве имени домена. Веб-приложение примет учетные данные пользователя и передаст их контроллеру домена AD, чтобы проверить, совпадают ли кредитные данные. Это кажется простым, но у меня возникают проблемы с попыткой заставить PHP и самозаверяющий сертификат работать.

Некоторые люди предположили, что я изменил переменную TLS_REQCERT с «запроса» на «никогда» в конфигурации OpenLDAP. Я обеспокоен тем, что это может иметь более серьезные последствия, такие как атака «человек посередине», и мне неудобно менять этот параметр на «никогда». Я также читал несколько мест в Интернете, где можно взять сертификат и поместить его в качестве надежного источника в файл конфигурации openldap. Мне любопытно, могу ли я это сделать в той ситуации, которая у меня есть? Могу ли я из командной строки получить самозаверяющий сертификат, который использует контроллер домена AD, сохранить его в файл, а затем заставить openldap использовать этот файл для доверия, которое ему нужно, чтобы мне не нужно было настраивать переменная от запроса до никогда? У меня нет доступа к контроллеру домена AD, и поэтому я не могу экспортировать сертификат. Если есть способ получить сертификат из командной строки, какие команды мне нужно использовать? Есть ли альтернативный способ решения этой проблемы, который был бы лучше в долгосрочной перспективе? У меня есть несколько серверов CentOS и несколько серверов Ubuntu, с которыми я работаю, чтобы попытаться это сделать.

Заранее благодарим за вашу помощь и идеи.

Если ваш самозаверяющий сертификат подписан вашим центром сертификации, вы можете проверить правильность предоставленного сертификата, проверив сертификат сервера. Для этого добавьте в ldap.conf строку «TLS_CACERT /etc/ssl/certs/ca.pem», где ca.pem - это файл с открытым ключом вашей власти. С TLS_REQCERT hard он проверит ваше соединение и откажется говорить, если ваш сервер сертификатов неверен.

Если у вас есть только сертификат, вы МОЖЕТЕ (я не пытаюсь) добавить свой открытый ключ в TLS_CERT / TLS_CACERT.