Аутентификация Apache против LDAP перестала работать для паролей с умляутами

Это - хороший вопрос. Ваши администраторы безопасности не должны на самом деле делать Вас администратором домена - они просто должны делегировать корректные полномочия для OU, которому принадлежит группа в Active Directory. Я включал ссылку на хорошую статью ниже. Администраторы безопасности могут делегировать определенные полномочия Вам или группу DBA, чтобы смочь управлять группами, не имея необходимость допускать, что Вы получаете доступ ко всему каталогу. Они, возможно, должны создать новый OU для групп сервера SQL и учетных записей, но это может быть полезно Вам в конечном счете так или иначе.

http://www.windowsecurity.com/articles/Implementing-Active-Directory-Delegation-Administration.html

7
задан 23 August 2011 в 17:32
1 ответ

Похоже, что где-то происходит проблема с кодировкой. Я могу' Я не могу сказать вам, где он находится, но я могу подсказать, как его найти.

Насколько я понимаю, есть 5 мест, где кодировка могла неправильно обрабатываться или интерпретироваться. Это:

  1. Браузер превращает символы в байты для отправки на веб-сервер
  2. Apache понимает эти байты для построения строки пароля
  3. Apache + OpenLDAP превращает строку пароля в байты для отправки на сервер LDAP
  4. Active Directory превращает байты в запросе привязки LDAP во что-то, что можно сравнить с его базой данных паролей
  5. Active Directory превращает символы в байты при установке пароля пользователя

Предполагая, что вы можете войти в Windows как пользователь, тогда мы знаем # 5 не твоя проблема. Что вам нужно сделать, так это определить, на каком этапе пути возникает ваша проблема. Я догадываюсь, что это шаг 2 или 3, но я не могу быть уверен.

Во-первых, убедитесь, что вы либо не используете https для связи с веб-сервером, либо не используете ldaps для связи с сервером LDAP. (Возможно, вы не захотите этого для производства, но это облегчит жизнь). Теперь используйте wirehark для прослушивания трафика для двух ветвей, браузер -> Apache и Apache -> AD. Вы видите там правильную информацию?

Затем установите уровень журнала в Apache на отладку и посмотрите, что там напечатано. Это не покажет вам пароль, но на уровне отладки он должен показать вам другую информацию, такую ​​как имя пользователя. Если вы используете поддельное имя пользователя, содержащее акценты, правильно ли они отображаются?

После того, как вы определили шаг, который нарушает кодировку, вы примерно на 90% пути к знанию того, как его исправить!

и не использовать ldaps для связи с сервером LDAP. (Возможно, вы не захотите этого для производства, но это облегчит жизнь). Теперь используйте wirehark для прослушивания трафика для двух ветвей, браузер -> Apache и Apache -> AD. Вы видите там правильную информацию?

Затем установите уровень журнала в Apache на отладку и посмотрите, что там напечатано. Это не покажет вам пароль, но на уровне отладки он должен показать вам другую информацию, такую ​​как имя пользователя. Если вы используете поддельное имя пользователя, содержащее акценты, правильно ли они отображаются?

После того, как вы определили шаг, который нарушает кодировку, вы примерно на 90% пути к знанию того, как его исправить!

и не использовать ldaps для связи с сервером LDAP. (Возможно, вы не захотите этого для производства, но это облегчит жизнь). Теперь используйте wirehark для прослушивания трафика для двух ветвей, браузер -> Apache и Apache -> AD. Вы видите там правильную информацию?

Затем установите уровень журнала в Apache на отладку и посмотрите, что там напечатано. Это не покажет вам пароль, но на уровне отладки он должен показать вам другую информацию, такую ​​как имя пользователя. Если вы используете поддельное имя пользователя, содержащее акценты, правильно ли они отображаются?

После того, как вы определили шаг, который нарушает кодировку, вы примерно на 90% пути к тому, чтобы узнать, как его исправить!

Apache и Apache -> AD. Вы видите там правильную информацию?

Затем установите уровень журнала в Apache на отладку и посмотрите, что там напечатано. Это не покажет вам пароль, но на уровне отладки он должен показать вам другую информацию, такую ​​как имя пользователя. Если вы используете поддельное имя пользователя, содержащее акценты, правильно ли они отображаются?

После того, как вы определили шаг, который нарушает кодировку, вы примерно на 90% пути к тому, чтобы узнать, как его исправить!

Apache и Apache -> AD. Вы видите там правильную информацию?

Затем установите уровень журнала в Apache на отладку и посмотрите, что там напечатано. Это не покажет вам пароль, но на уровне отладки он должен показать вам другую информацию, такую ​​как имя пользователя. Если вы используете поддельное имя пользователя, содержащее акценты, правильно ли они отображаются?

После того, как вы определили шаг, который нарушает кодировку, вы примерно на 90% пути к тому, чтобы узнать, как его исправить!

3
ответ дан 2 December 2019 в 23:49

Теги

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