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

Исходное сообщение
"squid + ad(не проходит авторизация)"

Отправлено osipen , 09-Дек-08 11:32 
Всем привет!
Не проходит авторизация в домене.

в squid.conf:

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="TEST\\internet"
auth_param ntlm children 30
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="TEST\\internet"
auth_param basic children 4
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

acl internet proxy_auth REQUIRED
http_access allow internet

[root@centos ~]# wbinfo -u
TEST\администратор
TEST\гость
TEST\support_388945a0
TEST\krbtgt
TEST\test

[root@centos ~]# wbinfo -g
BUILTIN\administrators
BUILTIN\users
TEST\компьютеры домена
TEST\контроллеры домена
TEST\администраторы схемы
TEST\администраторы предприятия
TEST\администраторы домена
TEST\пользователи домена
TEST\гости домена
TEST\владельцы-создатели групповой политики
TEST\dnsupdateproxy
TEST\internet
[root@centos ~]#


в access.log:

1228810733.445      1 192.168.252.129 TCP_DENIED/407 1778 GET http://ya.ru/ - NONE/- text/html

в ceche.log:
[2008/12/09 11:15:19, 0] utils/ntlm_auth.c:get_winbind_domain(146)
  could not obtain winbind domain name!
[2008/12/09 11:15:19, 0] utils/ntlm_auth.c:get_winbind_domain(146)
  could not obtain winbind domain name!


Содержание

Сообщения в этом обсуждении
"squid + ad(не проходит авторизация)"
Отправлено Alex , 09-Дек-08 12:08 
вместо "TEST\\internet" поставь его sid

"squid + ad(не проходит авторизация)"
Отправлено osipen , 09-Дек-08 13:00 
>вместо "TEST\\internet" поставь его sid

[root@centos ~]# wbinfo -n internet
S-1-5-21-467374765-1553341467-3494682542-1142 Domain Group (2)
[root@centos ~]#

в squid.conf

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="S-1-5-21-467374765-1553341467-3494682542-1142"
auth_param ntlm children 30
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="S-1-5-21-467374765-1553341467-3494682542-1142"
auth_param basic children 4
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

acl internet proxy_auth REQUIRED
http_access allow internet

в access.log

1228816530.215      1 192.168.252.129 TCP_DENIED/407 1787 GET http://google.ru/ - NONE/- text/html
1228816530.246      7 192.168.252.129 TCP_DENIED/407 1855 GET http://google.ru/ - NONE/- text/html
1228816530.262     16 192.168.252.129 TCP_DENIED/403 1435 GET http://google.ru/ TEST\test NONE/- text/html


"squid + ad(не проходит авторизация)"
Отправлено Сергей , 09-Дек-08 14:13 
Права на winbindd_privileged, ну вообщем в var\db\samba, там найдешь, надо дать squid'у.
При этом без разницы по sid или напрямую по группе будешь проверять

"squid + ad(не проходит авторизация)"
Отправлено osipen , 09-Дек-08 14:44 
>Права на winbindd_privileged, ну вообщем в var\db\samba, там найдешь, надо дать squid'у.
>
> При этом без разницы по sid или напрямую по группе будешь
>проверять

Если изменить права то winbind не хочет стартовать
drwxr-x--- 2 root squid  4096 Дек  9 14:41 winbindd_privileged



"squid + ad(не проходит авторизация)"
Отправлено Alex , 09-Дек-08 15:02 
Сделай drwxr-xr--


"squid + ad(не проходит авторизация)"
Отправлено osipen , 09-Дек-08 15:12 
>Сделай drwxr-xr--

сделал winbind не стартует.


"squid + ad(не проходит авторизация)"
Отправлено Alex , 09-Дек-08 15:17 
Хм....
У меня drwxr-x---  2 root  squid
в nsswitch.conf  winbind прописан(правда к к тому , что он не стартует этоотношения не имеет)?


"squid + ad(не проходит авторизация)"
Отправлено Kliver , 09-Дек-08 15:53 
>Всем привет!
>Не проходит авторизация в домене.
>
>
>
>в ceche.log:
>[2008/12/09 11:15:19, 0] utils/ntlm_auth.c:get_winbind_domain(146)
>  could not obtain winbind domain name!
>[2008/12/09 11:15:19, 0] utils/ntlm_auth.c:get_winbind_domain(146)
>  could not obtain winbind domain name!

smb.conf покажи
Попробуй указывать имя пользователя в виде TEST\user при запросе пароля
В smb.conf
use winbind default domain = yes


"squid + ad(не проходит авторизация)"
Отправлено osipen , 09-Дек-08 16:17 

smb.conf:

[global]
workgroup = TEST
netbios name = centos
server string = Samba Server 3.0
security = ads
realm = TEST.LOCAL
password server = 192.168.252.129

#только что добавил ради того что бы убрать netbios имя TEST. TEST\test
winbind separator = +
winbind use default domain = yes

encrypt passwords = yes
printcap name = /etc/printcap
load printers = yes
printing = cups
log file = /var/log/samba/%m.log
max log size = 0
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
domain master = no
preferred master = no
dns proxy = no

В squid.conf (покажу целиком).
http_port 192.168.252.130:3128
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_dir ufs /etc/squid/cache 200 32 384
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_swap_log /var/log/squid/swap.log
cache_store_log none

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

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

acl all src 192.168.252.100

acl internet proxy_auth REQUIRED
http_access allow internet
http_access allow all

cache_effective_user squid
cache_effective_group squid

В логах:
1228828525.215      4 192.168.252.129 TCP_DENIED/407 1799 GET http://www.google.ru/ - NONE/- text/html
1228828525.236     12 192.168.252.129 TCP_DENIED/407 1867 GET http://www.google.ru/ - NONE/- text/html
1228828525.568    331 192.168.252.129 TCP_DENIED/403 1428 GET http://www.google.ru/ test DIRECT/64.233.183.103 text/html


"squid + ad(не проходит авторизация)"
Отправлено Сергей , 09-Дек-08 17:09 
Я бы убрал сепаратор + из smb.conf, заставил бы нормально стартануть winbind и еще?
я helper брал из поставки samba и не из поставки сквида, у меня FreeBSD7, т.е. из /usr/local/bin/ntlm_auth

"squid + ad(не проходит авторизация)"
Отправлено osipen , 09-Дек-08 17:52 
> Я бы убрал сепаратор + из smb.conf, заставил бы нормально стартануть
>winbind и еще?
>я helper брал из поставки samba и не из поставки сквида, у
>меня FreeBSD7, т.е. из /usr/local/bin/ntlm_auth

Дружище тебе повезло, что тебе можно ставить серваки на FreeBSD. У меня корпоративный стандарт CentOS, я ненавижу поднимать на Linux сервера. Короче с инета качнул rpm squid 3.0
и все заработало.
вот правда немного конфиг подредактировал.

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="TEST+internet"
auth_param ntlm children 30
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="TEST+internet"
auth_param basic children 4
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

acl internet proxy_auth REQUIRED
http_access allow internet


"squid + ad(не проходит авторизация)"
Отправлено Sparrow , 10-Дек-08 10:26 
Дорогой ты мой человек! Я уже с месяц бьюсь с squid 3 на CentOS - полный нубише в этом деле(( Расскажи, что ты делал.
Вот, например, как я монтировал всю эту }{рень:
1.Установил COS
2.Сконфигурировал yum, yum update
3.Скачал и поставил squid 3 без поддержки (говорят, что нужно использовать неродной для сквида нтлм хелпер)
4.время подправил ntpdate kdc.
5./etc/hosts
6./etc/resolve.conf
7./etc/krb5.conf (kinit - user@REALM отработало, klist - запись есть)
8./etc/samba/smb.conf
9.net ads join -U poweruser@REALM - отработало
10.запуск winbindd
11.тест wbinfo -u   список пользователей.
12./usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
говорит
utils/ntlm_auth.c:get_winbind_domain(146)
  could not obtain winbind domain name!

я вот думаю - может пропустил чего из настроек?


"squid + ad(не проходит авторизация)"
Отправлено serga370 , 26-Сен-12 17:27 
у меня получилось так! centos 6.3 в связке с 2008_sp1_standard_x64

1. Синхронизируем время с контроллером домена. Установим пакет ntp:
   #yum install ntp

2. Разово синхронизируем время с контроллером домена:
   #ntpdate dc.domain.local   (или 192.168.168.200 то есть ip PDC)

3. Правим /etc/ntp.conf, оставляем только один сервер синхронизации наш контроллер         домена:
server dc.domain.local или (IP)

4. Запускаем сервис и добавляем в автозагрузку:#/etc/init.d/ntpd start
   #chkconfig ntpd on

5. Устанавливаем необходимые пакеты:
   #yum install authconfig krb5-workstation samba-common samba-winbind squid

6. Используя authconfig, сконфигурируем samba, winbind и включим прокси сервер в AD
команда:
#authconfig --enableshadow --enablemd5 --passalgo=md5 --krb5kdc=srvdc1.aqua.local --krb5realm=AQUA.LOCAL --smbservers=srvdc1.aqua.local --smbworkgroup=AQUA --enablewinbind --enablewinbindauth --smbsecurity=ads --smbrealm=AQUA.LOCAL --smbidmapuid="16777216-33554431" --smbidmapgid="16777216-33554431" --winbindseparator="+"  --winbindtemplateshell="/bin/false" --enablewinbindusedefaultdomain --disablewinbindoffline --winbindjoin=Administrator --disablewins --disablecache --enablelocauthorize --updateall
где srvdc1.aqua.local нужно заменить на IP контроллера домена или добавить в /etc/hosts
192.168.168.200  srvdc1.aqua.local

после команды затребует пароль админа DC и  выдаст примерно такое:

Enter Administrator's password:
[2012/09/26 17:07:04.990011,  0] libads/sasl.c:823(ads_sasl_spnego_bind)
  kinit succeeded but ads_sasl_spnego_krb5_bind failed: Strong(er) authentication required
Failed to join domain: failed to connect to AD: Strong(er) authentication required
ADS join did not work, falling back to RPC...
Enter Administrator's password:
Joined domain AQUA.
Starting Winbind services:                                 [  OK  ]
[root@localhost ~]#

7. Далее добавим пользователя squid в группу wbpriv. Дело в том что при аутентификации squid обращается к директории /var/lib/squid/winbindd_privileged которая имеет атрибуты 750, поэтому после добавления в группу squid сможет читать из нее.
# usermod -a -G wbpriv squid

8. Добавим в squid.conf следующие строки для аутентификации:
################
auth_param ntlm program /usr/bin/ntlm_auth  --helper-protocol=squid-2.5-ntlmssp --require-membership-of=S-1-5-21-1209986707-1960890614-2641544945-17142
auth_param ntlm children 25
auth_param ntlm keep_alive off

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=S-1-5-21-1209986707-1960890614-2641544945-17142
auth_param basic children 15
auth_param basic realm Proxy Autentification Required
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

acl AUTH proxy_auth REQUIRED
############
И перед строкой http_access deny all в этом же конфиге добавим:
http_access allow AUTH localnet

где localnet в дефолтном конфиге — список адресов локальной сети.

Здесь basic аутентификация нужна для не доменных клинтов (учетка в домене для них все равно должна быть).

Запись в строке аутентификации:
--require-membership-of=S-1-5-21-1209986707-1960890614-2641544945-17142
Это sid группы членам которой разрешен выход в интернет (посмотреть можно в лдап домена, например через adsiedit). На этом настройка закончена.

-------------------------- Мой рабочий конфиг ------------------------------
с настройкой особо не парился! сделал только то что мне надо!
можно было и сети удалить и поднастроить но и так работает!

#
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
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 CONNECT method CONNECT

#
# Recommended minimum Access Permission configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
# http_access allow localnet
# http_access allow localhost

# And finally deny all other access to this proxy

здесь авторизация пользователей
##########################################################################################

auth_param ntlm program /usr/bin/ntlm_auth  --helper-protocol=squid-2.5-ntlmssp --require-membership-of=S-1-5-21-1899019005-4025699987-1712084579-1112
auth_param ntlm children 25
auth_param ntlm keep_alive off

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=S-1-5-21-1899019005-4025699987-1712084579-1112
auth_param basic children 15
auth_param basic realm Proxy Autentification Required
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

acl AUTH proxy_auth REQUIRED

здесь мы разрешаем учетке логиниться только с одного компа! то есть две одинаковые учетки
не могут работать на разных компах! для того что бы весь офис не сидел из одной учетки!

# one user on IP
authenticate_ip_ttl 1 hours
acl maxuser max_user_ip -s 1
http_access deny maxuser
#

http_access allow AUTH localnet
http_access deny all

#########################################################################################

# Squid normally listens to port 3128
http_port 3128

# We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?

# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

##########################################################################

Материал взят из источника:
http://www.theadmin.ru/linux/centos/
nastrojka-autentifikacii-squid-v-domene-windows-s-pomoshhyu-ntlm/



"squid + ad(не проходит авторизация)"
Отправлено Роман , 14-Фев-14 09:39 
>[оверквотинг удален]
>  0%      1440
> refresh_pattern -i (/cgi-bin/|\?) 0     0%    
>   0
> refresh_pattern .          
>     0      
> 20%     4320
> ##########################################################################
> Материал взят из источника:
> http://www.theadmin.ru/linux/centos/
> nastrojka-autentifikacii-squid-v-domene-windows-s-pomoshhyu-ntlm/

хоть бы поясняли что за цифирки
auth_param ntlm program /usr/bin/ntlm_auth  --helper-protocol=squid-2.5-ntlmssp --require-membership-of=S-1-5-21-1899019005-4025699987-1712084579-1112


"squid + ad(не проходит авторизация)"
Отправлено Роман , 14-Фев-14 10:00 
Подскажите пожалуйста гуру squid начинающему балбесу:
я прописал прокси.он у меня работает с компа (ip его указал)
я завёл пользователей , назначил им пароли...Но не могу аутентификацию по паролю сделать

Жду вашей помощи,уважаемые гуру