VladDV
03-10-2012, 09:44
Привет!
Настраиваю аутентификацию squid3 по kerberos через ввод логина и пароля, т.е. через pam. Стоят пакеты 'krb5-user', 'krb5-config', 'krb5-doc', 'libpam-krb5'. Система Debian 6 с сегодняшним apt-get upgrade.
Файл /etc/krb5.conf:
[libdefaults]
default_realm = MYDOMAIN.LOCAL
dns_lookup_kdc = no
dns_lookup_realm = no
ticket_lifetime = 24h
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
[realms]
MYDOMAIN.LOCAL = {
kdc = dc1.mydomain.local
admin_server = dc1.mydomain.local
default_domain = mydomain.local
}
[domain_realm]
.mydomain.local = MYDOMAIN.LOCAL
mydomain.local = MYDOMAIN.LOCAL
Файл /etc/pam.d/squid:
#%PAM-1.0
@include common-kerberos
Файл /etc/pam.d/common-kerberos:
auth sufficient pam_krb5.so debug use_first_pass
session required pam_permit.so
account required pam_permit.so
password required pam_permit.so
Начало файла /etc/squid3/squid.conf:
auth_param basic program /usr/lib/squid3/pam_auth -n squid
auth_param basic children 10
auth_param basic credentialsttl 1 minutes
auth_param basic realm PROXY SERVER
acl auth proxy_auth REQUIRED
http_access allow all auth
kinit user после ввода правильного пароля отрабатывает без ошибок, klist показывает полученный билет.
Если же заходить из браузера через наш прокси, как положено выдает требование ввода логина и пароля. Если ввожу просто имя пользователя и пароль, то в /var/log/auth.log следующее:
Oct 3 16:32:58 proxy (pam_auth): pam_krb5(squid:auth): (user user) krb5_parse_name failed: Configuration file does not specify default realm
Oct 3 16:32:58 proxy (pam_auth): pam_krb5(squid:auth): authentication failure; logname=user uid=13 euid=13 tty= ruser= rhost=
Oct 3 16:32:58 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: exit (failure)
Если имя пользователя дополнять именем домена, тогда в данном логе следующее:
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: entry (0x0)
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): (user user@mydomain.local) attempting authentication as user@mydomain.local
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): (user user@mydomain.local) krb5_get_init_creds_password: KDC reply did not match expectations
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): authentication failure; logname=user@mydomain.local uid=13 euid=13 tty= ruser= rhost=
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: exit (failure)
Если же ввести пользователя с доменом, но неверным паролем, то дает следующее:
Oct 3 16:36:41 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: entry (0x0)
Oct 3 16:36:41 proxy (pam_auth): pam_krb5(squid:auth): (user user@mydomain.local) attempting authentication as user@mydomain.local
Oct 3 16:36:42 proxy (pam_auth): pam_krb5(squid:auth): (user user@mydomain.local) krb5_get_init_creds_password: Preauthentication failed
Oct 3 16:36:42 proxy (pam_auth): pam_krb5(squid:auth): authentication failure; logname=user@mydomain.local uid=13 euid=13 tty= ruser= rhost=
Oct 3 16:36:42 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: exit (failure)
что говорит о том, что все таки проверка пользователя проходит на контроллере домена. Контроллер домена - windows server 2008 R2. В журналах контроллера ошибок, связанных с этим процессом, не нашел. Время на серверах синхронизировано.
После попытки входа в браузере повторно выдает запрос логина и пароля.
Настраиваю аутентификацию squid3 по kerberos через ввод логина и пароля, т.е. через pam. Стоят пакеты 'krb5-user', 'krb5-config', 'krb5-doc', 'libpam-krb5'. Система Debian 6 с сегодняшним apt-get upgrade.
Файл /etc/krb5.conf:
[libdefaults]
default_realm = MYDOMAIN.LOCAL
dns_lookup_kdc = no
dns_lookup_realm = no
ticket_lifetime = 24h
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
[realms]
MYDOMAIN.LOCAL = {
kdc = dc1.mydomain.local
admin_server = dc1.mydomain.local
default_domain = mydomain.local
}
[domain_realm]
.mydomain.local = MYDOMAIN.LOCAL
mydomain.local = MYDOMAIN.LOCAL
Файл /etc/pam.d/squid:
#%PAM-1.0
@include common-kerberos
Файл /etc/pam.d/common-kerberos:
auth sufficient pam_krb5.so debug use_first_pass
session required pam_permit.so
account required pam_permit.so
password required pam_permit.so
Начало файла /etc/squid3/squid.conf:
auth_param basic program /usr/lib/squid3/pam_auth -n squid
auth_param basic children 10
auth_param basic credentialsttl 1 minutes
auth_param basic realm PROXY SERVER
acl auth proxy_auth REQUIRED
http_access allow all auth
kinit user после ввода правильного пароля отрабатывает без ошибок, klist показывает полученный билет.
Если же заходить из браузера через наш прокси, как положено выдает требование ввода логина и пароля. Если ввожу просто имя пользователя и пароль, то в /var/log/auth.log следующее:
Oct 3 16:32:58 proxy (pam_auth): pam_krb5(squid:auth): (user user) krb5_parse_name failed: Configuration file does not specify default realm
Oct 3 16:32:58 proxy (pam_auth): pam_krb5(squid:auth): authentication failure; logname=user uid=13 euid=13 tty= ruser= rhost=
Oct 3 16:32:58 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: exit (failure)
Если имя пользователя дополнять именем домена, тогда в данном логе следующее:
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: entry (0x0)
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): (user user@mydomain.local) attempting authentication as user@mydomain.local
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): (user user@mydomain.local) krb5_get_init_creds_password: KDC reply did not match expectations
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): authentication failure; logname=user@mydomain.local uid=13 euid=13 tty= ruser= rhost=
Oct 3 16:34:51 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: exit (failure)
Если же ввести пользователя с доменом, но неверным паролем, то дает следующее:
Oct 3 16:36:41 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: entry (0x0)
Oct 3 16:36:41 proxy (pam_auth): pam_krb5(squid:auth): (user user@mydomain.local) attempting authentication as user@mydomain.local
Oct 3 16:36:42 proxy (pam_auth): pam_krb5(squid:auth): (user user@mydomain.local) krb5_get_init_creds_password: Preauthentication failed
Oct 3 16:36:42 proxy (pam_auth): pam_krb5(squid:auth): authentication failure; logname=user@mydomain.local uid=13 euid=13 tty= ruser= rhost=
Oct 3 16:36:42 proxy (pam_auth): pam_krb5(squid:auth): pam_sm_authenticate: exit (failure)
что говорит о том, что все таки проверка пользователя проходит на контроллере домена. Контроллер домена - windows server 2008 R2. В журналах контроллера ошибок, связанных с этим процессом, не нашел. Время на серверах синхронизировано.
После попытки входа в браузере повторно выдает запрос логина и пароля.