Однажды в Южной Америке были прекрасные теплые виртуальные джунгли, и там жил сервер Squid. Вот образ восприятия сети:
<the Internet>
|
|
A | B
Users <---------> [squid-Server] <---> [LDAP-Server]
Когда Usersзапросят доступ в интернет, squidспросят их имя и паспорт, подтвердят их подлинность LDAPи, если ldap утвердит их, то он их предоставит.
Все были счастливы, пока некоторые снифферы не украли паспорт на пути между пользователями и squid [путь A]. Эта катастрофа произошла потому, что Squid использовал Basic-Authenticationметод.
Люди джунглей собрались, чтобы решить проблему. Некоторые кролики предложили использовать NTLMметод. Змеи предпочитают в Digest-Authenticationто время как Kerberosрекомендуется деревьями.
Ведь многие решения, предложенные людьми из джунглей, и все было перепутано! Лев решил покончить с ситуацией. Он кричал правила для решений:
- Решение должно быть безопасным!
- Должно ли решение работать для большинства браузеров и программного обеспечения (например, для загрузки программного обеспечения)
- Решение должно быть простым и не требовать другой огромной подсистемы (например, сервера Samba)
- Не должен ли метод зависеть от специальной области. (например, Active Directory)
Затем очень разумное, всеобъемлющее и умное решение, предложенное обезьяной, делающее его новым королем джунглей!
Можете ли вы угадать, каково было решение?
Совет:
путь между squidи LDAPзащищен львом, поэтому решение не нужно защищать его.
Примечание: извините, если история скучная и грязная, но большая ее часть реальна! знак равно
/~\/~\/~\ /\~/~\/~\/~\/~\ ((/~\/~\/~\/~\/~\)) (/~\/~\/~\/~\/~\/~\/~\) (//// ~ ~ \\\\) (\\\\( (0) (0) )////) (\\\\( __\-/__ )////) (\\\( /-\ )///) (\\\( (""""") )///) (\\\( \^^^/ )///) (\\\( )///) (\/~\/~\/~\/) ** (\/~\/~\/) *####* | | **** /| | | |\ \\ _/ | | | | \_ _________// Thanks! (,,)(,,)_(,,)(,,)--------'
Обновить:
Массимо объяснил, что метод аутентификации между Users- squidи squid- LDAPне должен быть одинаковым. мы можем использовать произвольный метод для получения аутентификационной информации от пользователей и произвольный метод для аутентификации собранных данных.
Но есть проблема: ввод / вывод всех типов аутентификаторов не одинаков. Например:
Basicаутентификатор следует читать «имя пользователя пароль» пару в линии и отвечатьOKесли пользователь проход правильно илиERRDigestаутентификатор должен прочитатьusername:realmи ответить шестнадцатеричную кодировку вHA(A1)илиERR.
Хотя нет прямой связи между методом client-squid и squid-ldap, собранные данные от клиента должны быть совместимы с методом, используемым в части squid-ldap. Поэтому, если мы изменим метод аутентификации на стороне пользователя, возможно, нам следует также изменить наш аутентификатор.
Таким образом, проблема упрощается до:
На первом уровне я (обезьяна!) Ищу хороший метод аутентификации на стороне пользователя. Какой метод вы рекомендуете, который является безопасным и поддерживается большинством браузеров ? Я в замешательстве между
NTLM,KerberosиDigest.Где я могу найти аутентификатор, который поддерживает учетные данные выбранного метода и аутентифицируется через LDAP.