Настройка squidGuard + LDAP

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
EnSlaver
рядовой
Сообщения: 24
Зарегистрирован: 2009-06-01 22:41:44

Настройка squidGuard + LDAP

Непрочитанное сообщение EnSlaver » 2009-06-15 23:48:04

Пытаюсь настроить связку squidGuard + LDAP и возникает непонятная проблема - пишет ошибку.

Мои конфиги:

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

cat /usr/local/etc/squid/squid.conf

http_port 3128
cache_mem 1024 MB
cache_dir ufs /usr/local/squid/cache 50000 64 512
access_log /usr/local/squid/logs/access.log squid
cache_store_log none
hosts_file /etc/hosts
append_domain .office.lan
error_directory /usr/local/etc/squid/errors/Russian-1251

# программа редиректор
redirect_program /usr/local/bin/squidGuard -c  /usr/local/etc/squid/squidGuard.conf
redirect_children 20
Конфиг SquidGuard:

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

cat /usr/local/etc/squid/squidGuard.conf

dbhome /var/db/squidGuard
logdir /var/log

ldapbinddn cn=root,dc=office,dc=lan
ldapbindpass password

# ldap cache time in seconds
ldapcachetime 300

ldapprotover 3

src my_users {
ldapusersearch ldap://127.0.0.1/cn=users,ou=groups,dc=office,dc=lan?memberUid?sub?(&(objectClass=posixGroup)(memberUid=%s))
}

acl {
    my_users {
             pass any
             }
}
В результате имею следующее:

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

squidGuard -d
2009-06-15 23:43:57 [8962] New setting: dbhome: /var/db/squidGuard
2009-06-15 23:43:57 [8962] New setting: logdir: /var/log
2009-06-15 23:43:57 [8962] New setting: ldapbinddn: cn=root,dc=office,dc=lan
2009-06-15 23:43:57 [8962] New setting: ldapbindpass: password
2009-06-15 23:43:57 [8962] New setting: ldapcachetime: 300
2009-06-15 23:43:57 [8962] New setting: ldapprotover: 3
2009-06-15 23:43:57 [8962] syntax error in configfile /usr/local/etc/squid/squidGuard.conf line 13
2009-06-15 23:43:57 [8962] Going into emergency mode
13 строка - это

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

ldapusersearch ldap://127.0.0.1/cn=users,ou=groups,dc=office,dc=lan?memberUid?sub?(&(objectClass=posixGroup)(memberUid=%s))
В cn=users,ou=groups,dc=office,dc=lan содержатся юзеры домена

cn users
decription Gomain Unix Group
displayName Domain Users
gidNumber 10002
memberUid admin
memberUid vitaly
objectClass posixGroup
objectClass sambaGroupMapping
sambaGroupType 2
sambaSID S-15-21-290333040-2840428128-1302592821-513

делал по мануалу с оф сайта: http://www.squidguard.org/Doc/authentication.html

где написано следующее:

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

ldapbinddn     cn=root, dc=example, dc=com
 ldapbindpass   myultrasecretpassword

 # ldap cache time in seconds
 ldapcachetime  300

 src my_users { 
     ldapusersearch  ldap://ldap.example.com/cn=squidguardusers,ou=groups,dc=example,dc=com?memberUid?sub?(&(objectclass=posixGroup)(memberUid=%s))
  }
непонятно как может вообще тут быть синтаксическая ошибка ....
подскажите если есть хоть какие-то мысли ... а то уже 2 дня мозг себе выношу ... все ссылки перерыл ... если нужна дополнительная информация - только скажите что еще нужно.

я делал просто squid+ldap - так работает, но acl писать совсем муторно, а именно что бы каждой группе домена дать свои права, а в squidguard на первый взгляд всё просто и прозрачно.

Хостинговая компания 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/

EnSlaver
рядовой
Сообщения: 24
Зарегистрирован: 2009-06-01 22:41:44

Re: Настройка squidGuard + LDAP

Непрочитанное сообщение EnSlaver » 2009-06-16 10:41:15

Обнаружил в чем дело:

squidGuard вообще не понимает что за ldapusersearch я ему подсовываю, а происходит это по следующей причине:

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

cd /usr/ports/www/squidguard/
make install

===>  Vulnerability check disabled, database not found
===>  SQUID_UID is set to "squid" and SQUID_GID is set to "squid".
      To change this specify them with your make arguments, e.g.
      make SQUID_UID=nobody SQUID_GID=nogroup
===>  Extracting for squidGuard-1.4
=> MD5 Checksum OK for squidGuard-1.4.tar.gz.
=> SHA256 Checksum OK for squidGuard-1.4.tar.gz.
===>  Patching for squidGuard-1.4
===>  Applying FreeBSD patches for squidGuard-1.4
===>   squidGuard-1.4 depends on shared library: db3.3 - found
===>  Configuring for squidGuard-1.4

......

checking for ldap support... no

.......
Осталось понять как ему эти библиотеки подпихнуть

т.к на make config он выдает следующее:
make config
===> No options to configure

в Makefile заветная опция with-ldap отсутствует ...

EnSlaver
рядовой
Сообщения: 24
Зарегистрирован: 2009-06-01 22:41:44

Re: Настройка squidGuard + LDAP

Непрочитанное сообщение EnSlaver » 2009-06-16 11:03:10

Сейчас пробую ручками ...
распаковал архив squidGuard-1.4.tar.gz

делаю ./configure --with-ldap=yes

на что выдается слдующее сообщение:

configure: WARNING: Cannot find LDAP libraries. LDAP support disabled

Теперь вот не могу понять какие именно библиотеки ему нужны, т.к. у меня установлены openldap-client-2.4 и openldap-server-2.4

библиотеки вроде как имеются, но может быть не те:

ls /usr/local/lib | grep libldap
libldap-2.4.so
libldap-2.4.so.6
libldap.a
libldap.la
libldap.so
libldap_r-2.4.so
libldap_r-2.4.so.6
libldap_r.a
libldap_r.la
libldap_r.so

EnSlaver
рядовой
Сообщения: 24
Зарегистрирован: 2009-06-01 22:41:44

Re: Настройка squidGuard + LDAP

Непрочитанное сообщение EnSlaver » 2009-06-16 13:06:27

Дальнейшие ковыряния:

просмотрел config.log

и нашел там следующие строки

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

configure:4197: checking for ldap_init in -lldap
configure:4232: gcc -o conftest -g -O2 -I/usr/local/BerkeleyDB/include  -I/usr/local/BerkeleyDB/include  -L/usr/local/BerkeleyDB/lib conftest.c -lldap   >&5
/usr/bin/ld: cannot find -lldap
т.е., если я правильно понял, библиотеки ищуются в /usr/local/BerkeleyDB/lib

в ./configure --help помимо with-ldap если параметры для BerkeleyDB:

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

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-db=DIR           location of the Berkley DB distribution
  --with-db-lib=DIR       location of the Berkley DB library
  --with-db-inc=DIR       location of the Berkley DB include files
  --with-sg-config=FILE   location of squidGuard config file
  --with-sg-logdir=DIR    location of squidGuard log file
  --with-sg-dbhome=DIR    location of squidGuard db dirs
  --with-nolog=ARG        supress logging except for start and stop messages (default: ARG=no)
  --with-squiduser=USER   do set squid user to USER (default: squid)

  --with-ldap             use ldap (default: no ldap)
  --with-mysql=DIR        support for mysql
Пробую указать в качестве папки /usr/local/BerkeleyDB/lib - /usr/local/lib, получаю такое:

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

./configure --with-ldap --with-db-lib=/usr/local/lib

.......

checking for ldap_init in -lldap... yes
checking for ldap support... yes

Unable to link to LDAP library.
/usr/local/BerkeleyBD - у меня вообще нет

стоит

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

pkg_info | grep Berk
db3-3.3.11_3,1      The Berkeley DB package, revision 3.3
db42-4.2.52_5       The Berkeley DB package, revision 4.2
db44-4.4.20.4       The Berkeley DB package, revision 4.4
db46-4.6.21.4       The Berkeley DB package, revision 4.6
db47-4.7.25.4       The Berkeley DB package, revision 4.7
и

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

pkg_info | grep odbc
libiodbc-3.52.6     An ODBC 3.x driver manager, for universal data source acces

EnSlaver
рядовой
Сообщения: 24
Зарегистрирован: 2009-06-01 22:41:44

Re: Настройка squidGuard + LDAP

Непрочитанное сообщение EnSlaver » 2009-06-16 13:23:37

Двигаюсь дальше:

выполнил ./configure --with-db=/usr/local/bin/db47 --with-ldap --with-db-lib=/usr/local/lib

и в config.log имею следующее

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

configure:4013: checking for db.h
configure:4018: result: yes
configure:4197: checking for ldap_init in -lldap
configure:4232: gcc -o conftest -g -O2 -I/usr/local/bin/db47/include  -I/usr/local/bin/db47/include  -L/usr/local/lib conftest.c -lldap   >&5
configure:4238: $? = 0
configure:4256: result: yes
configure:4308: gcc -o conftest -g -O2 -I/usr/local/bin/db47/include  -I/usr/local/bin/db47/include  -L/usr/local/lib conftest.c  -lldap >&5
conftest.c:3:25: error: ldap.h: No such file or directory
conftest.c: In function 'main':
conftest.c:6: error: 'LDAP' undeclared (first use in this function)
conftest.c:6: error: (Each undeclared identifier is reported only once
conftest.c:6: error: for each function it appears in.)
conftest.c:6: error: 'p' undeclared (first use in this function)
conftest.c:7: error: 'LDAP_PORT' undeclared (first use in this function)
conftest.c:8: warning: incompatible implicit declaration of built-in function 'exit'
configure:4311: $? = 1
configure: program exited with status 1
configure: failed program was:
|
|
|        #include <ldap.h>
|        int main()
|        {
|                LDAP *p;
|                p = ldap_init("localhost", LDAP_PORT);
|                exit(0);
|        }
|
что за ldap.h где он должен быть кто-то знает?

EnSlaver
рядовой
Сообщения: 24
Зарегистрирован: 2009-06-01 22:41:44

Re: Настройка squidGuard + LDAP

Непрочитанное сообщение EnSlaver » 2009-06-17 11:37:40

Надоело мне биться головой об стену и я просто настроил squid+ldap, но тема остается открытой ... все таки мне больше нравится возможности squidgaurd. В принципе на сайте в версии 1.5 они обещают поддержку LDAP аутентификации в нормальном виде ... так может стоит просто подождать.

Но если кто нашел решение - пишите ... так как все таки интересно прикрутить squidguard

irijiyi
проходил мимо
Сообщения: 7
Зарегистрирован: 2009-06-16 16:33:00

Re: Настройка squidGuard + LDAP

Непрочитанное сообщение irijiyi » 2009-06-17 12:32:46

та же самая проблема была
я писал разработчику порта
мне ответили что действительно проблема есть и надо ждать

Kvaga
проходил мимо

Re: Настройка squidGuard + LDAP

Непрочитанное сообщение Kvaga » 2009-09-08 11:05:47

ставлю squidGuard 1.4 из tar.gz

для того чтоб подхватились библиотеки ldap поставил openldap2-devel, сконфигурировалось правильно.

Аватара пользователя
camelium
рядовой
Сообщения: 43
Зарегистрирован: 2009-07-05 14:01:36
Откуда: Хмельницкий, UA
Контактная информация:

Re: Настройка squidGuard + LDAP

Непрочитанное сообщение camelium » 2009-09-09 21:53:19

Чтобы собрать squidGuard с поддержкой ldap
в /usr/ports/www/squidguard/Makefile
надо заменить строчку

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

CONFIGURE_ENV=	CFLAGS="${CFLAGS} -I${PREFIX}/include"
на

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

CONFIGURE_ENV=	CFLAGS="${CFLAGS} -I${PREFIX}/include" LDFLAGS="-L${LOCALBASE}/lib"
при сборки добавляем опцию WITH_LDAP

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

make install clean WITH_LDAP=yes
nobody is free