Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
Добавлено: Пт Окт 28 2005 11:33 Заголовок сообщения: Воюю с NTLM-авторизацией |
|
|
Всем привет!
Итак, samba & winbind настроены и работают корректно.
Настроил squid (stable12) для работы с ntlm-авторизацией
простой squid.conf:
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="Mydomain\\WWWUsers"
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="Mydomain\\WWWUsers"
acl WWWUsers proxy_auth REQUIRED
http_access allow WWWUsers
http_access deny all
Кого надо, пускает, кого не надо, не пускает. НО!
А как в случае с оной ntlm рулить дальше типа
acl BadFiles url_regex -i /*mp3$
acl BadFilesAllowedUsers proxy_auth REQUIRED ВОТ ЗДЕСЬ КАК ДЕЛАТЬ?
http_access allow BadFiles BadFilesAllowedUsers
http_access deny BadFiles WWWUsers
http_access allow WWWUsers
http_access deny all
В общем, как разграничивать пользователей при ntlm-авторизации?
перерыл уже достаточно много, ни фига не нашел, все описания заканчиваются на простом доступе группы из NT к сквиду
Вопрос №2
На моей машине W2KProf IE6.0SP1 IE подключается к сквиду нормально, без запроса пароля. А вот на XPSP2 IE спрашивает имя\пароль и даже в этом случае не дает коннекта к сквиду.
Опера везде нормально работает.
?
Вопрос №3, чисто по сквиду:
параметр retry_on_error
Цитата: |
Proxies should not automatically retry requests on 403 (Access Denied) or other server errors
|
У меня выставлен в retry_on_error off, но сквид все равно запрашивает имя\пароль при попытке доступа к, например, *.mp3, если закачка mp3 запрещена через acl. Или здесь имеются в виду Access Denied в других каких-то случаях? _________________ Съешь еще мягких французских булок,да выпей чаю! |
|
Вернуться к началу |
|
|
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
Добавлено: Вс Окт 30 2005 06:10 Заголовок сообщения: |
|
|
Тэк-с..
После длительных разборок пришел к выводу, что при ntlm-аутент. рулить acl невозможно. Нужно ставить что-нибудь вроде squidguard или sams, например.
Хотя и непонятно, почему squid не понимает, например, такие acl
acl AdminUsers proxy_auth Mydomain\admin
acl AllUsers proxy_auth Mydomain\WWWUsers
Права-то на файлы Linux для юзеров NT я могу указывать...
Остальные вопросы остаются открытыми.. _________________ Съешь еще мягких французских булок,да выпей чаю! |
|
Вернуться к началу |
|
|
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
|
Вернуться к началу |
|
|
Nonameduser
Зарегистрирован: 29.11.2005 Сообщения: 5
|
Добавлено: Вт Ноя 29 2005 15:41 Заголовок сообщения: |
|
|
Приветствую.
Ситуация полностью аналогичная. Любой доменный пользватель вне зависимости от принадлежности к указанной группе(noinetg) может пройти через прокси-сервер.
Как видно из нижеприведённого конф. файла, я пытался сделать авторизацию по группам с помощью --require-membership-of="SID of noinetg"(писал и по имени группы тоже) и скрипта wbinfo_group.pl. Ни один из этих способов результатов не дал.
Система:
Slackware 2.4.31
Squid-2.5-STABLE12 сконфгурирован с поддержкой NTLM, basic и wbinfo_group.
Samba-3.0.20b. Сконфигурирован с поддержкой kerberos и LDAP.
Выдержка из squid.conf:
===============================================
auth_param ntlm program /path/to/ntlm_auth --require-membership-of="SID of noinetg" --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 7
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic program /path/to/ntlm_auth --require-membership-of="SID of noinetg" --helper-protocol=squid-2.5-ntlmssp
auth_param basic children 7
auth_param basic realm MYREALM
auth_param basic credentialsttl 2 hours
auth_param basic casesensitivite on
external_acl_type NT %LOGIN /path/to/wbinfo_group.pl
acl dom proxy_auth REQUIRED
acl inet_users external NT noinetg
http_access allow inet_users
http_access deny all
===============================================
Заранее спасибо всем, кто откликнется. |
|
Вернуться к началу |
|
|
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
Добавлено: Ср Ноя 30 2005 05:39 Заголовок сообщения: |
|
|
Ну, во-первых, здесь
Код: |
auth_param basic program /path/to/ntlm_auth --require-membership-of="SID of noinetg" --helper-protocol=squid-2.5-ntlmssp
|
нужно ставить --helper-protocol=squid-2.5-basic
Попробуйте выкинуть все, что связано с wbinfo_group.pl
Проверьте в консоли, что возвращает ntlm_auth _________________ Съешь еще мягких французских булок,да выпей чаю! |
|
Вернуться к началу |
|
|
Nonameduser
Зарегистрирован: 29.11.2005 Сообщения: 5
|
Добавлено: Ср Ноя 30 2005 17:24 Заголовок сообщения: |
|
|
Спасибо за советы. Пофиксил указанное, но результат =~0
Pingvinenok писал(а): |
Проверьте в консоли, что возвращает ntlm_auth |
ntlm_auth -d10 выдаёт:
INFO: Current debug levels:
all: True/10
tdb: False/0
printdrivers: False/0
lanman: False/0
smb: False/0
rpc_parse: False/0
rpc_srv: False/0
rpc_cli: False/0
passdb: False/0
sam: False/0
auth: False/0
winbind: False/0
vfs: False/0
idmap: False/0
quota: False/0
acls: False/0
locking: False/0
msdfs: False/0
password:
[2005/11/30 14:02:55, 10] intl/lang_tdb.c:lang_tdb_init(135)
lang_tdb_init: /usr/local/samba/lib/en_US.msg: No such file or directory
NT_STATUS_OK: Success (0x0)
Так и должно быть?
Я, честно говоря, уже не представляю в каком направлении рыть... В сторону Samb-ы? |
|
Вернуться к началу |
|
|
Nonameduser
Зарегистрирован: 29.11.2005 Сообщения: 5
|
Добавлено: Ср Ноя 30 2005 20:28 Заголовок сообщения: |
|
|
Да, и ещё один глупый вопрос(надеюсь, что последний):
Если я установлю и настрою Squid Guard или SAMS, то решит ли это проблемы с невозможностью авторизации по группам?
Как я понял из этой статьи { http://informatik.asn-graz.ac.at/modules.php?name=News&file=article&sid=2710 }, для его корректной работы следует модифицировать ntlm_auth до компиляции самбы.
Или этот способ анахронизм и мне следует курить changelog самбы? |
|
Вернуться к началу |
|
|
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
Добавлено: Чт Дек 01 2005 07:08 Заголовок сообщения: |
|
|
Под тем, что выдает ntlm_auth, имел в виду, нормально ли разрешается принадлежность юзера к группе:
# ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="Mydomain\\WWWUsers"
admin password
OK
not_www_user password
ERR
Что касается редиректоров, то они не авторизуют, а разрешают\запрещают доступ к определенным ресурсам.
И по неким своим группам в т.ч.
Но в любом случае сначала нужно добиться как минимум того, чтобы Сквид авторизовал на доступ к себе юзеров только из одной разрешенной вами группы домена. _________________ Съешь еще мягких французских булок,да выпей чаю! |
|
Вернуться к началу |
|
|
Nonameduser
Зарегистрирован: 29.11.2005 Сообщения: 5
|
Добавлено: Чт Дек 01 2005 19:23 Заголовок сообщения: |
|
|
Спасибо за помощь.
Если указать --helper-protocol=squid-2.5-basic или ntlmssp - процесс намертво виснет. Без него проходит гладко.
Форму записи --require-membership-of="Mydomain\\WWWUsers" отвергает, говоря, что не может различить где тут домен, а где группа.
Но это не критично, ведь можно и иначе:
--require-membership-of="SID of group" - выдаёт ОК; авторизует всех подряд без вопросов.
Полагаю, в этом случае надо копаться в smb.conf? |
|
Вернуться к началу |
|
|
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
Добавлено: Пт Дек 02 2005 05:32 Заголовок сообщения: |
|
|
Что-то, мне кажется, с ntlm-auth у вас не в порядке.
без указания --helper-protocol вообще не должна работать.
(форма "Mydomain\\WWWUsers" - это у меня так в сквиде прописано, иначе не выходило. В консоли прокатывает и с одним слэшем )
Может быть, используете ntlm_auth из поставки сквида, а не самбы?
Какие версии сквида и самбы?
Как машину в домен вводили? ads или domain уровень?
wbinfo -g листает группы домена?
Ну и, как говорят крутые цитфорумчане, smb.conf - в студию! _________________ Съешь еще мягких французских булок,да выпей чаю! |
|
Вернуться к началу |
|
|
Nonameduser
Зарегистрирован: 29.11.2005 Сообщения: 5
|
Добавлено: Пн Дек 05 2005 12:44 Заголовок сообщения: |
|
|
На "вы" обращаться не обязательно. Если можно, то лучше на "ты". Спасибо.
Pingvinenok писал(а): | Может быть, используете ntlm_auth из поставки сквида, а не самбы?
Какие версии сквида и самбы? |
ntlm_auth из поставки самбы.
Squid-2.5-STABLE12 сконфгурирован с поддержкой NTLM, basic и wbinfo_group.
Samba-3.0.20b. Сконфигурирован с поддержкой kerberos и LDAP.
Pingvinenok писал(а): |
Как машину в домен вводили? ads или domain уровень? |
ads.
Pingvinenok писал(а): | wbinfo -g листает группы домена? |
Да.
Pingvinenok писал(а): |
Ну и, как говорят крутые цитфорумчане, smb.conf - в студию! |
%)
Вот он:
[global]
workgroup = DOMAIN
server string = simply server
security = ads
load printers = yes
log file = /usr/local/samba/var/log.%m
max log size = 50
password server = Hp1.mta.ru
realm = MTA.RU
encrypt passwords = yes
winbind separator = +
winbind use default domain = yes
winbind uid = 10000-15000
winbind gid = 10000-15000
winbind enum users = yes
winbind enum groups = yes
Остальные значения оставлены по умолчанию.
Ещё один момент. Попробовал ещё раз присоединить машину к домену командой net join ads -U username, но с дебаглевелом на 10. Выдал вот что: KDC has not support for encryption type heimdal, хотя сам по себе heimdal спокойно получает билеты от KDC. Видимо, это не фатальная ошибка, ибо, несмотря на неё, присоединение к домену проходит успешно. |
|
Вернуться к началу |
|
|
|