The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"TLS и LDAP"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [Проследить за развитием треда]

"TLS и LDAP"  
Сообщение от MaxZ email(ok) on 07-Июн-05, 17:10 
FreeBSD 5.3
OpenLDAP server 2.2.26
OpenSSL 0.9.7g
Squid 2.5.10_1
Настраиваю шлюз в инет,на нем прокси Squid,авторизация посредством LDAP с TLS.

Не получается включить TLS в LDAP.

slapd.conf :

include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/corba.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/openldap.schema

TLSCertificateFile /usr/local/etc/openldap/ssl/server.pem
TLSCertificateKeyFile /usr/local/etc/openldap/ssl/server.pem
TLSCACertificateFile /usr/lical/etc/openldap/ssl/server.pem

pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args

loglevel -1
#######################################################################
# BDB database definitions
#######################################################################

database ldbm
suffix "dc=helper,dc=ru"
rootdn "cn=admin,dc=helper,dc=ru"
rootpw secret
directory /var/db/openldap

index objectClass,uid,uidNumber,gidNumber eq
index cn,name,surName,givenName eq,subinitial

access to attr=userPassword
by self write
by anonymous auth
by dn="cn=admin,dc=helper,dc=ru" write
by * read access to *
by dn="cn=admin,dc=helper,dc=ru" write
by * read

ldap.conf :
BASE dc=helper, dc=ru
URI ldap://127.0.0.1 ldap://ldap.helper.ru
TLS_CACERT /usr/local/etc/openldap/ssl/server.pem

Вот это падает в debug.log :

Jun 7 16:25:37 bsd slapd[13795]: main: TLS init def ctx failed: -1
Jun 7 16:25:37 bsd slapd[13795]: slapd shutdown: freeing system resources.
Jun 7 16:25:37 bsd slapd[13795]: slapd stopped.
Jun 7 16:25:37 bsd slapd[13795]: connections_destroy: nothing to destroy.

Что посоветуете,наведите на путь истинный?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

  • TLS и LDAP, bass, 06:26 , 08-Июн-05, (1)  
    • TLS и LDAP, MaxZ, 18:40 , 08-Июн-05, (2)  
      • TLS и LDAP, bass, 07:45 , 09-Июн-05, (3)  
        • TLS и LDAP, MaxZ, 19:27 , 13-Июн-05, (4)  
          • TLS и LDAP, bass, 06:26 , 14-Июн-05, (5)  
            • TLS и LDAP, MaxZ, 12:10 , 16-Июн-05, (6)  
              • TLS и LDAP, MaxZ, 20:15 , 20-Июн-05, (7)  
                • TLS и LDAP, Сергей, 15:56 , 06-Фев-06, (8)  

Сообщения по теме [Сортировка по времени, UBB]


1. "TLS и LDAP"  
Сообщение от bass (??) on 08-Июн-05, 06:26 
>FreeBSD 5.3
>OpenLDAP server 2.2.26
>OpenSSL 0.9.7g
>Squid 2.5.10_1
>Настраиваю шлюз в инет,на нем прокси Squid,авторизация посредством LDAP с TLS.
>
>Не получается включить TLS в LDAP.
>
>slapd.conf :
>
>include /usr/local/etc/openldap/schema/core.schema
>include /usr/local/etc/openldap/schema/cosine.schema
>include /usr/local/etc/openldap/schema/corba.schema
>include /usr/local/etc/openldap/schema/inetorgperson.schema
>include /usr/local/etc/openldap/schema/misc.schema
>include /usr/local/etc/openldap/schema/nis.schema
>include /usr/local/etc/openldap/schema/openldap.schema
>
>TLSCertificateFile /usr/local/etc/openldap/ssl/server.pem
>TLSCertificateKeyFile /usr/local/etc/openldap/ssl/server.pem
>TLSCACertificateFile /usr/lical/etc/openldap/ssl/server.pem
>
>pidfile /var/run/openldap/slapd.pid
>argsfile /var/run/openldap/slapd.args
>
>loglevel -1
>#######################################################################
># BDB database definitions
>#######################################################################
>
>database ldbm
>suffix "dc=helper,dc=ru"
>rootdn "cn=admin,dc=helper,dc=ru"
>rootpw secret
>directory /var/db/openldap
>
>index objectClass,uid,uidNumber,gidNumber eq
>index cn,name,surName,givenName eq,subinitial
>
>access to attr=userPassword
>by self write
>by anonymous auth
>by dn="cn=admin,dc=helper,dc=ru" write
>by * read access to *
>by dn="cn=admin,dc=helper,dc=ru" write
>by * read
>
>ldap.conf :
>BASE dc=helper, dc=ru
>URI ldap://127.0.0.1 ldap://ldap.helper.ru
>TLS_CACERT /usr/local/etc/openldap/ssl/server.pem
>
>Вот это падает в debug.log :
>
>Jun 7 16:25:37 bsd slapd[13795]: main: TLS init def ctx failed: -1
>
>Jun 7 16:25:37 bsd slapd[13795]: slapd shutdown: freeing system resources.
>Jun 7 16:25:37 bsd slapd[13795]: slapd stopped.
>Jun 7 16:25:37 bsd slapd[13795]: connections_destroy: nothing to destroy.
>
>Что посоветуете,наведите на путь истинный?


посоветую заполнить ldap.conf такими переменными
TLS_CACERTDIR                                                    
TLS_REQCERT                                                                      
TLS_CERT                                    
TLS_KEY                                    
TLS_CACERT
а затем запустить slapd -d -1
если вас там всё удовлетворило, непосредственно проверить работу tls
ldapseacrh -ZZ
если же и опять не всё в порядке, найти на это сайте документацию про ldap и сделать как там описано

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "TLS и LDAP"  
Сообщение от MaxZ email(ok) on 08-Июн-05, 18:40 
2 bass:
Добавил,вроде заработало.Сенкс
ldapsearch -ZZ выводит описания всех трех(тестовых) юзерских записей
пишет search result:
search: 3
result: 0 Success
   numResponses: 9
   numEntries: 8

но,после свех добавлений перестала работать авторизация squid_ldap_auth (((

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "TLS и LDAP"  
Сообщение от bass (??) on 09-Июн-05, 07:45 
>2 bass:
>Добавил,вроде заработало.Сенкс
>ldapsearch -ZZ выводит описания всех трех(тестовых) юзерских записей
>пишет search result:
>search: 3
>result: 0 Success
>   numResponses: 9
>   numEntries: 8
>
>но,после свех добавлений перестала работать авторизация squid_ldap_auth (((


а в локах чего?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "TLS и LDAP"  
Сообщение от MaxZ email(ok) on 13-Июн-05, 19:27 
пытался разобраться самостоятельно,но далеко не ушел :(((

привожу измененные slapd.conf и ldap.conf :
slapd.conf
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/corba.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/openldap.schema
include /usr/local/etc/openldap/schema/nis.schema

# Define global ACLs to disable default read access.

# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org

TLSCertificateFile /usr/local/etc/openldap/ssl/user.cert
TLSCertificateKeyFile /usr/local/etc/openldap/ssl/user.key
TLSCACertificateFile /usr/local/etc/openldap/ssl/ca.cert
#TLSCACertificatePath /usr/local/etc/openldap
#TLSCipherSuite HIGH:MEDIUM:+SSLv2:+TLSv1
#TLSRandFile /dev/random
#TLSVerifyClient allow
#disallow tls_authc

pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args

# Load dynamic backend modules:
# modulepath /usr/local/libexec/openldap
# moduleload back_bdb
# moduleload back_ldap
# moduleload back_ldbm
# moduleload back_passwd
# moduleload back_shell

# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
# Allow self write access
# Allow authenticated users read access
# Allow anonymous users to authenticate
# Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
# by self write
# by users read
# by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn.  (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!

loglevel -1

#######################################################################
# BDB database definitions
#######################################################################

database ldbm
suffix "dc=helper,dc=ru"
rootdn "cn=admin,dc=helper,dc=ru"
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw secret
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /var/db/openldap
# Indices to maintain
index objectClass,uid,uidNumber,gidNumber eq
index cn,name,surName,givenName eq,subinitial

access to attr=userPassword
    by self write
    by anonymous auth
    by dn="cn=admin,dc=helper,dc=ru" write
    by * read

access to *
    by dn="cn=admin,dc=helper,dc=ru" write
    by * read


ldap.conf
#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE dc=helper,dc=ru
URI ldap:/// ldaps:///

#ldap://ldap-master.example.com:666

TLS_CACERTDIR /usr/local/etc/openldap/ssl
TLS_CACERT /usr/local/etc/openldap/ssl/ca.cert
TLS_CERT /usr/local/etc/openldap/ssl/user.cert
TLS_KEY /usr/local/etc/openldap/ssl/user.key
#TLS_RANDFILE /dev/random
TLS_REQCERT never
ssl start_tls

#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never

Хелпер сквида вызывается так:
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -b "dc=helper,dc=ru" -w secret -f "(uid=%s)" -v 3 -H ldaps://127.0.0.1

Запускаю slapd:
/usr/local/libexec/slapd -d 9 -h ldaps://localhost

в лог попадает следующее:
..........
connection_read(8): unable to get TLS client DN,error=49 id=0
..........
ber_get_next on fd failed errno=35 (Resource temporarly unavailable)

Если ldapsearch -d 8 -ZZ,то в логе:
TLS certificate verification: Error,self signed certificate

При всех этих настройках индентификация юзера проходит,но работает ли TLS?
Я при всех своих скромных познаниях-запутался неслабо :(((

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "TLS и LDAP"  
Сообщение от bass (??) on 14-Июн-05, 06:26 

>auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -b "dc=helper,dc=ru" -w secret -f "(uid=%s)" -v 3
>-H ldaps://127.0.0.1
>

Давайте разберёмся. Вам нужен tls или ssl?
Вы уже прочитали документацию на этой сайте?
Насколько я помню (может что изменилось) squid_ldap_auth не умеет tls

>Запускаю slapd:
>/usr/local/libexec/slapd -d 9 -h ldaps://localhost
>
>в лог попадает следующее:
>..........
>connection_read(8): unable to get TLS client DN,error=49 id=0
>..........
>ber_get_next on fd failed errno=35 (Resource temporarly unavailable)
>
неправильно сгенерирован сертификат

>Если ldapsearch -d 8 -ZZ,то в логе:
>TLS certificate verification: Error,self signed certificate
>
читай выше

>При всех этих настройках индентификация юзера проходит,но работает ли TLS?
>Я при всех своих скромных познаниях-запутался неслабо :(((

послушайте localhost


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "TLS и LDAP"  
Сообщение от MaxZ email(ok) on 16-Июн-05, 12:10 

Сейчас у меня не получается сгенирировать сертификаты,а делаю я это так:
1. /usr/local/openssl/misc/CA.sh -newca
  CA certificate filename (or enter to create) <enter>
  ..............................
  Enter PEM pass phrase: <ca password>
  ..............................
  Country name (2 letter code) [AU]: RU
  State or Province Name (full name) [Some-State]: Russia
  Locality Name (eq,sity): Syk
  Organization Name (eq,company): Helper Org
  Organizational Unit Name (eq,section): Helper Unit
  Common Name (eq,YOUR name): helper.com
  Email Address []:
В итоге получим cacert.pem
2.openssl req -newkey rsa:1024 -nodes -keyout newreq.pem -out newreq.pem
  ..............................
  Country name (2 letter code) [AU]: RU
  State or Province Name (full name) [Some-State]: Russia
  Locality Name (eq,sity): Syk
  Organization Name (eq,company): Helper Org
  Organizational Unit Name (eq,section): Helper Unit
  Common Name (eq,YOUR name): 127.0.0.1
  Email Address []:
В итоге получаем newreq.pem
3./usr/local/openssl/misc/CA.sh -sign
  Тут получаем вот это:
  Using configuration from /etc/ssl/openssl.cnf
  25944:error:0E06D06C:configuration file routines:NCONF_get_string:
  no value:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/
  conf/conf_lib.c:329:gruop=CA_default name=unique_subject
  Enter PEM pass phrase: <ca pass>
  ......................................
В итоге получаем newcert.pem

Запускаю ldap:
/usr/libexec/slapd -d127 -h "ldap:/// ldaps:///"
Проверяю коннект:
openssl s_client -connect 127.0.0.1:636 -showcerts -state -CAfile \
/usr/local/etc/openldap/cacert.pem
Получаю в ответ :
CONNECTED(00000003)
...................
SSL3 alert read:fatal:handshake failure
SSL_connect:failed in SSLv3 read finished A
..............................

В логе slapd:
TLS trace: SSL3 alert write:fatal:handshake failure
TLS trace: SSL_accept:error in SSLv3 read client certificate B
TLS: can't accept
........................

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "TLS и LDAP"  
Сообщение от MaxZ email(ok) on 20-Июн-05, 20:15 
нарегал сертификаты с помощю CA.pl,как подсказали в http://unix.nordcomp.ru/forum.html?page=1&id=73…

теперь handshake есть
CA.pl не мог сгенерить файл serial,так я его вручную создал и добавил в него 01.

Сейчас говорит что:
verify error:num=21:unable to verify the first certificate
No client certificate CA names sent

Попробую исправить,погенерю еще )))

или это нормально???

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "TLS и LDAP"  
Сообщение от Сергей email(??) on 06-Фев-06, 15:56 
Проблема аналогичная но действия описанные выше не помогли
Подскажите как решить

#slapd.conf
#схемы
include         /usr/etc/openldap/schema/core.schema
#include        /usr/etc/openldap/schema/openldap.schema
include         /usr/etc/openldap/schema/java.schema
include         /usr/etc/openldap/schema/cosine.schema
include         /usr/etc/openldap/schema/ppolicy.schema
include         /usr/etc/openldap/schema/corba.schema
include         /usr/etc/openldap/schema/dyngroup.schema
include         /usr/etc/openldap/schema/inetorgperson.schema
include         /usr/etc/openldap/schema/misc.schema
include         /usr/etc/openldap/schema/nis.schema
include         /usr/etc/openldap/schema/dhcp.schema

#процессы
pidfile         /usr/var/run/slapd.pid
argsfile        /usr/var/run/slapd.args

#Указываем версию SSL соединения, пути к сертификатам, приватный ключ
#TLSCipherSuite         HIGH:MEDIUM:+SSLv2:+TLSv1
TLSCertificateFile      /etc/ssl/ldap/cert.csr
TLSCertificateKeyFile   /etc/ssl/ldap/privkey.pem
TLSCACertificateFile    /etc/ssl/ldap/cacert.pem

# modulepath    /usr/libexec/openldap
# moduleload    back_bdb.la
# moduleload    back_ldap.la
# moduleload    back_ldbm.la
# moduleload    back_passwd.la
# moduleload    back_shell.la

access to attrs=userPassword
       by self read
       by anonymous auth
       by * none

access to dn.base="cn=ns.petrsu.ru,dc=petrsu,dc=ru"
       by dn.base="uid=dhcpd,ou=Users,dc=petrsu,dc=ru" read
       by * none

access to dn.sub="cn=dhcp,dc=petrsu,dc=ru"
       by dn.base="uid=dhcpd,ou=Users,dc=petrsu,dc=ru" read
       by * none

access to *
        by * none

#######################################################################
# BDB database definitions
#######################################################################

database        ldbm
lastmod         on
suffix          "dc=petrsu,dc=ru"
rootdn          "cn=sysadmin,dc=petrsu,dc=ru"
rootpw          {SSHA}ключ
directory       /usr/var/openldap-data

#Indices to maintain
index   objectClass               eq

#индексы для dhcp                 eq
index dhcpHWAddress               eq
index dhcpClassData               eq
index dhcpStatements              eq
index cn,uid,uidNumber,gidNumber  eq


ldap.conf
# LDAP

BASE    dc=petrsu, dc=ru
URI     ldap://127.0.0.1:389 ldaps://172.20.0.64:636

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

TLS_CACERTDIR   /etc/ssl/ldap
TLS_CACERT      /etc/ssl/ldap/cacert.pem
TLS_CERT        /etc/ssl/ldap/cert.csr
TLS_KEY         /etc/ssl/ldap/privkey.pem
TLS_REQCERT never
ssl start_tls

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру