Re: SQUID+LDAP (ну подскажите же кто нибудь ведь тема подобная была уже в 2004г)

От: Dmitry Akindinov <CGatePro_at_mx_ru>
Дата: Thu 31 Aug 2006 - 16:49:54 MSD

Dmitry Akindinov wrote:

> Vladimir A. Butenko wrote:
>> On Thu, 31 Aug 2006 18:11:46 +0600
>>  "Golota S.V." <CGatePro@mx.ru> wrote:

>>> В SQUID-e прописал это:
>>> auth_param basic program /usr/lib/squid/squid_ldap_auth -b
>>> user@turgai.kz ip_CGPro
>>> а лог на это отвечает:
>>>
>>> 8:13:25.088 4 LDAP-001702([192.168.10.11]) got connection on
>>> [192.168.10.4]:389(turgai.kz) from [192.168.10.11]:33771
>>> 18:13:26.698 5 LDAP-001702([192.168.10.11]) inp: SEQ(47) 02 01 01 60
>>> 2A 02 01 02 04 17 75 69 64 3D 73 65 72 67 2C 75 73 65 72 40 74 75 72
>>> 67 61 69 2E 6B 7A 80 0C 4E 42 55 65 63 62 75 66 6B 6D 67 46
>>> 18:13:26.698 4 LDAP-001702([192.168.10.11]) BINDing as
>>> 'uid=serg,user@turgai.kz'
>>> 18:13:26.698 1 LDAP-001702([192.168.10.11]) BIND failed: wwww
>>> 18:13:26.698 5 LDAP-001702([192.168.10.11]) out: 30 2C 02 01 01 61 27
>>> 0A 01 31 04 00 04 20 75 6E 6B 6E 6F 77 6E 20 64 69 72 65 63 74 6F 72
>>> 79 20 61 74 74 72 69 62 75 74 65 20 6E 61 6D 65
>>> 18:13:26.698 5 LDAP-001702([192.168.10.11]) inp: SEQ(5) 02 01 02 42 00
>>> 18:13:26.698 4 LDAP-001702([192.168.10.11]) disconnecting
>>> 18:13:26.699 4 LDAP-001702([192.168.10.11]) closing connection
>>> 18:13:26.699 4 LDAP-001702([192.168.10.11]) releasing stream
>>
>>
>> Видимо, этот SQUID очень умный. И если не видит '=' в bindDN, 
>> придумывает что-то сам, вот и получается - 'uid=serg,user@turgai.kz' - 
>> вместо того, что вы сказали.
> 
> Похоже, что -b задает Base DN, который приписывается ко всем DN. Но, 
> спасибо Гуглу, оказалось что там доступны и другие параметры. Вам не 
> надо указывать -b (а лучше указать его пустым), а вот параметр -f надо 
> задать в виде "%s" или "%s@domain.name". Судя по найденой Гуглом 
> страничке, вам еще надо будет указать -D postmaster -w pm_password.

Последнее нужно для тех случаев, когда модуль аутентификации не пытается сразу сделать ldap_simple_bind, а сначала ищет указанную запись. Так вот, если без поиска этот модуль не может, то его лучше сразу, того, в топку. Иначе он своими поисковыми запросами моздаст совершенно лишнюю нагрузку на сервер. В бщем, я отзываю свою рекомендацию передать еще и "-D postmaster -w pm_password".

>> Что наводит на мысль - а Вы хотите, чтобы оно каждого юзера отдельно 
>> авторизовало? Тогда - а как эта SQUID создаёт BindDN? Если путем 
>> приписывания "uid=<username>," к указанному Вами адресу - то методы с 
>> E-mail не получатся. Либо научите его приписывать что-то другое, 
>> например просто username, тогда базовый DN будет "@domain.com" - и оно 
>> будет посылать "<username>@domain.com", либо тогда базовый  - 
>> "cn=domain.com", оно приписывает uid=username, получаем 
>> uid=username,cn=domain.com - и надо использовать эту форму.
>>
>> Для неё надо либо хранить password в директории, либо включить LDAP 
>> Provisioning - тогда CgatePro userdatabase и будет вашей директорией, 
>> и он будет аутентицировать пользователя usernam@domain.com
>>
>> BIND failed: wwww - это баг в 5.1c, он пишет чушь вместо реального 
>> кода ошибки. Исправим в 5.1c4, но это к делу не относится. Вам надо 
>> добиться:
>> а) получения нужного ВАМ BindDN в CgatePro logs
>> б) аутентикации этого BindDN одним из доступных в CGatePro методов.
> 
> 


-- 
Best regards,
Dmitry Akindinov
Получено Thu Aug 31 12:49:56 2006

Этот архив был сгенерирован hypermail 2.1.8 : Thu 31 Aug 2006 - 17:13:02 MSD