Обсуждение статьи тематического каталога: Авторизация Windows-пользователей в SQUID на основе их доменных аккаунтов (squid auth win)Ссылка на текст статьи: http://www.opennet.me/base/net/squid_win200_auth.txt.html
Пара комментариев. Я использую
эти схемы уже год. Но под Linux. Сейчас стоитsamba 3.0.7
squid-2.5-stable-5Хелперы были оба. В данный момент перешел на хелпер из samba - он во многом более адекватный.
1. Что касается прав доступа до winbind_privileged
Я только не помню кто, но при задаче прав 0777, этот кто-то (вроде winbind) не запускается и ругается на права. Благо у меня XFS. Я просто добавил ACL для доступа пользователя SQUID.2. Эта схема к сожалению не работает локально. То-есть авторизация работает, а вот проверка пользователя в группе не работает. Но связано это с тем, что winbind не хочет локально выдавать информацию о группах. Приходится группы отдельно проверять через squid_unix_group. Я ее немного правил как раз для того, чтобы пользователи передавались без доменной части.
а не может быть 2 связанно с локальностью/глобальностью группы, которую ты завел в домене? проверка (хелпером сквида) проходит нормально только в глобальных группах.
Надо поменять группу на root:squid(с root:root) на /var/cache/samba/winbindd_privileged и всё будет работать
>Надо поменять группу на root:squid(с root:root) на /var/cache/samba/winbindd_privileged и всё будет работать
>
а есди у меня нет такой группы!?
и Squid STABLE10? что тогда?
>>Надо поменять группу на root:squid(с root:root) на /var/cache/samba/winbindd_privileged и всё будет работать
>>
>
>
>а есди у меня нет такой группы!?
>и Squid STABLE10? что тогда?Должна быть группа nobody. Ее и указывай, ибо как правило под этим юзером Кальмар и стартует.
имхо намного гибче было бы авторизацию делать через openldap
>Обсуждение статьи тематического каталога: Авторизация Windows-пользователей в SQUID на основе их доменных
>аккаунтов (squid auth win)
>
>Ссылка на текст статьи: http://www.opennet.me/base/net/squid_win200_auth.txt.htmlхорошая статья! наконец то появлся материал, обобщающий инфу по авторизации через групы! которого,кстати, почему то нет на радном сайте сквида. только вроде в форумах (жаль, что она не вышла неделю назад :)
Журнал пришел неделю назад :)
Приятно, что статью опубликовали, не зря сканировал и правил. Надеюсь, что автор меня за это не засудит. (Не смог я сним связаться)Лично мне помогла именно эта статья (правда осталась одна проблема). Все остальное, что нашел в Сети, не слишком-то помогло (может изложено не совсем нормальным языком :)
PS читайте журнал "Системный Администратор", это статья из октябрьского номера.
Единственное, что не заработало (не понятно мне, почему), так это автоматическая авторизация в IE.Постоянно просит логин\пароль.
В качестве winbind separator = \ и он закоментарен.
в squid.conf прописаноauth_param ntlm program /usr/local/bin/ntlm_auth
--helper-protocol=squid-2.5-ntlmssp auth_param ntlm children 5auth_param ntlm max_challenge_reuses 0 auth_param ntlm
max_challenge_lifetime 2 minutesauth_param basic program /usr/local/bin/ntlm_auth
--helper-protocol=squid-2.5-basic auth_param basic children 5auth_param basic realm Squid proxy-caching web server auth_param basic redentialsttl 2 hours
В Сети написано, что это иза того, что стоит IE 6.0 , но я проверил это на Wun2K+IE 5.0 и все равно просит логин\пароль.
Как это вылечить?
а какая самба? 3? судя по конфигу...при использовании самбы 2.2 и сквида 2.5 все работает со всеми браузерами...
статья до работы с группами повторяет фак http://www.squid-cache.org/Doc/FAQ/FAQ-23.html#ss23.2, проверь по нему на всякий случай...
хелпер лежит, где указанно?
samba 3.0.8auth_param ntlm program /usr/local/samba/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0 auth_param ntlm
max_challenge_lifetime 2 minutesauth_param basic program /usr/local/samba//bin/ntlm_auth --helper-protocol=squid-2.5-basic auth_param basic children 5
И если запустить проверку хелпера, как лписано в статье - все работает.
IE же спрашивает логин\пароль (WinXP SP2\IE 6.0 и Win2K SP4\IE 5.0).
Если это проблема не решается, то все остальное не имеет смысла.Как это можно решить?
Все пишут в Сети, что все работает, но как задашь вопрос - в ответ тишина.
А с точки зрения безопастности, правильно ли Samba Server на шлюзе (гейте). Я так думаю, что это не верно.
>А с точки зрения безопастности, правильно ли Samba Server на шлюзе (гейте).
>Я так думаю, что это не верно.сомнения в студию! :)
Это зависит от того, как построена сеть. У нас все на Cisco, посему это не важно. ИМХО.
Что-то не получается настроить докачку FlashGet как для http так для ftp. Подскажите что в докачке надо прописать, какой тип прокси и надо ли вписывать доменное имя пользователя и пароль?
Народ, неужели никто не подскажет, как заставить IE не спрашивать логин/пароль при выходе в Интернет.Из-за этой неприятности нет смысла внедрять данную вещь.
Народ, неужели никто не подскажет, как заставить IE не спрашивать логин/пароль при выходе в Интернет.Из-за этой неприятности нет смысла внедрять данную вещь.
FlashGet не поддерживает NTLM аутентификацию.
от запроса пароля спасло переустановка прав на winbindd_privileged, а задание группы squid будет работать ведь если сквид запускается от имени пользователя этой группы.
samba.sh:
chmod 750 /usr/local/samba/var/locks/winbindd_privileged
"запуск самбы"
chmod 755 /usr/local/samba/var/locks/winbindd_privileged
Вроде поборол.Теперь при выходе в Интернет IE, если пользователь добавлен в определенную группу, есть выход в Сеть, в противном случае - отказ.
Вот мой конфиг:
squid.conf
#============================================== VARIANT WITH GROUP ======================================
auth_param ntlm program /usr/local/samba/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="MYDOMAIN\\proxy-users"
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutesauth_param basic program /usr/local/samba/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="MYDOMAIN\\proxy-users"
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
#============================================== VARIANT WITH GROUP ======================================#============================================== VARIANT WITH GROUP ======================================
acl NTLMauth proxy_auth REQUIRED
http_access allow NTLMauth
#============================================== VARIANT WITH GROUP ======================================smb.conf
[global]
workgroup = MYDOMAIN
netbios name = piton
server string = piton.mydomain.ru
hosts allow = 10. 127.
# winbind separator=+
winbind use default domain = yes
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/winnt/%D/%U
template shell = /bin/bash
max log size = 50
security = domain
password server = srv1 srv3
encrypt passwords = yessquid собирался с опциями:
./configure --enable-auth="basic ntlm" --enable-basic-auth-helpers="winbind" --enable-ntlm-auth-helpers="winbind" --with-external-acl-helpers="wbinfo_group"samba - как указано в начале статьи.
FreeBSD 4.10
samba-3.0.8
squid-2.5.STABLE6Единственное, что осталось не понятно, так почему в access.log squid'a, если доступ запрещен, не пишется имя пользователя (только IP машины), который ломился в интернет:
1102000944.430 8 10.66.64.230 TCP_DENIED/407 1699 GET http://mail.ru/ - NONE/- text/html
Samba 3.0.9 и Squd 2.5.STABLE7В конфиге squid.conf:
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmss --require-membership-of="DOMAIN+User"
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-bassic --require-membership-of="DOMAIN+User"
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hoursПробую провести проверку хелпера, как описано в статье выдает сообщение об ошибке:
[2005/01/26 12:51:54, 10] utils/ntlm_auth.c:manage_squid_request(1609)
Got 'test' from squid (length: 4).
[2005/01/26 12:51:54, 2] utils/ntlm_auth.c:manage_squid_basic_request(718)
Password not found. Denying accessВ чем причина?
Прикольно, конечно samba-3.0.11, squid-2.5.9, FreeBSD 5.3-STABLE. Если писать
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmss
Все работает.А Вот если
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmss --require-membership-of="DOMAIN+User"Фиг вам и wblog такая ошибка валится:
[2005/03/17 15:11:09, 3] nsswitch/winbindd_misc.c:winbindd_interface_version(261)
[14851]: request interface version
[2005/03/17 15:11:09, 3] nsswitch/winbindd_misc.c:winbindd_priv_pipe_dir(297)
[14851]: request location of privileged pipe
[2005/03/17 15:11:09, 3] nsswitch/winbindd_misc.c:winbindd_info(248)
[14851]: request misc info
[2005/03/17 15:11:09, 5] nsswitch/winbindd.c:winbind_client_read(477)
read failed on sock 19, pid 14851: EOF
[2005/03/17 15:11:09, 5] nsswitch/winbindd.c:winbind_client_read(477)
read failed on sock 20, pid 14851: EOFwbinfo все находит, ntlm_auth руками авторизируется нормально. Протокол в самбе битый? Али сквид плохо рулит?
такой вопрос немного не хватает гибкости,
обычно надо в нет пускать всех, а например какой-то отдел не пустить (группу) можно конечно блокировать по одному занеся 20 юзеров в конфиг-файл сквида (или внешний файл не важно )
можно добавить 1000 пользователей в группу прокси юзерс, а 20 не добавить, тоже мне вариант, а если у вас два домена???, абзац.а можно просто добавить строку
acl badgroup MYDOMAIN/my_group
http_access deny badgroup
вот такая функциональностьесть????
вот этого решения хотелось бы :(
мож кто прикрутил?
>такой вопрос немного не хватает гибкости,
>обычно надо в нет пускать всех, а например какой-то отдел не пустить
>(группу) можно конечно блокировать по одному занеся 20 юзеров в конфиг-файл
>сквида (или внешний файл не важно )
>можно добавить 1000 пользователей в группу прокси юзерс, а 20 не добавить,
>тоже мне вариант, а если у вас два домена???, абзац.
>
>а можно просто добавить строку
>acl badgroup MYDOMAIN/my_group
>http_access deny badgroup
>вот такая функциональностьесть????
>вот этого решения хотелось бы :(
>мож кто прикрутил?sams.irc.perm.ru
Правда я с бубдном до сих пор скачу :) но вещь интересная
Сделал почти всё как во всевозможных мануалах и на данный момент имею следущий результат: при запуске squid Parsing Config File:Unknown authentication scheme 'ntlm'. Шо ето значить? По поводу прав на /var/db/samba/winbindd_privileged- нету у меня группы squid, меняю владельца на nobody- перестаёт запускаться winbindd. Вот такая вот печальная история
>Сделал почти всё как во всевозможных мануалах и на данный момент имею
>следущий результат: при запуске squid Parsing Config File:Unknown authentication scheme 'ntlm'.
>Шо ето значить? По поводу прав на /var/db/samba/winbindd_privileged- нету у
>меня группы squid, меняю владельца на nobody- перестаёт запускаться winbindd. Вот
>такая вот печальная историяСкорей всего у тебя squid собран без ntlm.
Выполни ./configure --help | less и прочти. Там все написано. Если что не понятно - пиши. Когда сам делал - все по шагам написал - могу помочь.
Есть такая команда - find :)
find / | grep "winbindd_privileged" - самый простой способ.
Если у тебя FreeBSD - то этот каталог живет где-то тут: /usr/local/samba/var/lock/winbindd_privileged - пишу по памяти, но точно в каталоге Samba.Пиши. На себе убедился, что работает, хотя по началу полно было ошибок.
По поводу прав на /var/db/samba/winbindd_privileged
Тут нужна именно группа squid и никакая другая. Прочитать можно тут http://www.squid-cache.org/Doc/FAQ/FAQ-23.html#ss23.5 и тут http://samba.org/samba/docs/man/manpages-3/winbindd.8.html
вроде все заработало, но как-то странно: в браузере при авторизации приходится вводить домен+имя, тогда работает. как обойтись без ввода домена?
Нашол пару неточностей! Может их специально внесли что б народ копи -пастом не страдал )))Но как по мне такие вещи отпугивают начинающих.
И так!
первая неточность заключается в строках
acl NTLMauth http_access
proxy_auth allow
REQUIRED NTLMauthнезнаю что это автор пытался написать но работать оно не будет.
мой вариант работает 100% я проверял на трех разных серверах
acl server proxy_auth REQUIRED
http_access allow serverслова похожи но порядок неправельный )))
дальше захотелось мне проверять принадлежность к группе.
добавил в конфиг
external acl type ntgroup concurrency=5%LOGIN /usr/local/libexec/wbinfo_group.pi
ну я незнаю ачепятка это или задумка автора но сразу в глаза кидается
wbinfo_group.pi
ну как минимум должно быть
wbinfo_group.pl
ну да ладно ачепятки бывают у всех, я сам не без греха ))
Но у меня все равно не работало. Я полез вычитывать дефолтовый конфиг, и сразу же понял в чем проблема.
давайте сравним строки:
авторская
external acl type ntgroup concurrency=5%LOGIN /usr/local/libexec/wbinfo_group.piмоя
external_acl_type ntgroup concurrency=5 %LOGIN /usr/local/libexec/squid/wbinfo_group.plназивается найди различия )).
wbinfo_group без perl#!/bin/sh
while read USERNAME GROUPNAME
doif [ -z $USERNAME ] || [ -z $GROUPNAME ] ; then
echo ERR
else
SID=`wbinfo -n $GROUPNAME 2>/dev/null ` && \
GID=`wbinfo -Y $SID 2>/dev/null ` && \
wbinfo -r $USERNAME 2>/dev/null | grep -q $GID && \
echo OK || echo ERR
fi
done
Хорошая статейка , тока вот у меня вопрос тут нарисовался на горизонте , есть домен и есть под домены , пробую через helper по группе авторизовывать , --mebership-of и т.д все работает . все отлично но получается что я не могу использовать другие группы , но зато работает авторизация через домен и через его поддомены , то бишь mos.comp.ru и copm.ru . А если есть группы , как быть , раньше использовался wbinfo-group.pl , была выборка по группам , но в этом случаи отваливалась авторизация в поддомене .Так как же объединит авторизацию в домене и поддомене с авторизации еще и по группам ??
Усе тема закрыта , сам разобрался , просто надо филтр подправить в wbiinfo-group.pl что бы он еще и поддомен выбирал .