samba+ldap+dns+dhcp+squid+apache+ejabberd (Проблема с ldap)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

exxp
Сообщения: 14

samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение exxp »

Вообщем ситуация следующая....
Настраивал давненько PDC по этой статье Достойный контроллер домена на Linux. (Подробный HowTo).
Со временем к каталогу LDAP прикрутил практически все, а именно сервисы DNS, DHCP, SQUID, APACHE, EJABBERD......
Все прекрасно работало без каких либо сбоев, и тут я решаюсь на отчаенный (как в последствии оказалось) шаг, поднять BDC и организовать репликацию каталога LDAP посредством SYNCREPL. Поднял тестовый сервер BDC, сделал бэкап каталога LDAP (SLAPCAT) и решил настроить репликацию. Внес изменения, необходимые для репликации, в конфиги LDAP обоих серверов, а именно:
PDC:

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

moduleload      syncprov
overlay syncprov
syncprov-checkpoint 50 5
syncprov-sessionlog 50
access to *
       by dn="cn=syncprov,dc=domain,dc=ru" read

BDC:

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

syncrepl rid=0
        provider=ldap://PDC.DOMAIN.RU:389
        type=refreshOnly
        interval=00:00:00:10
        searchbase="dc=domain,dc=ru"
        scope=sub
        bindmethod=simple
        binddn="cn=syncrepl,dc=domain,dc=ru"
        credentials="SECRET"
access to *
       by dn="cn=syncprov,dc=domain,dc=ru" read

Перезапустил оба сервера, в логах BDC появилась ошибка авторизации

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

slap_client_connect: URI=ldap://pdc.domain.ru:389 DN="cn=syncrepl,dc=domain,dc=ru" ldap_sasl_bind_s failed (49)

Решил оставить до утра, так как время было позднее.
С утра, придя на работу, первое что заметил, что на PDC отвалился DHCP от каталога LDAP, при запуске выдает ошибку

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

Internet Systems Consortium DHCP Server V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Connecting to LDAP server localhost:389
Successfully logged into LDAP server localhost
Cannot find host LDAP entry pdc.domain.ru (&(objectClass=dhcpServer)(|(cn=pdc.domain.ru)(cn=pdc.domain.ru)))
Configuration file errors encountered -- exiting

Решив что это вызвано настройками репликации, естественно первое что пришло в голову, восстановить каталог LDAP из архива и репликацию пока отменить. После восстановления каталога LDAP из архива ничего не изменилось.
На данный момент PDC как контроллер домена работает, юзеры логинятся, получают профили, сохраняют их на сервер, SQUID авторизуется в LDAP, EJABBERD тоже получает инфу о юзерах из LDAP без проблем. Не работает DHCP и APACHE, про апач узнал позже, когда уже начал все проверять...
Лог APACHE:

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

auth_ldap authenticate: user admin authentication failed; URI /lightsquid/ [ldap_search_ext_s() for user failed][No such object]

Как не ломал голову так и не смог вернуть все в исходное состояние до настройки злосчастной репликации. Уже тысячу раз об этом пожалел. :cray:
Поможите люди добрые докопаться до истины, чувствую что разгадка где то рядом... Просто уже мыслей не осталось....
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение Ленивая Бестолочь »

exxp писал(а):
28.04.2010 18:09
dn="cn=syncprov,dc=domain,dc=ru"

у вас такая запись в лдапе есть?
то, что вы сделали не должно помешать dhcp и апачу.

поставте loglevel=255 на pdc в slapd.conf и смотрите запросы, которые делают эти сервисы на предмет ошибок.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
exxp
Сообщения: 14

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение exxp »

Ленивая Бестолочь писал(а):
28.04.2010 19:52
exxp писал(а):
28.04.2010 18:09
dn="cn=syncprov,dc=domain,dc=ru"

у вас такая запись в лдапе есть?
то, что вы сделали не должно помешать dhcp и апачу.

поставте loglevel=255 на pdc в slapd.conf и смотрите запросы, которые делают эти сервисы на предмет ошибок.


Сейчас такой записи нет, так как базу восстановил из бэкапа и в конфиге все что касается репликации пока отключил...
Сам умом понимаю что повлиять мои изменения никак не должны были на авторизацию сервисов в LDAP...
loglevel стоит 256, DHCP как я понял не проходит авторизацию в LDAP...
кусок лога

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

ACCEPT from IP=127.0.0.1:60924 (IP=0.0.0.0:389)
conn=1359 op=0 BIND dn="cn=admin" method=128
conn=1359 op=0 RESULT tag=97 err=49 text=
conn=1359 op=1 SRCH base="dc=domain,dc=ru" scope=2 deref=0 filter="(&(objectClass=dhcpServer)(|(cn=pdc.domain.ru)(cn=pdc.domain.ru)))"
Apr 29 09:25:45 pdc slapd[4535]: conn=1359 op=1 SEARCH RESULT tag=101 err=32 nentries=0 text=
Apr 29 09:25:45 pdc slapd[4535]: conn=1359 op=2 UNBIND
Apr 29 09:25:45 pdc slapd[4535]: conn=1359 fd=56 closed

Но самое то странное, что EJABBERD авторизуется как надо и все находит в каталоге LDAP, а DHCP и APACHE отвалились... :wacko:
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение Ленивая Бестолочь »

exxp писал(а):
29.04.2010 10:08
conn=1359 op=0 BIND dn="cn=admin" method=128

где-то у вас в конфиге вашего приложения (видимо dhcp) прописано "cn=admin", а должно быть "cn=admin,dc=domain,dc=ru".
(если ваше дерево так выглядит, конечно)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
exxp
Сообщения: 14

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение exxp »

Ленивая Бестолочь писал(а):
29.04.2010 12:31
exxp писал(а):
29.04.2010 10:08
conn=1359 op=0 BIND dn="cn=admin" method=128

где-то у вас в конфиге вашего приложения (видимо dhcp) прописано "cn=admin", а должно быть "cn=admin,dc=domain,dc=ru".
(если ваше дерево так выглядит, конечно)

Да... спасибо... это я уже менял конфиг DHCP, пытаясь подключиться к каталогу LDAP и забыл сменить обратно...
Сменил на "cn=admin,dc=domain,dc=ru" тоже самое:

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

Apr 29 12:57:45 pdc slapd[4535]: conn=1764 fd=72 ACCEPT from IP=127.0.0.1:35275 (IP=0.0.0.0:389)
Apr 29 12:57:45 pdc slapd[4535]: conn=1764 op=0 BIND dn="cn=admin,dc=domain,dc=ru" method=128
Apr 29 12:57:45 pdc slapd[4535]: conn=1764 op=0 RESULT tag=97 err=49 text=
Apr 29 12:57:45 pdc slapd[4535]: conn=1764 op=1 SRCH base="dc=domain,dc=ru" scope=2 deref=0 filter="(&(objectClass=dhcpServer)(|(cn=pdc.domain.ru)(cn=pdc.domain.ru)))"
Apr 29 12:57:45 pdc slapd[4535]: conn=1764 op=1 SEARCH RESULT tag=101 err=32 nentries=0 text=
Apr 29 12:57:45 pdc slapd[4535]: conn=1764 op=2 UNBIND
Apr 29 12:57:45 pdc slapd[4535]: conn=1764 fd=72 closed


Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение Ленивая Бестолочь »

"err=49" = invalid credentials
проверяйте ещё раз
- существование объекта "cn=admin,dc=domain,dc=ru" в ладпе, либо, надписей вида

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

rootdn          "cn=admin,dc=domain,dc=ru"
rootpw          {SSHA}FH8Ozps6h9QvNdT5N2nurIL3OeGyK0h4

в slapd.conf
- правильность пароля в конфиге dhcp
- правильность пароля в лдап либо в slapd.conf.

если что-то не понятно как сделать - спрашивайте.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
exxp
Сообщения: 14

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение exxp »

Ленивая Бестолочь писал(а):
29.04.2010 15:31
"err=49" = invalid credentials
проверяйте ещё раз
- существование объекта "cn=admin,dc=domain,dc=ru" в ладпе, либо, надписей вида

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

rootdn          "cn=admin,dc=domain,dc=ru"
rootpw          {SSHA}FH8Ozps6h9QvNdT5N2nurIL3OeGyK0h4

в slapd.conf
- правильность пароля в конфиге dhcp
- правильность пароля в лдап.

если что-то не понятно как сделать - спрашивайте.


Все везде правильно, конфиги все проверял... вообщем все сейчас в том состоянии, до того как я начал настраивать репликацию...
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение Ленивая Бестолочь »

exxp писал(а):
29.04.2010 15:46
Все везде правильно, конфиги все проверял

ну вы же понимаете, что если бы всё было правильно, то всё бы работало? ;-)
попробуйте сделать

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

ldapsearch -v -x -LLL -h <адрес сервера лдап> -W -D cn=admin,dc=domain,dc=ru 'objectclass=*'

введите пароль, который у вас в конфиге dhcp написан.


exxp писал(а):
29.04.2010 15:46
вообщем все сейчас в том состоянии, до того как я начал настраивать репликацию...

блин, не понял :)
так dhcp работает?
мы сейчас что чиним? я лично про dhcp говорю.
если хотите про репликацию - давай про репликацию, думаю это у нас без проблем получится :-)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
exxp
Сообщения: 14

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение exxp »

блин, не понял :)
так dhcp работает?
мы сейчас что чиним? я лично про dhcp говорю.
если хотите про репликацию - давай про репликацию, думаю это у нас без проблем получится :-)

Извеняюсь, может конечно не так выразился..... Я имел ввиду что все конфиги и базу каталога LDAP я вернул в исходное состояние до настройки репликации, а DHCP и APACHE как не работали так и не работают....

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

ldapsearch -v -x -LLL -h <адрес сервера лдап> -W -D cn=admin,dc=domain,dc=ru 'objectclass=*'

введите пароль, который у вас в конфиге dhcp написан.

Поиск в базе работает, в конфиге DHCP пароль записан в шифрованном виде, попробовал вписать открытый пароль, ошибка 49 исчезла....

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

Apr 30 09:51:30 pdc dhcpd: Internet Systems Consortium DHCP Server V3.1.1
Apr 30 09:51:30 pdc dhcpd: Copyright 2004-2008 Internet Systems Consortium.
Apr 30 09:51:30 pdc dhcpd: All rights reserved.
Apr 30 09:51:30 pdc dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Apr 30 09:51:30 pdc dhcpd: Connecting to LDAP server localhost:389
Apr 30 09:51:30 pdc slapd[4535]: conn=2482 fd=59 ACCEPT from IP=127.0.0.1:40177 (IP=0.0.0.0:389)
Apr 30 09:51:30 pdc slapd[4535]: conn=2482 op=0 BIND dn="cn=admin,dc=domain,dc=ru" method=128
Apr 30 09:51:30 pdc slapd[4535]: conn=2482 op=0 BIND dn="cn=admin,dc=domain,dc=ru" mech=SIMPLE ssf=0
Apr 30 09:51:30 pdc slapd[4535]: conn=2482 op=0 RESULT tag=97 err=0 text=
Apr 30 09:51:30 pdc dhcpd: Error: Cannot login into ldap server localhost:389: Success
Apr 30 09:51:30 pdc dhcpd: Configuration file errors encountered -- exiting
Apr 30 09:51:30 pdc slapd[4535]: conn=2482 op=1 UNBIND
Apr 30 09:51:30 pdc slapd[4535]: conn=2482 fd=59 closed

В конфиге EJABBERD пароль лежит в открытом виде, видимо поэтому он и не отвалился.... То есть получается что то c шифрованием?
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение Ленивая Бестолочь »

exxp писал(а):
30.04.2010 10:25
В конфиге EJABBERD пароль лежит в открытом виде, видимо поэтому он и не отвалился.... То есть получается что то c шифрованием?

покажите какой командой вы его шифруете и строку в конфиге, содержащую пароль в зашифрованном виде.
пароль конечно показывать не обязательно :-)

п.с. вообще, кстати, не уверен, что в ejabberd можно указывать зашифрованный пароль.
возможно придётся ограничиться тем, что завести в лдапе запись типа cn=ejabberd,ou=services,dc=domain,dc=ru, выдать ей нужные для джаббера права, прописать пароль в открытом виде в конфиге, поставить на конфиг правильные фаловые права (если не стоят).
с dhcp надо подумать.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
exxp
Сообщения: 14

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение exxp »

Ленивая Бестолочь писал(а):
30.04.2010 15:26
exxp писал(а):
30.04.2010 10:25
В конфиге EJABBERD пароль лежит в открытом виде, видимо поэтому он и не отвалился.... То есть получается что то c шифрованием?

покажите какой командой вы его шифруете и строку в конфиге, содержащую пароль в зашифрованном виде.
пароль конечно показывать не обязательно :-)

п.с. вообще, кстати, не уверен, что в ejabberd можно указывать зашифрованный пароль.
возможно придётся ограничиться тем, что завести в лдапе запись типа cn=ejabberd,ou=services,dc=domain,dc=ru, выдать ей нужные для джаббера права, прописать пароль в открытом виде в конфиге, поставить на конфиг правильные фаловые права (если не стоят).
с dhcp надо подумать.

Шифрую просто....

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

slappasswd -s secret

строка в конфиге DHCP

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

ldap-password "{SSHA}jYrI6LcbzN0EMdqBmx6aOiK2K6e76GtF";

Про EJABBERD точно не помню, но видимо когда настраивал то оставил по каким то причинам пароль в открытом виде...может не прокатывало с шифрованным...
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение Ленивая Бестолочь »

вообще, знаете. это же хеш, а не шифрование. так что не удивительно, что его в конфиг нельзя.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
exxp
Сообщения: 14

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение exxp »

Ленивая Бестолочь писал(а):
30.04.2010 15:51
вообще, знаете. это же хеш, а не шифрование. так что не удивительно, что его в конфиг нельзя.

то есть нельзя? а как же у меня тогда DHCP работал... и чэм хеш отличается от шифрования?
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение Ленивая Бестолочь »

работал... хм.... ну тогда видимо я плохо представляю себе, как оно устроено. поэкспериментирую, извиняйте :)
шифрование - штука обратимая. то бишь можно зашифровать, а потом, зная как, можно расшифровать.
хеширование - необратимо. получили хеш пароля - круто, а назад из него пароль не восстановить (почти).
идея в том, что у вас есть база с хешами паролей. пользователь приходит, говорит пароль, с него снимается хеш, сравнивается с тем, что в базе. делаются выводы.
идея в том, если спереть у вас базу толку в ней не будет никакого, потому, что всё равно этого не будет достаточно для того, чтобы придти на ваш сервер и ввести там правильный пароль. потому, что из хешей из базы пароль не получить.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
exxp
Сообщения: 14

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение exxp »

Ленивая Бестолочь писал(а):
30.04.2010 16:15
работал... хм.... ну тогда видимо я плохо представляю себе, как оно устроено. поэкспериментирую, извиняйте :)
шифрование - штука обратимая. то бишь можно зашифровать, а потом, зная как, можно расшифровать.
хеширование - необратимо. получили хеш пароля - круто, а назад из него пароль не восстановить (почти).
идея в том, что у вас есть база с хешами паролей. пользователь приходит, говорит пароль, с него снимается хеш, сравнивается с тем, что в базе. делаются выводы.
идея в том, если спереть у вас базу толку в ней не будет никакого, потому, что всё равно этого не будет достаточно для того, чтобы придти на ваш сервер и ввести там правильный пароль. потому, что из хешей из базы пароль не получить.

Ясненько ... спасибо что просветили... :)
Спасибо сказали:
exxp
Сообщения: 14

Re: samba+ldap+dns+dhcp+squid+apache+ejabberd

Сообщение exxp »

Так и не получается никак запустить DHCP.... создал в LDAP нового пользователя u_dhcp, создал ему пароль slappasswd -h {MD5}, если в конфиге DHCP указываю пароль в скрытом виде, то не проходит авторизация в LDAP, если пароль в открытом виде то DHCP отваливается при запуске

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

Internet Systems Consortium DHCP Server V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Connecting to LDAP server localhost:389
Error: Cannot login into ldap server localhost:389: Success
Configuration file errors encountered -- exiting

При этом лог в LDAP

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

May  5 12:58:56 pdc slapd[10244]: conn=767 fd=38 ACCEPT from IP=127.0.0.1:39011 (IP=0.0.0.0:389)
May  5 12:58:56 pdc slapd[10244]: conn=767 op=0 BIND dn="cn=u_dhcp,dc=domain,dc=ru" method=128
May  5 12:58:56 pdc slapd[10244]: conn=767 op=0 BIND dn="cn=u_dhcp,dc=domain,dc=ru" mech=SIMPLE ssf=0
May  5 12:58:56 pdc slapd[10244]: conn=767 op=0 RESULT tag=97 err=0 text=
May  5 12:58:56 pdc slapd[10244]: conn=767 op=1 UNBIND
May  5 12:58:56 pdc slapd[10244]: conn=767 fd=38 closed

Кто нибудь может еще чем нибудь помочь?
Спасибо сказали: