URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID14
Нить номер: 2583
[ Назад ]

Исходное сообщение
"debian6+squid3 ntlm_auth AD"

Отправлено nokogerra , 25-Мрт-13 08:24 
Доброго времени суток. Я нуб.
Требуется squid с прозрачной авторизацией (браузеры хромиумы и файрфокс поддерживают, шаблоны для назначения прокси для этих бразуеров работают нормально) в AD (win 2008r2) и собственно раздавать интернет по группам. Решил использовать Debian6+Squid3.1+krb+smb+winbind. В итоге kinit выдал билет, машина вошла в домен (net ads join -U USER%PASSWD) успешно, wbinfo листит группы и юзеров (wbinfo -t checking the trust secret for domain MFK-22 via RPC calls succeeded), wbinfo --authenticate отрабатывает нормально, НО ntlm_auth --username=user --domain=domain --diagnostics=password не отрабатывает (использую в squid ntlm и если не отработает - basic, не отрабатывает прозрачно ни 1 а при вводе вручную логина-пароля - не узнаются учетные данные) - по неверному паролю, с указанием хелпера вообще висит (--helper-protocol=squid-2.5-ntlmssp).
Конфиги

kerberos
[spoiler]
[libdefaults]
default_realm = MFK-22.LOCAL

# The following krb5.conf variables are only for MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true

# The following encryption type specification will be used by MIT Kerberos
# if uncommented. In general, the defaults in the MIT Kerberos code are
# correct and overriding these specifications only serves to disable new
# encryption types as they are added, creating interoperability problems.
#
# Thie only time when you might need to uncomment these lines and change
# the enctypes is if you have local software that will break on ticket
# caches containing ticket encryption types it doesn't know about (such as
# old versions of Sun Java).

#    default_tgs_enctypes = des3-hmac-sha1
#    default_tkt_enctypes = des3-hmac-sha1
#    permitted_enctypes = des3-hmac-sha1

# The following libdefaults parameters are only for Heimdal Kerberos.
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true

[realms]
MFK-22.LOCAL = {
kdc = dc.mfk-22.local
admin_server = dc.mfk-22.local
default_domain = mfk-22.local
}

[domain_realm]
.mfk-22.local = MFK-22.LOCAL
mfk-22.local = MFK-22.LOCAL

[login]
krb4_convert = true
krb4_get_tickets = false

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5dc.log
admin_server = FILE:/var/log/ksadmind.log
[/spoiler]

samba
[spoiler]

[global]
workgroup = MFK-22
server string = SQUID-PROXY

security = ads
password server = dc.mfk-22.local
realm = MFK-22.LOCAL
preferred master = no
encrypt passwords = true
obey pam restrictions = yes

winbind enum groups = yes
winbind enum users = yes
winbind use default domain = True
winbind uid = 10000-20000
winbind gid = 10000-20000

template homedir = /home/%template homedir = /home/%

#logs#
log file = /ver/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
[/spoiler]

nsswitch
[spoiler]
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd: compat winbind
group: compat winbind
shadow: compat winbind

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis
[/spoiler]
Буду благодарен за любые идеи.
p.s. извиняюсь за стену текста, спойлеров нет.


Содержание

Сообщения в этом обсуждении
"debian6+squid3 ntlm_auth AD"
Отправлено Аноним , 26-Мрт-13 06:12 
Как я понимаю, надо определиться, либо керберос (неготиэйт), либо нтлм.
Первый вариант у меня работает, вроде бы, без проблем. Правда не с АД, а с МИТ керберос на линукс машине, но для скуида разница, думаю, не большая. В этом случае и винбинд не нужен, и машину в домен вводить не надо.
По второму варианту, что-то близко к вашему, в интернете много инструкций. Сдесь керберос не нужен совсем.

"debian6+squid3 ntlm_auth AD"
Отправлено nokogerra , 26-Мрт-13 06:27 
> Как я понимаю, надо определиться, либо керберос (неготиэйт), либо нтлм.
> Первый вариант у меня работает, вроде бы, без проблем. Правда не с
> АД, а с МИТ керберос на линукс машине, но для скуида
> разница, думаю, не большая. В этом случае и винбинд не нужен,
> и машину в домен вводить не надо.
> По второму варианту, что-то близко к вашему, в интернете много инструкций. Сдесь
> керберос не нужен совсем.

В том и суть что по второму варианту куча инструкций и во всех ставят krb, winbind, samba и правят конфиги всего этого соответственно. Если честно сам недоумеваю зачем там krb, потому что следом в сквид конфигах у всех ntlm_auth либо basic :( И сделано все точ как у людей - но однако не работает, наталкивался на похожую тему, точно такой же конфиг был у человека - не работало, он вышел из ситуации squid_ldap - но авторизация не прозрачная.
А по первому варианту: во фронтэнде нет разницы при авторизации между крб и нтлм? так же прозрачная (если поддерживается браузером)? Я начал смотреть в сторону крб, http://www.k-max.name/windows/active-directory-as-kdc-nfsv4/... здесь неплохо пишет для понимания дядя,
но вопрос при создании keytab возник: при использовании ktpass.exe /mapuser - что это должен быть за пользователь - не понятно.


"debian6+squid3 ntlm_auth AD"
Отправлено Аноним , 27-Мрт-13 16:14 
> В том и суть что по второму варианту куча инструкций и во
> всех ставят krb, winbind, samba и правят конфиги всего этого соответственно.
> Если честно сам недоумеваю зачем там krb, потому что следом в
> сквид конфигах у всех ntlm_auth либо basic :( И сделано все
> точ как у людей - но однако не работает, наталкивался на
> похожую тему, точно такой же конфиг был у человека - не
> работало, он вышел из ситуации squid_ldap - но авторизация не прозрачная.

Я встречал инструкции и с krb, и без него. Как я понимаю, хелпер ntlm_auth
обращается к винбинду, а тот может проверить пароль в АД и по нтлм, и по керберос.  

> А по первому варианту: во фронтэнде нет разницы при авторизации между крб
> и нтлм? так же прозрачная (если поддерживается браузером)?

Да. Только нужен супербилет пользователя (то биш при входе в систему, в
вашем случае в винду, пользователь должен авторизоваться в домене по
протоколу керберос).
>Я начал смотреть
> в сторону крб, http://www.k-max.name/windows/active-directory-as-kdc-nfsv4/...
> здесь неплохо пишет для понимания дядя,
> но вопрос при создании keytab возник: при использовании ktpass.exe /mapuser - что
> это должен быть за пользователь - не понятно.

Вкратце:
1. Браузер обращается к кдс (в вашем случае к АД), предъявляет супербилет
пользователя и получает билет для доступа к HTTP/ваш_скуид.ваш_домен. Для этого
серверу кдс нужен ключ этого билета (как сгенерировать ключ в ад я не знаю,
в случае кдс на линуксе билет генерируется кадмином к кладется в кейтаб).
2. Браузер предъявляет этот билет скуиду
3. Скуид проверяет билет (для этого у него к кейтабе доджен быть ключ этого билета)
и предоставляет доступ (или отказывает).


"debian6+squid3 ntlm_auth AD"
Отправлено nokogerra , 03-Апр-13 16:02 
решил в итоге через krb по этим статьям:
http://www.k-max.name/linux/avtorizaciya-autentifikaciya-squid/
http://www.k-max.name/linux/squid-auth-kerberos-ldap-grupp-a...