SqUid3 + ntlm (как найти ошибку ?)

Dekabryi
Любопытный
Сообщения: 15
Зарегистрирован: 29 янв 2016 07:56

SqUid3 + ntlm (как найти ошибку ?)

Сообщение Dekabryi »

Доброе время суток.

Воспользовался серией статей для установки и настройки SQUID + AD.

Но увы где то допустил ошибку.
Прошу помощи в нахождении оной.
Суть такая, Basic работает и пускает пользователей согласно списка групп.
Но если я включаю NTLM, IE упорно спрашивает пароль, а Chrom не спрашивает кто я такой.

С Ubuntu я на вы.

------------------------------------
access.log пишет
TCP_DENIED/407 3980 CONNECT clients4.google.com:443 - HIER_NONE/- text/html
----------------------------------
testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions

[global]
workgroup = ABS
realm = ABS.LOCOL
interfaces = 172.16.0.0/24
bind interfaces only = Yes
security = ADS
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind nss info = rfc2307
idmap config ABS:range = 10000-80000
idmap config ABS:backend = rid
idmap config *:range = 10000-80000
idmap config * : backend = tdb
----------------------------------
sudo net ads keytab list

Warning: "kerberos method" must be set to a keytab method to use keytab functions.
Vno Type Principal
3 des-cbc-crc HTTP/al-sgw002.ABS.locol@ABS.LOCOL
3 des-cbc-md5 HTTP/al-sgw002.ABS.locol@ABS.LOCOL
3 arcfour-hmac-md5 HTTP/al-sgw002.ABS.locol@ABS.LOCOL
3 aes256-cts-hmac-sha1-96 HTTP/al-sgw002.ABS.locol@ABS.LOCOL
3 aes128-cts-hmac-sha1-96 HTTP/al-sgw002.ABS.locol@ABS.LOCOL

--------------------
al-sgw002:~$ sudo getent group winbindd_priv
winbindd_priv:x:129:proxy
------------------
al-sgw002:~$ sudo ps -aux | grep /usr/sbin/squid3
proxy 3672 0.0 1.2 132124 39432 ? Ss Қаң28 0:16 /usr/sbin/squid3 -N -YC -f /etc/squid3/squid.conf


Прошу наставлений на путь истинный.
Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 572
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: SqUid3 + ntlm (как найти ошибку ?)

Сообщение Алексей Максимов »

Покажите ту часть squid.conf где прописаны настройки Kerberos/NTLM аутентификации + где выполняется проверка членства в доменных группах (авторизация)
Dekabryi
Любопытный
Сообщения: 15
Зарегистрирован: 29 янв 2016 07:56

Re: SqUid3 + ntlm (как найти ошибку ?)

Сообщение Dekabryi »

# SQUID 3.3.8 Configuration
# -----------------------------------------------------------------------------
#
# OPTIONS FOR AUTHENTICATION
# -----------------------------------------------------------------------------
#
# Negotiate Kerberos and NTLM authentication
#----
auth_param negotiate program /usr/lib/squid3/negotiate_wrapper_auth --ntlm /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --kerberos /usr/lib/squid3/negotiate_kerberos_auth -r -s "HTTP/al-sgw002.abs.locol@abs.locol"
auth_param negotiate children 200 startup=50 idle=10
auth_param negotiate keep_alive off

# Only NTLM authentication
#---
auth_param ntlm program /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 100 startup=20 idle=5
auth_param ntlm keep_alive off

# Basic authentication via ldap for clients not authenticated via kerberos/ntlm
auth_param basic program /usr/lib/squid3/basic_ldap_auth -v 3 -P -R -b "dc=abs,dc=locol" -D "squid@abs.locol" -W "/etc/squid3/conf_param_ldappass.txt" -f "sAMAccountName=%s" -h 172.16.0.32
auth_param basic children 20
auth_param basic realm "DC1 SQUID Proxy Server Basic authentication!"
auth_param basic credentialsttl 2 hours

# ACCESS CONTROLS
# -----------------------------------------------------------------------------
#
# LDAP authorization
external_acl_type memberof ttl=3600 ipv4 %LOGIN /usr/lib/squid3/ext_ldap_group_acl -v 3 -P -R -K -b "dc=abs,dc=locol" -D "squid@abs.locol" -W "/etc/squid3/conf_param_ldappass.txt" -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf:1.2.840.113556.1.4.1941:=cn=%g,OU=internet,OU=Groups,DC=abs,DC=locol))" -h 172.16.0.32
#
Dekabryi
Любопытный
Сообщения: 15
Зарегистрирован: 29 янв 2016 07:56

Re: SqUid3 + ntlm (как найти ошибку ?)

Сообщение Dekabryi »

У пользователя вот такая ошибка
*************
ERROR
Cache Доступ запрещён.

--------------------------------------------------------------------------------

При получении URL http://ya.ru/ произошла следующая ошибка

Доступ к кэшу запрещён.

Извините, Вы не можете запросить http://ya.ru/ из этого кэша до тех пор, пока не пройдёте аутентификацию.
************************************************
Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 572
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: SqUid3 + ntlm (как найти ошибку ?)

Сообщение Алексей Максимов »

Вполне возможно что проблема вообще с Kerberos а не с NTLM.
Попробуйте отключить вообще Kerberos используя только NTLM аутентификацию.
Для этого закомментируйте блок:

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

# -----------------------------------------------------------------------------
#
# Negotiate Kerberos and NTLM authentication
#----
##auth_param negotiate program /usr/lib/squid3/negotiate_wrapper_auth --ntlm /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --kerberos /usr/lib/squid3/negotiate_kerberos_auth -r -s "HTTP/al-sgw002.abs.locol@abs.locol"
##auth_param negotiate children 200 startup=50 idle=10
##auth_param negotiate keep_alive off
И оставьте только NTLM

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

# Only NTLM authentication
#---
auth_param ntlm program /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 100 startup=20 idle=5
auth_param ntlm keep_alive off
Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 572
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: SqUid3 + ntlm (как найти ошибку ?)

Сообщение Алексей Максимов »

И возможно какие-то явные ошибки будет видно в cache.log
Dekabryi
Любопытный
Сообщения: 15
Зарегистрирован: 29 янв 2016 07:56

Re: SqUid3 + ntlm (как найти ошибку ?)

Сообщение Dekabryi »

лог большой получается
Вот что есть
******
GET http://ya.ru/ HTTP/1.1
Accept: image/jpeg, image/gif, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap, */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
Accept-Encoding: gzip, deflate
Proxy-Connection: Keep-Alive
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAIYAAAAYABgAngAAABAAEABYAAAAGAAYAGgAAAAGAAYAgAAAAAAAAAC2AAAABYKIogYBsB0AAAAP4SSU5+MEcqbYze1b5MkfIUsAQQBaAE4ASQBJAFMAQQBhAGYAaQBsAG8AbgB0AHMAZQB2AF8AbQBEAEMAMQDiEh65ByIdFAAAAAAAAAAAAAAAAAAAAADLbM4D7elgvineGvpNRdCbxJTwAbDKQFM=
Host: ya.ru


----------
2016/01/29 15:36:43.160| comm.cc(773) commSetConnTimeout: local=172.16.0.1:3128 remote=172.16.0.32:63072 FD 10 flags=1 timeout 86400
2016/01/29 15:36:43.160| url.cc(386) urlParse: urlParse: Split URL 'http://ya.ru/' into proto='http', host='ya.ru', port='80', path='/'
2016/01/29 15:36:43.160| Address.cc(409) LookupHostIP: Given Non-IP 'ya.ru': Name or service not known
2016/01/29 15:36:43.160| client_side.cc(840) clientSetKeepaliveFlag: clientSetKeepaliveFlag: http_ver = 1.1
2016/01/29 15:36:43.160| client_side.cc(842) clientSetKeepaliveFlag: clientSetKeepaliveFlag: method = GET
2016/01/29 15:36:43.160| client_side_request.cc(162) ClientRequestContext: 0x7f16caf70018 ClientRequestContext constructed
2016/01/29 15:36:43.160| client_side_request.cc(1554) doCallouts: Doing calloutContext->hostHeaderVerify()
2016/01/29 15:36:43.160| client_side_request.cc(674) hostHeaderVerify: validate host=ya.ru, port=0, portStr=NULL
2016/01/29 15:36:43.160| client_side_request.cc(688) hostHeaderVerify: validate skipped.
2016/01/29 15:36:43.160| client_side_request.cc(1561) doCallouts: Doing calloutContext->clientAccessCheck()
2016/01/29 15:36:43.160| Checklist.cc(153) preCheck: 0x7f16caf524c8 checking slow rules
2016/01/29 15:36:43.160| Checklist.cc(160) checkAccessList: 0x7f16caf524c8 checking 'http_access deny !Safe_ports'
2016/01/29 15:36:43.160| Acl.cc(336) matches: ACLList::matches: checking !Safe_ports
2016/01/29 15:36:43.160| Acl.cc(319) checklistMatches: ACL::checklistMatches: checking 'Safe_ports'
2016/01/29 15:36:43.160| Acl.cc(321) checklistMatches: ACL::ChecklistMatches: result for 'Safe_ports' is 1
2016/01/29 15:36:43.160| Checklist.cc(275) matchNode: 0x7f16caf524c8 matched=0 async=0 finished=0
2016/01/29 15:36:43.160| Checklist.cc(299) matchNode: 0x7f16caf524c8 simple mismatch
2016/01/29 15:36:43.160| Checklist.cc(160) checkAccessList: 0x7f16caf524c8 checking 'http_access deny CONNECT !SSL_ports'
2016/01/29 15:36:43.160| Acl.cc(336) matches: ACLList::matches: checking CONNECT
2016/01/29 15:36:43.160| Acl.cc(319) checklistMatches: ACL::checklistMatches: checking 'CONNECT'
2016/01/29 15:36:43.160| Acl.cc(321) checklistMatches: ACL::ChecklistMatches: result for 'CONNECT' is 0
2016/01/29 15:36:43.160| Checklist.cc(275) matchNode: 0x7f16caf524c8 matched=0 async=0 finished=0
2016/01/29 15:36:43.160| Checklist.cc(299) matchNode: 0x7f16caf524c8 simple mismatch
2016/01/29 15:36:43.160| Checklist.cc(160) checkAccessList: 0x7f16caf524c8 checking 'http_access allow localhost manager'
2016/01/29 15:36:43.160| Acl.cc(336) matches: ACLList::matches: checking localhost
2016/01/29 15:36:43.160| Acl.cc(319) checklistMatches: ACL::checklistMatches: checking 'localhost'
2016/01/29 15:36:43.160| Ip.cc(560) match: aclIpMatchIp: '172.16.0.32:63072' NOT found
2016/01/29 15:36:43.160| Acl.cc(321) checklistMatches: ACL::ChecklistMatches: result for 'localhost' is 0
2016/01/29 15:36:43.160| Checklist.cc(275) matchNode: 0x7f16caf524c8 matched=0 async=0 finished=0
2016/01/29 15:36:43.160| Checklist.cc(299) matchNode: 0x7f16caf524c8 simple mismatch
2016/01/29 15:36:43.160| Checklist.cc(160) checkAccessList: 0x7f16caf524c8 checking 'http_access allow localnet manager'
2016/01/29 15:36:43.160| Acl.cc(336) matches: ACLList::matches: checking localnet
2016/01/29 15:36:43.160| Acl.cc(319) checklistMatches: ACL::checklistMatches: checking 'localnet'
2016/01/29 15:36:43.160| Ip.cc(560) match: aclIpMatchIp: '172.16.0.32:63072' found
2016/01/29 15:36:43.160| Acl.cc(321) checklistMatches: ACL::ChecklistMatches: result for 'localnet' is 1
2016/01/29 15:36:43.160| Checklist.cc(275) matchNode: 0x7f16caf524c8 matched=1 async=0 finished=0
2016/01/29 15:36:43.160| Acl.cc(336) matches: ACLList::matches: checking manager
2016/01/29 15:36:43.160| Acl.cc(319) checklistMatches: ACL::checklistMatches: checking 'manager'
2016/01/29 15:36:43.160| RegexData.cc(71) match: aclRegexData::match: checking 'http://ya.ru/'
2016/01/29 15:36:43.160| RegexData.cc(82) match: aclRegexData::match: looking for '(^cache_object://)'
2016/01/29 15:36:43.160| RegexData.cc(82) match: aclRegexData::match: looking for '(^https?://[^/]+/squid-internal-mgr/)'
2016/01/29 15:36:43.161| Acl.cc(321) checklistMatches: ACL::ChecklistMatches: result for 'manager' is 0
2016/01/29 15:36:43.161| Checklist.cc(275) matchNode: 0x7f16caf524c8 matched=0 async=0 finished=0
2016/01/29 15:36:43.161| Checklist.cc(299) matchNode: 0x7f16caf524c8 simple mismatch
2016/01/29 15:36:43.161| Checklist.cc(160) checkAccessList: 0x7f16caf524c8 checking 'http_access deny manager'
2016/01/29 15:36:43.161| Acl.cc(336) matches: ACLList::matches: checking manager
2016/01/29 15:36:43.161| Acl.cc(319) checklistMatches: ACL::checklistMatches: checking 'manager'
2016/01/29 15:36:43.161| RegexData.cc(71) match: aclRegexData::match: checking 'http://ya.ru/'
2016/01/29 15:36:43.161| RegexData.cc(82) match: aclRegexData::match: looking for '(^cache_object://)'
2016/01/29 15:36:43.161| RegexData.cc(82) match: aclRegexData::match: looking for '(^https?://[^/]+/squid-internal-mgr/)'
2016/01/29 15:36:43.161| Acl.cc(321) checklistMatches: ACL::ChecklistMatches: result for 'manager' is 0
2016/01/29 15:36:43.161| Checklist.cc(275) matchNode: 0x7f16caf524c8 matched=0 async=0 finished=0
2016/01/29 15:36:43.161| Checklist.cc(299) matchNode: 0x7f16caf524c8 simple mismatch
2016/01/29 15:36:43.161| Checklist.cc(160) checkAccessList: 0x7f16caf524c8 checking 'http_access allow GlobalWUSites LocalWUServers'
2016/01/29 15:36:43.161| Acl.cc(336) matches: ACLList::matches: checking GlobalWUSites
2016/01/29 15:36:43.161| Acl.cc(319) checklistMatches: ACL::checklistMatches: checking 'GlobalWUSites'
2016/01/29 15:36:43.161| DomainData.cc(131) match: aclMatchDomainList: checking 'ya.ru'
2016/01/29 15:36:43.161| DomainData.cc(135) match: aclMatchDomainList: 'ya.ru' NOT found
2016/01/29 15:36:43.161| Acl.cc(321) checklistMatches: ACL::ChecklistMatches: result for 'GlobalWUSites' is 0
2016/01/29 15:36:43.161| Checklist.cc(275) matchNode: 0x7f16caf524c8 matched=0 async=0 finished=0
2016/01/29 15:36:43.161| Checklist.cc(299) matchNode: 0x7f16caf524c8 simple mismatch
2016/01/29 15:36:43.161| Checklist.cc(160) checkAccessList: 0x7f16caf524c8 checking 'http_access allow prioritysites localnet'
2016/01/29 15:36:43.161| Acl.cc(336) matches: ACLList::matches: checking prioritysites
2016/01/29 15:36:43.161| Acl.cc(319) checklistMatches: ACL::checklistMatches: checking 'prioritysites'
2016/01/29 15:36:43.161| DomainData.cc(131) match: aclMatchDomainList: checking 'ya.ru'
2016/01/29 15:36:43.161| DomainData.cc(135) match: aclMatchDomainList: 'ya.ru' NOT found
2016/01/29 15:36:43.161| Acl.cc(321) checklistMatches: ACL::ChecklistMatches: result for 'prioritysites' is 0
2016/01/29 15:36:43.161| Checklist.cc(275) matchNode: 0x7f16caf524c8 matched=0 async=0 finished=0
2016/01/29 15:36:43.161| Checklist.cc(299) matchNode: 0x7f16caf524c8 simple mismatch
2016/01/29 15:36:43.161| Checklist.cc(160) checkAccessList: 0x7f16caf524c8 checking 'http_access deny !auth'
2016/01/29 15:36:43.161| Acl.cc(336) matches: ACLList::matches: checking !auth
2016/01/29 15:36:43.161| Acl.cc(319) checklistMatches: ACL::checklistMatches: checking 'auth'
2016/01/29 15:36:43.161| Acl.cc(321) checklistMatches: ACL::ChecklistMatches: result for 'auth' is -1
2016/01/29 15:36:43.161| Checklist.cc(275) matchNode: 0x7f16caf524c8 matched=0 async=1 finished=0
2016/01/29 15:36:43.161| Checklist.cc(312) matchNode: 0x7f16caf524c8 going async
2016/01/29 15:36:43.161| Checklist.cc(131) asyncInProgress: ACLChecklist::asyncInProgress: 0x7f16caf524c8 async set to 1
2016/01/29 15:36:43.161| AclProxyAuth.cc(144) checkForAsync: checking password via authenticator
2016/01/29 15:36:43.161| Checklist.cc(256) matchNodes: 0x7f16caf524c8 awaiting async operation
2016/01/29 15:36:43.161| IoCallback.cc(108) finish: called for local=[::] remote=[::] FD 9 flags=1 (0, 0)
2016/01/29 15:36:43.161| comm.cc(145) commHandleRead: comm_read_try: FD 9, size 4095, retval 49, errno 0
2016/01/29 15:36:43.161| IoCallback.cc(108) finish: called for local=[::] remote=[::] FD 9 flags=1 (0, 0)
2016/01/29 15:36:43.161| helper.cc(1013) helperStatefulHandleRead: helperStatefulHandleRead: end of reply found
2016/01/29 15:36:43.161| helper.cc(471) helperStatefulReleaseServer: srv-0 flags.reserved = 1
ERROR: NTLM Authentication validating user. Error returned 'BH NT_STATUS_UNSUCCESSFUL NT_STATUS_UNSUCCESSFUL'
*******
Dekabryi
Любопытный
Сообщения: 15
Зарегистрирован: 29 янв 2016 07:56

Re: SqUid3 + ntlm (как найти ошибку ?)

Сообщение Dekabryi »

wbinfo -t
стал показывать
al-sgw002:~$ wbinfo -t
checking the trust secret for domain ABS via RPC calls failed
failed to call wbcCheckTrustCredentials: WBC_ERR_WINBIND_NOT_AVAILABLE
Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 572
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: SqUid3 + ntlm (как найти ошибку ?)

Сообщение Алексей Максимов »

Похоже какие-то проблемы с самбой. Проверьте живали служба winbind
Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 572
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: SqUid3 + ntlm (как найти ошибку ?)

Сообщение Алексей Максимов »

И кстати wbinfo лучше запускать через sudo
Ответить

Вернуться в «Прокси-сервер Squid»