squid + kerberos + ldap

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
kapka
мл. сержант
Сообщения: 133
Зарегистрирован: 2007-10-25 15:58:13
Откуда: Украина
Контактная информация:

squid + kerberos + ldap

Непрочитанное сообщение kapka » 2013-12-28 14:49:22

Здравствуйте.
Настроил у себя squid с аутентификацией по kerberos. Доменные пользователи аутентифицируются прозрачно, для пользователей не из АД - включена аутентификация по LDAP. В процессе реализации пришлось прикрутить еще и NTLM.

Код: Выделить всё

#  KERBEROS and NTLM authentication

auth_param negotiate program /usr/local/libexec/squid/negotiate_wrapper_auth --ntlm /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --kerberos /usr/local/libexec/squid/negotiate_kerberos_auth
auth_param negotiate children 10
auth_param negotiate keep_alive off

# NTLM basic or LDAP

#auth_param basic program /usr/local/libexec/squid/basic_ldap_auth -R -D Administrator@meahost.net -w passw -b "dc=meahost,dc=net" -f sAMAccountName=%s" -h 10.10.1.2 -p 389 -v 3
auth_param basic program /usr/local/bin/ntlm_auth -d --helper-protocol=squid-2.5-basic
auth_param basic children 20
auth_param basic realm Web-Proxy
auth_param basic credentialsttl 1 minute

# ACL's
acl user_auth                   proxy_auth      REQUIRED
acl user_admin                  proxy_auth      zi killer

# HTTP_ACCESS

http_access allow user_admin
http_access deny all

http_port 10.10.1.1:3128
dns_nameservers 127.0.0.1
cache_mem 32 MB
shutdown_lifetime 5 seconds
cache_log /var/log/squid/cache.log
cache_access_log /var/log/squid/access.log

hierarchy_stoplist cgi-bin ?
cache_dir ufs /var/squid/cache 2048 16 256
coredump_dir /var/squid/cache
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320
Все работает, но есть несколько проблем, которые сам и с помощью гугла решить не могу:
1. Если пользователь из АД аутентифицируется по kerberos, в сквиде он известен за таким именем: user@доменное.имя, если через BASIC - то просто user, без имени домена. Очень неудобно осуществлять контроль доступа. Можно ли как-то убрать доменное имя?
2. kerberos раз в несколько дней отваливается, не могу выяснить почему. Помогает пересоздание кейтаб-файла

Код: Выделить всё

setenv KRB5_KTNAME FILE:/etc/krb5.keytab
net ads keytab CREATE
net ads keytab ADD HTTP
3. Использование именно kerberos мне не принципиально, вышеизложенных проблем нет когда включить только NTLM + BASIC, но здесь наткнулся на другое - windows7 (подозреваю что и windows8) которые не есть членами АД аутентифицируются только по NTLM, причем в любом браузере. BASIC просто игнорируют. При этом в браузере постоянно появляется табличка логин/пароль.
Буду очень признателен, если кто-то поделится своими мыслями по этих вопросах.
мы живем в стране с обширными недокументированными возможностями...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

kapka
мл. сержант
Сообщения: 133
Зарегистрирован: 2007-10-25 15:58:13
Откуда: Украина
Контактная информация:

Re: squid + kerberos + ldap

Непрочитанное сообщение kapka » 2014-01-03 15:25:10

kapka писал(а):Если пользователь из АД аутентифицируется по kerberos, в сквиде он известен за таким именем: user@доменное.имя, если через BASIC - то просто user, без имени домена. Очень неудобно осуществлять контроль доступа. Можно ли как-то убрать доменное имя?

Код: Выделить всё

auth_param negotiate program /usr/local/libexec/squid/negotiate_wrapper_auth --ntlm /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --kerberos /usr/local/libexec/squid/negotiate_kerberos_auth -r
Опция -r хелпера /usr/local/libexec/squid/negotiate_kerberos_auth
мы живем в стране с обширными недокументированными возможностями...