SQUID NTLM AUTH

Аватара пользователя
Сергеев Константин
Любопытный
Сообщения: 12
Зарегистрирован: 18 дек 2017 13:29
Контактная информация:

SQUID NTLM AUTH

Сообщение Сергеев Константин » 18 дек 2017 14:29

Коллеги, добрый день!
настроил по вашей инструкции прокси SQUID ( SQUID 3.5.12) на сервер Ubuntu 16.04.3 LTS, но получаю ошибки:
2017/12/18 17:00:11 kid1| ERROR: Negotiate Authentication validating user. Result: {result=BH, notes={message: NT_STATUS_UNSUCCESSFUL NT_STATUS_UNSUCCESSFUL; }}

Нашел тут ветку с аналогичной ошибкой, выполнил все проверки и понял что у меня squid запускается от root-a а не от пользователя proxy.
root@ubuntu:/etc/squid# sudo ps -aux | grep /usr/sbin/squid
root 945 0.0 0.2 109276 6588 ? Ss Dec17 0:00 /usr/sbin/squid -YC -f /etc/squid/squid.conf
root 15422 0.0 0.0 12944 940 pts/0 S+ 16:23 0:00 grep --color=auto /usr/sbin/squid
Подскажите пожалуйста, как переделать запуск от имени пользователя proxy
Премного благодарен.

Аватара пользователя
Сергеев Константин
Любопытный
Сообщения: 12
Зарегистрирован: 18 дек 2017 13:29
Контактная информация:

Re: SQUID NTLM AUTH

Сообщение Сергеев Константин » 19 дек 2017 15:10

Выполнил тесты:

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

root@ubuntu:~# /usr/lib/squid/ext_ldap_group_acl -d -v 3 -P -R -K -b "dc=intranet,dc=mydomain,dc=ru" -D squidkerb@intranet.mydomain.ru -W /etc/squid/conf_param_ldappass.txt -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf:1.2.840.113556.1.4.1941:=cn=%g,OU=GROUPS,DC=intranet,DC=mydomain,DC=ru))" -h dcterm.intranet.mydomain.ru dc01.intranet.mydomain.ru
test UBUNTU-Internet-Standart
ext_ldap_group_acl.cc(579): pid=3442 :Connected OK
ext_ldap_group_acl.cc(718): pid=3442 :group filter '(&(objectclass=person)(sAMAccountName=test)(memberOf:1.2.840.113556.1.4.1941:=cn=UBUNTU-Internet-Standart,OU=GROUPS,DC=intranet,DC=mydomain,DC=ru))', searchbase 'dc=intranet,dc=mydomain,dc=ru'
ERR

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

root@ubuntu:~# sudo wbinfo -t
checking the trust secret for domain MYDOMAIN via RPC calls succeeded

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

root@ubuntu:~# sudo ps -aux | grep /usr/sbin/squid
root       962  0.0  0.2 109276  6380 ?        Ss   10:02   0:00 /usr/sbin/squid -YC -f /etc/squid/squid.conf
root      3431  0.0  0.0  12944   928 pts/0    S+   18:00   0:00 grep --color=auto /usr/sbin/squid

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

root@ubuntu:~# sudo getent group winbindd_priv
winbindd_priv:x:119:proxy

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

root@ubuntu:~# 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 parameters
[global]
        workgroup = MYDOMAIN
        realm = intranet.mydomain.ru
        interfaces = 192.168.0.0/14
        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 kom:range = 10000-80000
        idmap config kom:backend = rid
        idmap config *:range = 10000-80000
        idmap config * : backend = tdb

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

root@ubuntu:~# sudo ls -la /var/run/samba/winbindd_privileged
total 0
drwxr-x--- 2 root winbindd_priv  40 Dec 19 10:14 .
drwxr-xr-x 8 root root          500 Dec 19 17:56 ..
root@ubuntu:~# sudo ls -la /var/lib/samba/winbindd_privileged
total 8
drwxr-x--- 2 root winbindd_priv 4096 Dec 19 10:14 .
drwxr-xr-x 6 root root          4096 Dec 19 10:14 ..
srwxrwxrwx 1 root root             0 Dec 19 10:14 pipe

Аватара пользователя
Сергеев Константин
Любопытный
Сообщения: 12
Зарегистрирован: 18 дек 2017 13:29
Контактная информация:

Re: SQUID NTLM AUTH

Сообщение Сергеев Константин » 20 дек 2017 09:19

Я не правильно тестировал хелпер, оказывается членство в группах он проверяет как надо.
осталось понять как запустить от имени proxy, в конфиге squid.conf , если я правильно понял, тот кусок, который отвечает за запуск от имени, вообще пустой, а по дефолту пользователь proxy. Вобще не понятно, где при инсталляции задается пользователь от чьего имени будет стартовать сервис squid.

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

root@ubuntu:~# /usr/lib/squid/ext_ldap_group_acl -d -v 3 -P -R -K -b "dc=intranet,dc=mydomain,dc=ru" -D squidkerb@intranet.mydomain.ru -W /etc/squid/conf_param_ldappass.txt -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf:1.2.840.113556.1.4.1941:=cn=%g,OU=GROUPS,DC=intranet,DC=mydomain,DC=ru))" -h dcterm.intranet.mydomain.ru dc01.intranet.mydomain.ru
test UBUNTU-Internet-Standart
ext_ldap_group_acl.cc(579): pid=5995 :Connected OK
ext_ldap_group_acl.cc(718): pid=5995 :group filter '(&(objectclass=person)(sAMAccountName=test)(memberOf:1.2.840.113556.1.4.1941:=cn=UBUNTU-Internet-Standart,OU=GROUPS,DC=intranet,DC=mydomain,DC=ru))', searchbase 'dc=intranet,dc=mydomain,dc=ru'
ERR
ivanova UBUNTU-Internet-Full-Auth
ext_ldap_group_acl.cc(718): pid=5995 :group filter '(&(objectclass=person)(sAMAccountName=ivanova)(memberOf:1.2.840.113556.1.4.1941:=cn=UBUNTU-Internet-Full-Auth,OU=GROUPS,DC=intranet,DC=mydomain,DC=ru))', searchbase 'dc=intranet,dc=mydomain,dc=ru'
OK
ivanova UBUNTU-Internet-Standart
ext_ldap_group_acl.cc(718): pid=5995 :group filter '(&(objectclass=person)(sAMAccountName=ivanova)(memberOf:1.2.840.113556.1.4.1941:=cn=UBUNTU-Internet-Standart,OU=GROUPS,DC=intranet,DC=mydomain,DC=ru))', searchbase 'dc=intranet,dc=mydomain,dc=ru'
ext_ldap_group_acl.cc(579): pid=5995 :Connected OK
ext_ldap_group_acl.cc(718): pid=5995 :group filter '(&(objectclass=person)(sAMAccountName=ivanova)(memberOf:1.2.840.113556.1.4.1941:=cn=UBUNTU-Internet-Standart,OU=GROUPS,DC=intranet,DC=mydomain,DC=ru))', searchbase 'dc=intranet,dc=mydomain,dc=ru'
ERR

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

Re: SQUID NTLM AUTH

Сообщение Алексей Максимов » 20 дек 2017 10:57

Здравствуйте, Константин.

За определение имени пользователя, от которого будет работать squid отвечает опция cache_effective_user. И по умолчанию она proxy. Насколько я понимаю, сама служба squid.service (как юнит systemd) запускается от имени root, и её процесс является процессом-родителем, который в свою очередь уже запускает рабочий экземпляр squid от имени пользователя cache_effective_user. У меня вот на Debian 8 корневой процесс службы точно также работает от имени root.

Аватара пользователя
Сергеев Константин
Любопытный
Сообщения: 12
Зарегистрирован: 18 дек 2017 13:29
Контактная информация:

Re: SQUID NTLM AUTH

Сообщение Сергеев Константин » 20 дек 2017 11:31

Алексей, добрый день!
Спасибо за ответ.
Какие-то еще проверки можно выполнить для выявления ошибок?
Хочу отметить что Уровень Домена у меня 2003.

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

Re: SQUID NTLM AUTH

Сообщение Алексей Максимов » 20 дек 2017 11:57

Судя по тому, что я вижу из представленных Вами выводов команд, есть проблема с работой хелпера ext_ldap_group_acl. Хелпер должен возвращать "ОК" для существующего в группе доступа пользователя.

Аватара пользователя
Сергеев Константин
Любопытный
Сообщения: 12
Зарегистрирован: 18 дек 2017 13:29
Контактная информация:

Re: SQUID NTLM AUTH

Сообщение Сергеев Константин » 20 дек 2017 12:07

Возвращает вроде как

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

ivanova UBUNTU-Internet-Full-Auth
иванова существует в группе UBUNTU-Internet-Full-Auth и не существует в других.
Я проверял просто.

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

Re: SQUID NTLM AUTH

Сообщение Алексей Максимов » 20 дек 2017 12:08

Сергеев Константин писал(а):
20 дек 2017 11:31
Хочу отметить что Уровень Домена у меня 2003.

Не исключено, что Ваши контроллеры домена могут не уметь работать с LDAP-фильтром, в который включён OID 1.2.840.113556.1.4.1941 (LDAP_MATCHING_RULE_TRANSITIVE_EVAL)
Обратите внимание на то, что написано в конце этого документа: 3.1.1.3.4.4 LDAP Matching Rules (extensibleMatch)

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

Re: SQUID NTLM AUTH

Сообщение Алексей Максимов » 20 дек 2017 12:11

Сергеев Константин писал(а):
20 дек 2017 12:07
Возвращает вроде как

Ну если хелпер работает, а squid пользователей не аутентифицирует, значит проблему нужно искать в конфиге squid.conf. Нужно проверять правильность вызова хелпера в squid.conf

Аватара пользователя
Сергеев Константин
Любопытный
Сообщения: 12
Зарегистрирован: 18 дек 2017 13:29
Контактная информация:

Re: SQUID NTLM AUTH

Сообщение Сергеев Константин » 20 дек 2017 13:22

Алексей, в конфигурации squid :

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

external_acl_type memberof ttl=1200 ipv4 %LOGIN /usr/lib/squid/ext_ldap_group_acl -P -R -K -b "dc=intranet,dc=mydomain,dc=ru" -D squidkerb@intranet.mydomain.ru -W /etc/squid/conf_param_ldappass.txt -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf:1.2.840.113556.1.4.1941:=cn=%g,ou=GROUPS,dc=intranet,dc=mydomain,dc=ru))" -h dcterm.intranet.mydomain.ru dc01.intranet.mydomain.ru

Ответить

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