В общем нужно мне в конторе на 500 пользаков ходящих из нескольких сетей организовать прокси. Все работают на винде в принципе есть даже купленная лицуха на Трафик инспектора (правда на 100 пользаков всего). Но вот стало скучно и денег жалко тратить на докупку лицензий. И решил я освоить линукс. Мелкие вещи уже делал. А тут задача глобальная. Спасовать не могу так что прошу помощи. Облазил все. Обычно люди поднимают все на FreeBSD, но я работал только с Debian и то с ним на ВЫ. Очень прошу помогите. Нашел статьи с авторизацией через LDAP но что-то не работает. Вроде начал разбирать получается что ЛДАП аутентификация проходит. Но кальмар требует пароль все равно. И при вводи оного не авторизует все равно. Умные люди сказали что лучше через Samb`у авторизовать. Но по этой теме ничего не нашел.
Исходные данные: AD 2008 R2, Сети в офисе 10.1.0.0/20, Сети в подразделениях (удаленных все связаны VPN каналом на базе DFL) 10.2.1.0/24, 10.2.2.0/24, и т.д. до 15. Все зарегистрированы в одном домене. Используем тонкие клиенты поэтому статистика должна быть по пользакам.
Хочу получить: Прокси сервер SQUID с авторизацией в АД чтоб не запрашивал логин пароль при соеденении а брал с учетной записи. Блокировку сайтов, и несколько групп пользователей с разными уровнями доступа.
Спасибо. Надеюсь на вашу поддержку
Debian + Squid + Samba(LDAP) + AD2008R2
Т.е Вы, молодой человек, получите за это деньги, а форумчане - спасибо и + в карму? Я вам на будующее посоветую: не говорите никому что вы сделаете работу чужыми руками и получите за это деньги.
зыж исправте название топика
жена подсмотрела за плечом, сказала что я хам.... вот видите, вы еще и смуту вносите в мою семейную идилию :) прийдется вам помоч. давайте конфиги.
Доброго вам здоровья osorkon. Тут все маленько по другому. Дело в том что любое самообучение не может идти без подсказок того, кто разобрался лучше. В данном случае я пишу что могу поставить и виндовый прокси, но стремление к познанию заставляет меня искать новые более интересные решения. В данном случае пока я месяц ковырялся с кальмаром я понял что мне нужна помощь со стороны. И только подробно изучив все имеющиеся по данной теме маны я обратился на форум. Опять же я просил предоставить инфу на давно выложеные решения. Вдруг кто - то натыкался, а не "зарабатывать деньги на доброте форумчан". И передайте мои наилучшие пожелания вашей второй половинке.
ЗЫ: Я к стати волне честен и прямо говорю что мне требуется это по работе. И помогаю по мере сил другим людям в том в чем разбираюсь лучше чем они. Не важно по каким причинам озадачившимися данными вопросами.
Уточните какие конфиги вас интересуют ибо настраивался как LDAP так и SQUID.
squid.conf
nsswitch.conf
smb.conf
как делали, или пробовали делать авторизацию в домене?
Вроде начал разбирать получается что ЛДАП аутентификация проходит.
как проверили?
Но кальмар требует пароль все равно.
какой при этом пользуете браузер и его версия
И при вводи оного не авторизует все равно.
логи?
К моему сожаению форум ругнулся что у меня много ссылок. Поэтому все отправил к вам на ЛС.
Сквид не заставить не просить пароль и логин. У меня клиенты в домене и гуляют через прокси. Сквид пропускает только тех пользователей, которые в нужной групповой политике. Пароль спрашивает всегда при первом запуске любого браузера. Гугл молчит.
А как проходит у вас авторизация в АД? На чем поднят сквид? Может конфиги кинете?
не знаю как там у вас. у меня это дело (конфиг ниже) проработало около года. если в ишаке, то сквид пароля не просит, отдает все прозрачно. в опере или огнелисе - да, приходилось вводить пароль, иногда еще и по два раза, два раза. гугл к стати по этому поводу не то что бы молчит. сейчас уже не вспомню ссылку но точно читал статью о логике работы ntlm auth в сквиде. там описывался сей трабл и обьясняется что при попытке GET <url> сквид возворащает 407 Authentication Required -> у пользователя возникает окно аворизации -> сквид получает логин/пароль -> определяет тип авторизации как ntlm -> снова запрашивает логин/пароль, и только на второй раз отправляет на PDC. вроде бы так, но могу ошибатсья, давн дело было. В итоге, я отказался от такой схемы, т.к в паре с сквидом стоял сквидгуард который разруливал права на основе авторизации в проксе, и постоянно возникали косяки. пришлось вернуться на "анонимный" прокси.
как это было у меня:
squid.conf
#--------------------------------------------------------------------------------------------------------
# NTLM AUTHENTICATION CONFIG
#--------------------------------------------------------------------------------------------------------
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="DOMAIN\\Squid_priv_users"
auth_param ntlm children 5
auth_param ntlm keep_alive off
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="DOMAIN\\Squid_priv_users"
auth_param basic children 5
auth_param basic realm Squid proxy-caching server proxy.local
auth_param basic credentialsttl 8 hours
external_acl_type nt_group %LOGIN /usr/bin/wbinfo_group.pl
...
#--------------------------------------------------------------------------------------------------------
# NT GROUP ACL DEFINITIONS
#--------------------------------------------------------------------------------------------------------
acl NT_G_ADM external nt_group administration
acl NT_G_ANALIT external nt_group analit
acl NT_G_BUH external nt_group buh
acl NT_G_IT external nt_group it
...
acl NT_G_ALL external nt_group BUILTIN\\users
acl auth_users proxy_auth REQUIRED
nsswitch.conf
passwd: files
shadow: files winbind
group: fileskrb5.conf
[libdefaults]
default_realm = DOMAIN.LOCAL
clockskew = 300
[realms]
DOMAIN.LOCAL = {
kdc = pdc1.domain.local
admin_server = pdc1.domain.local
default_domain = domain.local
smb.conf
[global]
auth methods = winbind trustdomain ntdomain
netbios name = proxy
workgroup = DOMAIN
realm = DOMAIN.LOCAL
password server = pdc1.domain.local pdc2.domain.local
encrypt passwords = yes
security = domain
allow trusted domains = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
interfaces = eth0, lo
bind interfaces only = yes
os level = 255
preferred master = No
local master = no
domain master = no
dns proxy = No
ldap ssl = no
idmap uid = 10000-20000
idmap gid = 10000-20000
hosts allow = all
strict locking = No
log file = /var/log/samba/connects/%U_%I.log
max log size = 10240
syslog = 0
log level = 3
unix charset = KOI8-R
dos charset = cp866
display charset = UTF-8
map to guest = Bad User
# include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = X:
nt acl support = yesвроде бы ничего не забыл
У вас авторизация идет по самбе. У меня через ЛДАП я думаю что у меня в этом куске кода не передается значение верное в переменную
external_acl_type internet_users_full_log %LOGIN /usr/lib/squid3/squid_ldap_group -R -K \
-b "dc=domen,dc=ru" \
-D squid@domen.ru \
-w "squidpass" \
-f "(&(objectclass=user)(sAMAccountName=%v)(memberof=cn=%a,ou=Admins,dc=domen,dc=ru))" \
-h dns-srv.proxy.ru
видете ли в чем дело. в вашей схеме авторизация пользователя идет в открытую. т.е данные пользователя (логин/пароль) передаются на контроллер домена в открытом виде. не секьюрно както. учитывая что у вас сеть не самая мальнькая, я бы всетаки посмотрел в сторону авторизации по ntlm. к тому же готовый пример я вам дал.
ps: тем более я плохо себе представляю как PDC будет авторизировать пользователя на машине не авторизированной в домене? вы уверены что это сработает?
У меня вот так проходит авторизация и все время просит пароль при первом запуске браузера.
[console]auth_param basic program /usr/lib64/squid/squid_ldap_auth -R -D sel_ldap@smb.mgkb1.local -w XXXXXX -b "dc=smb,dc=mgkb1,dc=local" -f "sAMAccountName=%s" 192.168.2.82 -p 389
auth_param basic children 20
auth_param basic realm Internet Access MGKB1
auth_param basic credentialsttl 1 minutes
auth_param basic casesensitive off
external_acl_type ldap_users %LOGIN /usr/lib64/squid/squid_ldap_group -R -b "OU=UsersDom,DC=smb,DC=mgkb1,DC=local" -f "(&(sAMAccountName=%v)(memberOf=CN=%a,CN=Builtin,DC=smb,DC=mgkb1,DC=local))" -D sel_ldap@smb.mgkb1.local -w "XXXXXX" 192.168.2.82 -v 3 -p 389[/console]