problemas con nss-ldap y ldaps (largo)

Victor Hugo dos Santos listas.vhs en gmail.com
Mie Dic 26 10:33:51 CLST 2007


Colegas,

espero que hayan disfrutado de este feriado !!!

bien.. el problema que tengo ahora es:

tengo instalado varios Fedora Directory Services (FDS) y en ellos
tengo configurado las cuentas de los usuarios para que se
autentifiquen por LDAP.

a principio (en las pruebas) todo funcionaba como debería..

tenia configurado en el DNS las entradas

fds1     IN     A     10.0.0.11
fds2     IN     A     10.0.0.12
fds3     IN     A     10.0.0.13
fds4     IN     A     10.0.0.14

y

fds     IN     A     10.0.0.11
fds     IN     A     10.0.0.12
fds     IN     A     10.0.0.13
fds     IN     A     10.0.0.14

para poder configurar en los clientes de la siguiente manera:

URI   ldap://fds.midominio.cl:389

hasta que pase a la siguiente etapa que era la de implementar certificados !!!
fue una tremenda odisea, hasta que encontré la opción de implementar
"Subject Alternative Names" en los certificados.

esta es un ejemplo de uno de los certificados:

**************************
sudo certutil -L -d . -P slapd-fds1- -n fds1-server-cert
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 270002 (0x41eb2)
        Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
        Issuer: "E=support en cacert.org,CN=CA Cert Signing
Authority,OU=http://www.cacert.org,O=Root CA"
        Validity:
            Not Before: Fri Oct 05 19:29:23 2007
            Not After : Wed Apr 02 19:29:23 2008
        Subject: "CN=fds1.midominio.cl"
        Subject Public Key Info:
[...]
            Name: Certificate Subject Alt Name
            DNS name: "fds1.midominio.cl"
            Other Name: "fds1.midominio.cl"
                OID: OID.1.3.6.1.5.5.7.8.5
            DNS name: "fds.midominio.cl"
            Other Name: "fds..midominio.cl"
                OID: OID.1.3.6.1.5.5.7.8.5
            DNS name: "fds1..midominio.cl"
            Other Name: "fds1.midominio.cl"
                OID: OID.1.3.6.1.5.5.7.8.5
            DNS name: "ldap.midominio.cl"
            Other Name: "ldap.midominio.cl"
                OID: OID.1.3.6.1.5.5.7.8.5
**************************

como se puede observar, los nombres alternativos estan bien.
obs.: estoy utilizando cacert com CA.

bien.. el tema es que habilité todo en los servidores FDS, bloquee el
trafico por la puerta 389 (se acaso) y fue a configurar los clientes.

en las maquinas con redhat enterprise server (4.5) y centos (5.5)
funciona sin problemas poniendo "URI ldaps://fds.midominio.cl:636"
en las maquinas ubuntu (7.10) y Debian (4.0) no funciona se pongo en
la configuracion "URI ldaps://fds.midominio.cl:636" pero si funciona
si pongo "URI ldaps://fds1.midominio.cl:636" o alguna variante que
apunte al nombre especifico de algun servidor o sea "URI
ldaps://fds[1,2,3,4].midominio.cl:636"

pesquisando ayer un poco en los sitios sobre nss-ldap y ldap con
SSL/TLS me encontré con la siguiente opción:

TLS_REQCERT que tiene como posibles parámetros  las opciones "never,
allow, try y demand"

por defecto "aparenta" que viene configurado en demand...  que según
la documentacion es la recomendable !!!
intente cambiar para allow, pero tampoco funciona.. la unica
alternativa que funciona en debin/ubuntu es "never", que no me parece
muy sano !!!

comparando las configuraciones de los equipos, no veo diferencia en
las configuraciones !!!! imagino que sea:

1 - algún valor por defecto que vaya en redhat/centos y que NO vaya en
debian/ubuntu
2 - algún paramentro en la compilacion
3 - algún bug en la versión

las versiones de los softwares instalados en los equipos son:

Centos
******************
rpm -qa | egrep "ldap|nss"
openssl-0.9.8b-8.3.el5_0.2
openssh-server-4.3p2-24.el5
nss-3.11.7-1.3.el5.centos
nss_db-2.2-35.1
openldap-2.3.27-8
nss-tools-3.11.7-1.3.el5.centos
openssh-4.3p2-24.el5
nss_ldap-253-5.el5
openssh-clients-4.3p2-24.el5
pkinit-nss-0.7.3-1.el5
******************

ubuntu
******************
dpkg -l | egrep "ldap|nss"
ii  ldap-auth-client                           0.4
            meta-package for LDAP authentication
ii  ldap-auth-config                           0.4
            Config package for LDAP authentication
ii  ldap-utils                                 2.3.35-1ubuntu0.1
            OpenLDAP utilities
ii  libavahi-compat-libdnssd1                  0.6.20-2ubuntu3
            Avahi Apple Bonjour compatibility library
ii  libldap-2.3-0                              2.3.35-1ubuntu0.1
            OpenLDAP libraries
ii  libldap2                                   2.1.30-13.4
            OpenLDAP libraries
ii  libmono-ldap2.0-cil                        1.2.4-6ubuntu6
            Mono LDAP library
ii  libnss-ldap                                255-1ubuntu2
            NSS module for using LDAP as a naming servic
ii  libnss-mdns                                0.10-0.1ubuntu1
            NSS module for Multicast DNS name resolution
ii  libnss3-0d                                 3.11.5-3
            Network Security Service libraries
ii  libpam-ldap                                184-1ubuntu2
            Pluggable Authentication Module allowing LDA
ii  openssh-client                             1:4.6p1-5build1
            secure shell client, an rlogin/rsh/rcp repla
ii  openssh-server                             1:4.6p1-5build1
            secure shell server, an rshd replacement
ii  openssl                                    0.9.8e-5ubuntu3.1
            Secure Socket Layer (SSL) binary and related
ii  ssl-cert                                   1.0.14
            Simple debconf wrapper for openssl
******************

hay como depurar esto ??
lo que intente fue hacer un strace a getent
$strace getent passwd usuario

pero no he logrado encontrar nada !!! también intente revisar con
ssldump y lo único que me mostró es un "Alerta" entre las conexciones
del cliente y server.

algunas otra herramienta/parametro/idea para que pueda intentar
soluccionar este problema ???

salu2 y gracias.

-- 
-- 
Victor Hugo dos Santos
Linux Counter #224399



Más información sobre la lista de distribución Linux