SASL-аутентификация в активном каталоге с использованием Apache HTTPSever 2.4.x - PullRequest
2 голосов
/ 25 мая 2020

В 2020 году Microsoft будет адресовать CVE-2017-8563 набор небезопасных конфигураций по умолчанию для привязки канала LDAP и подписи LDAP, которые существуют на контроллерах домена Active Directory, которые позволяют клиентам LDAP связываться с ними без принуждения Привязка канала LDAP и подписание LDAP.

Из-за вышеуказанного изменения клиенты LDAP, которые не включают или не поддерживают подписывание, будут не подключаться. Простые привязки LDAP через не-TLS-соединения будут не работать, если требуется подпись LDAP.

Это не означает, что мы должны переместить все приложения LDAP на порт 636 и переключитесь на SSL / TLS. Когда используется SASL с подписью , клиенты LDAP, которые действительно включают или поддерживают подписывание, будут подключаться через порт 389 .

Следовательно, LDAP простой Теперь привязки необходимо преобразовать в SASL, например DIGEST-MD5 , и добавить поддержку подписи через qop как «auth-int». Однако в больших приложениях ldap-аутентификация происходит на уровне HTTP-сервера вместо программы java, а в моем случае это Apache HTTPServer 2.4.x.

В настоящее время у меня есть Поставщик аутентификации Basi c, настроенный, как показано ниже, в Apache HTTPServer (Windows и Linux платформы ), который необходимо заменить механизмом аутентификации SASL, таким как GSSAPI, GSS-SPNE GO или DIGEST-MD5:

# Basic Authentication provider

<AuthnProviderAlias ldap MyEnterpriseLdap>
  AuthLDAPURL "ldap://machine1.abcd.com:389/CN=Users,DC=abcd,DC=com?sAMAccountName?sub?(objectClass=*)"
  AuthLDAPBindDN "CN=rohit,CN=Users,DC=abcd,DC=com"
  AuthLDAPBindPassword "abc123"
  LDAPReferrals Off
</AuthnProviderAlias>

# Authenticated resources

<LocationMatch ^/+WebApp/+(;.*)?>
  AuthName "WebApp"
  AuthType Basic
  AuthBasicProvider MyEnterpriseLdap 
  Require valid-user
</LocationMatch>

Я ищу примеры PO C для любого из трех нижеприведенных вариантов SASL с Apache и активным каталогом:
1. DIGEST-MD5 с использованием mod_auth_digest : этот механизм не ищет в ldap и еще не реализовал qop «auth-int».
Есть ли любой другой сторонний модуль apache 2.4.x для digest_md5, который будет искать в ldap и поддерживает qop "auth-int" ?

2. GSSAPI mod_auth_gssapi : похоже, что при использовании mod_auth_gssapi Apache HTTPServer может искать пользователей и их учетные данные в Active Directory и тем самым аутентифицироваться с помощью механизма GSSAPI.
Есть ли какая-либо документация или пример PO C, в котором указывается необходимая конфигурация для Windows и Linux для Apache HTTPServer 2.4.x для GSSAPI, чтобы выполнить аутентификацию с использованием механизма GSSAPI с Microsoft Active Directory?

3. mod_authn_sasl & Cyrus SASL : сторонняя библиотека, которая сейчас развивается для платформы Windows.
Я ищу конкретную документацию / PO C пример с любым механизмом SASL для реализации этой библиотеки с Apache (Windows & Linux платформами ) с использованием Active Directory.

OR Is есть ли другой способ включить SASL для Apache HTTPServer с Active Directory?

Кроме того, проверил SO для Ошибка аутентификации SASL LDAP (здесь используется LDAPS) И В конфигурации apache httpd, какой механизм LDAP SASL используется во время аутентификации ldap? (Хотя Apache не предоставляет SASL в качестве конфигурации OOB, возможно использование таких модулей, как mod_auth_gssapi SASL)

Примечание:

1. Приложение уже поддерживает конфигурации LDAP ( простые привязки ) и LDAPS, поэтому мы не хотим, чтобы пользователи принудительно использовали LDAPS. Вместо этого мы хотим включить / реализовать механизм SASL для конфигураций без SSL / TLS.

2. Отключение подписи LDAP для соединений без TLS не является вариантом, потому что, когда SASL с подписью , клиенты LDAP, которые включают или поддерживают подписку, могут подключаться через порт 389.

Я опубликовал это подробно, так что это может быть полезно для других, кого коснется обновление Microsoft 2020 для привязка и подпись канала.

Спасибо.

1 Ответ

0 голосов
/ 24 июля 2020
  • Ранее Microsoft решила зарегистрировать обновление безопасности в 2020 году, чтобы включить привязку LDAPChannel и подпись сервера LDAP в качестве конфигурации по умолчанию , как показано на снимке экрана ниже.

enter image description here

  • However, Due to customers raising concerns on this update & SASL limitations (Not supported by 3rd party authentication mechanisms like Apache HTTPServer). The Microsoft has now rolled-back this enforcement and have left to customer decide whether to enforce the settings or not.

  • Moreover, Microsoft has also confirmed that there will be no more updates related to the enforcement of LDAPChannel Binding and LDAP Server Signing in future.

  • That is the March 10th 2020's security update on LDAPChannel Binding and LDAP Server Signing will be the last update to these settings.

  • Microsoft have updated their article on security advisory as below: ADV190023

введите описание изображения здесь

Настоятельно рекомендуется использовать LDAPS вместо LDAP или любых протоколов SASL.

...