LinuxForum.Fans
Тема

Debian + Squid + Samba(LDAP) + AD2008R2

Автор: platon_art 12 сообщений 5055 просмотров
#259977

В общем нужно мне в конторе на 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 с авторизацией в АД чтоб не запрашивал логин пароль при соеденении а брал с учетной записи. Блокировку сайтов, и несколько групп пользователей с разными уровнями доступа.

Спасибо. Надеюсь на вашу поддержку

#260125

Т.е Вы, молодой человек, получите за это деньги, а форумчане - спасибо и + в карму? Я вам на будующее посоветую: не говорите никому что вы сделаете работу чужыми руками и получите за это деньги.
зыж исправте название топика

#260127

жена подсмотрела за плечом, сказала что я хам.... вот видите, вы еще и смуту вносите в мою семейную идилию :) прийдется вам помоч. давайте конфиги.

#260167

Доброго вам здоровья osorkon. Тут все маленько по другому. Дело в том что любое самообучение не может идти без подсказок того, кто разобрался лучше. В данном случае я пишу что могу поставить и виндовый прокси, но стремление к познанию заставляет меня искать новые более интересные решения. В данном случае пока я месяц ковырялся с кальмаром я понял что мне нужна помощь со стороны. И только подробно изучив все имеющиеся по данной теме маны я обратился на форум. Опять же я просил предоставить инфу на давно выложеные решения. Вдруг кто - то натыкался, а не "зарабатывать деньги на доброте форумчан". И передайте мои наилучшие пожелания вашей второй половинке.

ЗЫ: Я к стати волне честен и прямо говорю что мне требуется это по работе. И помогаю по мере сил другим людям в том в чем разбираюсь лучше чем они. Не важно по каким причинам озадачившимися данными вопросами.

Уточните какие конфиги вас интересуют ибо настраивался как LDAP так и SQUID.

#260170

squid.conf
nsswitch.conf
smb.conf
как делали, или пробовали делать авторизацию в домене?

"platon_art" написал:
Вроде начал разбирать получается что ЛДАП аутентификация проходит.

как проверили?

"platon_art" написал:
Но кальмар требует пароль все равно.

какой при этом пользуете браузер и его версия

"platon_art" написал:
И при вводи оного не авторизует все равно.

логи?

#260189

К моему сожаению форум ругнулся что у меня много ссылок. Поэтому все отправил к вам на ЛС.

#260192

Сквид не заставить не просить пароль и логин. У меня клиенты в домене и гуляют через прокси. Сквид пропускает только тех пользователей, которые в нужной групповой политике. Пароль спрашивает всегда при первом запуске любого браузера. Гугл молчит.

#260200

А как проходит у вас авторизация в АД? На чем поднят сквид? Может конфиги кинете?

#260269

не знаю как там у вас. у меня это дело (конфиг ниже) проработало около года. если в ишаке, то сквид пароля не просит, отдает все прозрачно. в опере или огнелисе - да, приходилось вводить пароль, иногда еще и по два раза, два раза. гугл к стати по этому поводу не то что бы молчит. сейчас уже не вспомню ссылку но точно читал статью о логике работы ntlm auth в сквиде. там описывался сей трабл и обьясняется что при попытке GET <url> сквид возворащает 407 Authentication Required -> у пользователя возникает окно аворизации -> сквид получает логин/пароль -> определяет тип авторизации как ntlm -> снова запрашивает логин/пароль, и только на второй раз отправляет на PDC. вроде бы так, но могу ошибатсья, давн дело было. В итоге, я отказался от такой схемы, т.к в паре с сквидом стоял сквидгуард который разруливал права на основе авторизации в проксе, и постоянно возникали косяки. пришлось вернуться на "анонимный" прокси.
как это было у меня:
squid.conf

text
#--------------------------------------------------------------------------------------------------------
#                                       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

text
passwd: files
shadow: files winbind
group:  files

krb5.conf

text

[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

text
[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

вроде бы ничего не забыл

#260429

У вас авторизация идет по самбе. У меня через ЛДАП я думаю что у меня в этом куске кода не передается значение верное в переменную

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

#260459

видете ли в чем дело. в вашей схеме авторизация пользователя идет в открытую. т.е данные пользователя (логин/пароль) передаются на контроллер домена в открытом виде. не секьюрно както. учитывая что у вас сеть не самая мальнькая, я бы всетаки посмотрел в сторону авторизации по ntlm. к тому же готовый пример я вам дал.
ps: тем более я плохо себе представляю как PDC будет авторизировать пользователя на машине не авторизированной в домене? вы уверены что это сработает?

#260468

У меня вот так проходит авторизация и все время просит пароль при первом запуске браузера.
[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]

Войдите или зарегистрируйтесь, чтобы ответить.