StalkerSVR
19.07.2012, 16:12
Настроил в сквиде авторизацию через Kerberos. Вроде бы все работает, по крайней мере в IE, но вот Google Chrome, несмотря на заявленную поддержку, работать отказывается. Пускаю его с ключом --auth-server-whitelist="*.local", но он все равно запрашивает пароль, а в логах сквида появляются следующие строчки:
2012/07/19 14:52:21| negotiate_wrapper: Got 'YR YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAYI3AgIeBgorBg EEAYI3AgIKonIEcE5FR09FWFRTAAAAAAAAAABgAAAAcAAAAP74 mdBvDW8AzvWJAFQDjZXabZs/1iKPRRMdwXUg3t0L2X4hZXrRbEpSZVuTZ/ebuAAAAAAAAAAAYAAAAAEAAAAAAAAAAAAAAEVyfDIyRYtIv9kq a6BepAo=' from squid (length: 219).
2012/07/19 14:52:21| negotiate_wrapper: Decode 'YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAYI3AgIeBgorB gEEAYI3AgIKonIEcE5FR09FWFRTAAAAAAAAAABgAAAAcAAAAP7 4mdBvDW8AzvWJAFQDjZXabZs/1iKPRRMdwXUg3t0L2X4hZXrRbEpSZVuTZ/ebuAAAAAAAAAAAYAAAAAEAAAAAAAAAAAAAAEVyfDIyRYtIv9kq a6BepAo=' (decoded length: 161).
2012/07/19 14:52:21| negotiate_wrapper: received Kerberos token
2012/07/19 14:52:21| squid_kerb_auth: DEBUG: Got 'YR YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAYI3AgIeBgorBg EEAYI3AgIKonIEcE5FR09FWFRTAAAAAAAAAABgAAAAcAAAAP74 mdBvDW8AzvWJAFQDjZXabZs/1iKPRRMdwXUg3t0L2X4hZXrRbEpSZVuTZ/ebuAAAAAAAAAAAYAAAAAEAAAAAAAAAAAAAAEVyfDIyRYtIv9kq a6BepAo=' from squid (length: 219).
2012/07/19 14:52:21| squid_kerb_auth: DEBUG: Decode 'YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAYI3AgIeBgorB gEEAYI3AgIKonIEcE5FR09FWFRTAAAAAAAAAABgAAAAcAAAAP7 4mdBvDW8AzvWJAFQDjZXabZs/1iKPRRMdwXUg3t0L2X4hZXrRbEpSZVuTZ/ebuAAAAAAAAAAAYAAAAAEAAAAAAAAAAAAAAEVyfDIyRYtIv9kq a6BepAo=' (decoded length: 161).
2012/07/19 14:52:21| squid_kerb_auth: ERROR: gss_accept_sec_context() failed: An unsupported mechanism was requested. Unknown error
2012/07/19 14:52:21| negotiate_wrapper: Return 'BH gss_accept_sec_context() failed: An unsupported mechanism was requested. Unknown error
'
2012/07/19 14:52:21| authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH gss_accept_sec_context() failed: An unsupported mechanism was requested. Unknown error'
вот настройки авторизации из конфига сквида:
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --diagnostics
auth_param ntlm children 30
auth_param ntlm keep_alive on
auth_param negotiate program /usr/local/bin/negotiate_wrapper -d --ntlm /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --diagnostics --kerberos /usr/lib/squid3/squid_kerb_auth -d -s HTTP/s-proxy01.xxx.local
auth_param negotiate children 20
auth_param negotiate keep_alive on
#auth_param negotiate program /usr/lib/squid3/squid_kerb_auth -d -s HTTP/s-proxy01.xxx.local
#auth_param negotiate children 20
#auth_param negotiate keep_alive on
auth_param basic program /usr/lib/squid3/squid_ldap_auth -R -b "dc=xxx,dc=local" -D srv-ldap -W /etc/squid3/aduser -f sAMAccountName=%s -h s-adc01.xxx.local
auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
даже если оставить в методе negotiate не враппер, а напрямую squid_kerb_auth (сейчас это закомментировано), то ошибка сохраняется. В тоже время IE работает с теми же настройками великолепно. а Chrome работает только через NTLM авторизацию, но для этого метод Negotiate приходится отключать совсем, чего хотелось бы избежать :(
если пускаю хром без ключа --auth-server-whitelist="*.local", то он 1 раз запрашивает пароль, после чего переключается на NTLM авторизацию и дальше уже работает по NTLM не доставая лишними паролями. Если же в конфиге сквида про negotiate ничего не сказано, то он даже пароля не спрашивает и работает через NTLM.
Подскажите плз, как настроить так, что бы либо хром работал через керберос (он же вроде это умеет), либо пусть работает по NTLM, но не запрашивает пароль совсем.
2012/07/19 14:52:21| negotiate_wrapper: Got 'YR YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAYI3AgIeBgorBg EEAYI3AgIKonIEcE5FR09FWFRTAAAAAAAAAABgAAAAcAAAAP74 mdBvDW8AzvWJAFQDjZXabZs/1iKPRRMdwXUg3t0L2X4hZXrRbEpSZVuTZ/ebuAAAAAAAAAAAYAAAAAEAAAAAAAAAAAAAAEVyfDIyRYtIv9kq a6BepAo=' from squid (length: 219).
2012/07/19 14:52:21| negotiate_wrapper: Decode 'YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAYI3AgIeBgorB gEEAYI3AgIKonIEcE5FR09FWFRTAAAAAAAAAABgAAAAcAAAAP7 4mdBvDW8AzvWJAFQDjZXabZs/1iKPRRMdwXUg3t0L2X4hZXrRbEpSZVuTZ/ebuAAAAAAAAAAAYAAAAAEAAAAAAAAAAAAAAEVyfDIyRYtIv9kq a6BepAo=' (decoded length: 161).
2012/07/19 14:52:21| negotiate_wrapper: received Kerberos token
2012/07/19 14:52:21| squid_kerb_auth: DEBUG: Got 'YR YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAYI3AgIeBgorBg EEAYI3AgIKonIEcE5FR09FWFRTAAAAAAAAAABgAAAAcAAAAP74 mdBvDW8AzvWJAFQDjZXabZs/1iKPRRMdwXUg3t0L2X4hZXrRbEpSZVuTZ/ebuAAAAAAAAAAAYAAAAAEAAAAAAAAAAAAAAEVyfDIyRYtIv9kq a6BepAo=' from squid (length: 219).
2012/07/19 14:52:21| squid_kerb_auth: DEBUG: Decode 'YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAYI3AgIeBgorB gEEAYI3AgIKonIEcE5FR09FWFRTAAAAAAAAAABgAAAAcAAAAP7 4mdBvDW8AzvWJAFQDjZXabZs/1iKPRRMdwXUg3t0L2X4hZXrRbEpSZVuTZ/ebuAAAAAAAAAAAYAAAAAEAAAAAAAAAAAAAAEVyfDIyRYtIv9kq a6BepAo=' (decoded length: 161).
2012/07/19 14:52:21| squid_kerb_auth: ERROR: gss_accept_sec_context() failed: An unsupported mechanism was requested. Unknown error
2012/07/19 14:52:21| negotiate_wrapper: Return 'BH gss_accept_sec_context() failed: An unsupported mechanism was requested. Unknown error
'
2012/07/19 14:52:21| authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH gss_accept_sec_context() failed: An unsupported mechanism was requested. Unknown error'
вот настройки авторизации из конфига сквида:
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --diagnostics
auth_param ntlm children 30
auth_param ntlm keep_alive on
auth_param negotiate program /usr/local/bin/negotiate_wrapper -d --ntlm /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --diagnostics --kerberos /usr/lib/squid3/squid_kerb_auth -d -s HTTP/s-proxy01.xxx.local
auth_param negotiate children 20
auth_param negotiate keep_alive on
#auth_param negotiate program /usr/lib/squid3/squid_kerb_auth -d -s HTTP/s-proxy01.xxx.local
#auth_param negotiate children 20
#auth_param negotiate keep_alive on
auth_param basic program /usr/lib/squid3/squid_ldap_auth -R -b "dc=xxx,dc=local" -D srv-ldap -W /etc/squid3/aduser -f sAMAccountName=%s -h s-adc01.xxx.local
auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
даже если оставить в методе negotiate не враппер, а напрямую squid_kerb_auth (сейчас это закомментировано), то ошибка сохраняется. В тоже время IE работает с теми же настройками великолепно. а Chrome работает только через NTLM авторизацию, но для этого метод Negotiate приходится отключать совсем, чего хотелось бы избежать :(
если пускаю хром без ключа --auth-server-whitelist="*.local", то он 1 раз запрашивает пароль, после чего переключается на NTLM авторизацию и дальше уже работает по NTLM не доставая лишними паролями. Если же в конфиге сквида про negotiate ничего не сказано, то он даже пароля не спрашивает и работает через NTLM.
Подскажите плз, как настроить так, что бы либо хром работал через керберос (он же вроде это умеет), либо пусть работает по NTLM, но не запрашивает пароль совсем.