Авторизация в squid-е используя Windows AD

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
korbnik
сержант
Сообщения: 267
Зарегистрирован: 2008-03-25 14:29:08
Откуда: Москва
Контактная информация:

Авторизация в squid-е используя Windows AD

Непрочитанное сообщение korbnik » 2011-04-18 20:56:13

Настроил авторизацию в squid-е используя windows-пользователей
в домене AD.

Но после загрузки winbindd, компьютер медленно реагирует на команды.
Например на ps, top вообще не запускается?

Что это может быть? Почему так winbindd грузить компьютер?

Метод аутентификации между браузером и сквидом используется - ntlm_auth
Вот вообще все настройки на FreeBSD 7.2 что касается winbindd и squid:

Код: Выделить всё

[root@fox2] /usr/home/korenevb/> ps -axjw
USER       PID  PPID   STAT     TIME COMMAND
root         0     0   DLs   0:00.86 [swapper]
....................................

root       475     1   Is    0:00.00 /sbin/devd
root       532     1   Ss    0:00.55 /usr/sbin/syslogd -s
root       549     1   Is    0:00.26 /usr/sbin/rpcbind
root       627     1   Ss    0:08.35 /usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drif
root       715     1   Is    0:00.01 /usr/sbin/sshd
root       722     1   Is    0:00.79 /usr/sbin/cron -s
squid    12837 33665   S     0:00.14 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12838 33665   S     0:00.07 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12839 33665   I     0:00.06 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12840 33665   I     0:00.04 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12841 33665   I     0:00.04 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12842 33665   I     0:00.03 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12843 33665   I     0:00.03 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12844 33665   I     0:00.03 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12845 33665   I     0:00.03 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12846 33665   I     0:00.02 (ntlm_auth) --helper-protocol=squid-2.5-ntlmssp (ntlm_auth)
squid    12847 33665   I     0:00.02 (ntlm_auth) --helper-protocol=squid-2.5-basic (ntlm_auth)
squid    12848 33665   I     0:00.02 (ntlm_auth) --helper-protocol=squid-2.5-basic (ntlm_auth)
squid    12849 33665   I     0:00.02 (ntlm_auth) --helper-protocol=squid-2.5-basic (ntlm_auth)
squid    12850 33665   I     0:00.02 (ntlm_auth) --helper-protocol=squid-2.5-basic (ntlm_auth)
squid    12851 33665   I     0:00.02 (ntlm_auth) --helper-protocol=squid-2.5-basic (ntlm_auth)
squid    33663     1   Is    0:00.00 /usr/local/sbin/squid -D
squid    33665 33663   S     0:27.81 (squid) -D (squid)
squid    33681 33665   I     0:00.00 (unlinkd) (unlinkd)
root     34001   715   Is    0:00.65 sshd: korenevb [priv] (sshd)
korenevb 34014 34001   I     0:15.02 sshd: korenevb@ttyp1 (sshd)
root     38004   715   Is    0:00.06 sshd: korenevb [priv] (sshd)
korenevb 38006 38004   S     0:00.51 sshd: korenevb@ttyp0 (sshd)
mailnull 49457     1   Is    0:00.19 /usr/local/sbin/exim -bd -q30m (exim-4.75-0)
root     51424     1   Ss   18:43.17 /usr/local/sbin/winbindd -s /usr/local/etc/smb.conf
root     51425 51424   S     0:17.55 /usr/local/sbin/winbindd -s /usr/local/etc/smb.conf
root     51426 51424   I     0:01.70 /usr/local/sbin/winbindd -s /usr/local/etc/smb.conf
root       763     1   Is    0:00.05 login [pam] (login)
root       786   763   I+    0:00.03 -csh (csh)
....................................

[root@fox2] /usr/home/korenevb/> 

Код: Выделить всё

[root@fox2] /usr/home/korenevb/> cat /etc/nsswitch.conf
#
# nsswitch.conf(5) - name service switch configuration file
# $FreeBSD: src/etc/nsswitch.conf,v 1.1.8.1 2009/04/15 03:14:26 kensmith Exp $
#
group: files winbind
group_compat: nis
hosts: files dns
networks: files
passwd: files winbind
passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files
[root@fox2] /usr/home/korenevb/> 

Код: Выделить всё

[root@fox2] /usr/home/korenevb/> cat /etc/krb5.conf 
[libdefaults]
        default_realm = MSK.DOMAIN.LOC
        clockskew = 300
        v4_instance_resolve = false
        v4_name_convert = {
                host = {
                        rcmd = host
                        ftp = ftp
                }
                plain = {
                        something = something-else
                }
        }

[realms]
        MSK.DOMAIN.LOC = {
                kdc = dc1.msk.domain.loc
                admin_server = dc1.msk.domain.loc
        }
        OTHER.REALM = {
                v4_instance_convert = {
                        kerberos = kerberos
                        computer = computer.some.other.domain
                }
        }
[domain_realm]
        .msk.domain.loc = MSK.DOMAIN.LOC
        msk.domain.loc = MSK.DOMAIN.LOC

;[logging]
;  kdc = FILE:/var/log/kdc.log
;  admin_server = FILE:/var/log/kadmin.log
;  default = FILE:/var/log/krb5lib.log
[root@fox2] /usr/home/korenevb/> 

Код: Выделить всё

[root@fox2] /usr/home/korenevb/> cat /usr/local/etc/smb.conf
[global]
;bind interfaces only = yes
;interfaces = 127.0.0.1/8  10.1.102.200/24
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/sh
workgroup = MSK
server string = FOX2 samba serveR
security = ads
;  guest account = pcguest
log file = /var/log/samba34/log.%m
log level = 3 passdb:5 auth:10 winbind:9
max log size = 50
password server = dc1.msk.domain.loc
realm = msk.domain.loc
;   passdb backend = tdbsam
;   include = /usr/local/etc/smb.conf.%m
socket options = TCP_NODELAY
#============================ Share Definitions ==============================
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
[root@fox2] /usr/home/korenevb/> 

Код: Выделить всё

[root@fox2] /usr/home/korenevb/> cat /usr/local/etc/squid/squid.conf

#       WELCOME TO SQUID 2.7.STABLE6
#       ----------------------------
#

....................................

http_port 3128

hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 10

auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443 563 1443 2443 9091

acl Safe_ports port 80-83       # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 1443	# https, snews, migom
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl Safe_ports port 8080-8083   # http
acl Safe_ports port 8100-8183   # http
acl Safe_ports port 3128        # squid
acl Safe_ports port 1400   	# bss
acl Safe_ports port 2443   	# bss
acl Safe_ports port 8020   	# bss
acl Safe_ports port 5051        # mts
acl Safe_ports port 910         # CronosPort
acl CONNECT method CONNECT

acl local-servers dstdomain .domain.loc

acl sirius src 10.2.1.69 10.2.1.63

acl NTLMauth proxy_auth REQUIRED

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow sirius NTLMauth
http_access deny sirius

# And finally deny all other access to this proxy
http_access deny all

access_log /usr/local/squid/logs/access.log squid
cache_log /usr/local/squid/logs/cache.log
cache_store_log none
logfile_rotate 1

never_direct deny local-servers
never_direct allow all
-= ФриБииСДи! И не БиСДи! =- Copyright (Korenev Boris)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение skeletor » 2011-04-19 9:46:51

Сам столкнулся с таким. Вот, что удалось выяснить. Заметил такую закономерность (если выполнить одно из этих условий, неважно какое):
1) Если убрать из файла nnswitch.conf упоминания о winbind'e тормоза пропадают.
2) Если в конфиге самбы выставить

Код: Выделить всё

winbind enum groups = no
winbind enum users = no
Остановился на втором варианте.

Аватара пользователя
korbnik
сержант
Сообщения: 267
Зарегистрирован: 2008-03-25 14:29:08
Откуда: Москва
Контактная информация:

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение korbnik » 2011-04-19 10:46:52

Спасибо большое, помог 2) пункт.
-= ФриБииСДи! И не БиСДи! =- Copyright (Korenev Boris)

suspender
сержант
Сообщения: 160
Зарегистрирован: 2007-11-19 10:47:09

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение suspender » 2011-04-21 11:13:57

Если не секрет, сколько у вас пользователей в AD ? (хотя бы порядок - 10, 100, 1000 ?)

Аватара пользователя
korbnik
сержант
Сообщения: 267
Зарегистрирован: 2008-03-25 14:29:08
Откуда: Москва
Контактная информация:

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение korbnik » 2011-04-21 11:16:59

Порядка тысяча с лишним
-= ФриБииСДи! И не БиСДи! =- Copyright (Korenev Boris)

Аватара пользователя
korbnik
сержант
Сообщения: 267
Зарегистрирован: 2008-03-25 14:29:08
Откуда: Москва
Контактная информация:

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение korbnik » 2011-04-21 11:19:51

wbinfo -u | wc -l
очень долго выполняется когда я убрал winbind в файле /etc/nsswitch.conf
а с ним быстро.
-= ФриБииСДи! И не БиСДи! =- Copyright (Korenev Boris)

suspender
сержант
Сообщения: 160
Зарегистрирован: 2007-11-19 10:47:09

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение suspender » 2011-04-21 12:33:53

korbnik писал(а):Порядка тысяча с лишним
Ну да, когда > 1000 то я даже где то в samba by example видел рекомендацию ставить

Код: Выделить всё

winbind enum groups = no
winbind enum users = no
Иначе будут тормоза типа.

Name
рядовой
Сообщения: 47
Зарегистрирован: 2008-08-26 17:44:35

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение Name » 2011-04-24 10:30:21

Подскажите как настроить авторизацию на два контроллера?

Код: Выделить всё

[global]
    # Рабочая группа
    workgroup = MYDOMAIN
    # тип безопасности - Актив Директори
    security = ADS
    # Сервер паролей - тут указывается контроллер домена
    password server = 10.10.0.1 10.10.0.2

suspender
сержант
Сообщения: 160
Зарегистрирован: 2007-11-19 10:47:09

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение suspender » 2011-04-24 11:53:06

На два контроллера одного домена ? Или разных доменов ?
Я вообще всюду (и в smb.conf и в krb5.conf) пишу mydomain.loc - который в свою очередь резолвится в ip-шнеги контроллеров домена. Причем, в одном месте, конфа уже претерпела глобальную смену адресации сети, и повидала около 5-и разных КД (какие то сдыхали, какие то просто планово заменялись). И пока ничего не сбоило особо.

Name
рядовой
Сообщения: 47
Зарегистрирован: 2008-08-26 17:44:35

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение Name » 2011-04-24 21:38:41

Я тоже так писал, ну при пингах то один контроллер то второй
Но при выключении основного контроллера домена авторизация падала

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Авторизация в squid-е используя Windows AD

Непрочитанное сообщение skeletor » 2011-04-26 10:18:59

Name писал(а):Но при выключении основного контроллера домена авторизация падала
Значит проблема со вторым контроллером: он не может авторизировать. Здесь может быть несколько причин, файервол, неудачная репликация с основного контроллера и т.д.