Я установил Squid с помощником по аутентификации, следуя инструкциям здесь http://www.freesoftwaremagazine.com/articles/authentication_with_squid Единственная разница в том, что мои пользователи вместе с хешами паролей NTLM хранятся в базе данных mysql.
PHP-функция, которая вычисляет хеш ntlm, следующая.
function ntlm_hash($txt)
{
$txt = iconv('UTF-8', 'UTF-16LE', $txt);
$md4 = bin2hex(mhash(MHASH_MD4, $txt));
return strtoupper($md4);
}
Теперь меня немного беспокоит безопасность, и я не хочу использовать обычную HTTP-аутентификацию. Я знаю, что одним из решений является использование SSL с squid, но по умолчанию squid на debian построен без поддержки SSL. Другое решение, о котором я подумал, - использовать помощник по проверке подлинности NTLM; протокол описан здесь http://squid.sourceforge.net/ntlm/squid_helper_protocol.html
К сожалению, я не нашел ничего интересного, что могло бы меня направить (кроме спецификации по ссылке), кто-нибудь знает, как может работать возможная реализация? Например, неясно, могу ли я реализовать протокол только с хешами паролей NTLM. Есть ли у кого-нибудь другие предложения по усилению аутентификации пользователей? Учитывая, что мне доступен только NTLM-хеш пароля.