Обсуждение:Аутентификация SIP-устройства в ActiveDirectory
Материал из Xgu.ru
Ссылки по теме:
- http://www-rocq.inria.fr/who/Philippe.Sultan/Asterisk/asterisk_sip_external_authentication.html
- https://issues.asterisk.org/view.php?id=5424
- https://lists.cs.columbia.edu/pipermail/sip-implementors/2006-September/014136.html
- http://lists.cistron.nl/pipermail/freeradius-users/2007-May/msg00266.html
- http://www.linux.org.ru/forum/admin/6471995 (рус.)
Да, правда, проблема хранения двух паролей остаётся.
Это, в принципе, связано не с Астериск, а с протоколом SIP. SIP использует digest-аутентификацию, для того чтобы проводить которую серверу нужно иметь HA1-хэш.
HA1 = MD5(username:realm:password)
Сами по себе значения MD5(password) даже не помогут. Нужно или HA1 или пароль в открытом виде.
Потому что сервер должен сгенерировать случайное число (nonce),
отправить его клиенту, а потом проверить полученный ответ,
совпадает ли он с MD5(HA1:nonce:HA2)
HA2 это фигня, вычислить её очень легко и сервер её, конечно, знает. Но если он не знает HA1, ему не получится вычислить итоговое значение, и проверить то, что присылает ему клиент.
Успокаивает тут то, что Web-сервер IIS может проводить digest-аутентификацию, с использованием AD. А раз может IIS, то могут и другие.
Правда, для этого нужно включить "хранить пароли в обратимом виде" или что-то такое в свойствах учётной записи, которую вы хотите аутентифицировать.
Раньше это делалось так: http://support.microsoft.com/kb/222028