4 votos

No se puede utilizar SSL o TLS para acceder a OpenDirectory servidor ldap

Soy incapaz de conectar con mi openserver sistema de uso de conexión de SSL/TLS.

No hay problemas de comunicación sin SSL en el puerto 389 y puede conectarse y recuperar la información del directorio sin problema.

Sin embargo, cuando se utiliza el puerto 636 y esperando comunicaciones seguras de que la conexión no se conecte.

El de abajo openssl intento de conexión de los detalles de la traza, lo cual indicaría que no hay conexión ssl se establece.

Example output from openssl attempting to connect

La siguiente imagen es de ServerAdmin lo que indica que SSL está habilitado y un certificado ha sido proporcionada por el servidor de conexión.

ServerAdmin Configuration

El puerto 636 está abierto en el servidor ldap, y no cortafuegos entre los dos hosts.

sauce:Java frank$ netstat -an | grep 636
tcp6       0      0  *.636                  *.*                    LISTEN
tcp4       0      0  *.636                  *.*                    LISTEN

Una conexión telnet al puerto 636 en el servidor se realiza correctamente lo que indica que no hay problemas con el firewall en el juego.

¿Alguien puede proporcionar los elementos adicionales a comprobar para identificar y corregir la causa de este problema?

1voto

sweetfa Puntos 120

Los siguientes fueron los pasos que tomó para resolver este problema:

Reinicie el servidor en modo seguro (mantenga pulsada la tecla mayús mientras que reiniciar)

Déjelo al ralentí durante un tiempo (al parecer es la limpieza de cachés en este modo)

Detener la existente servidor slapd

 sudo launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist

Establece el certificado correcto GUID en el archivo /etc/openldap/slapd_macosxserver.conf. Esto puede ser comprobada a partir de los contenidos de /etc/certificados de directorio

sudo sed -e 's/oldguid/newguid/' /etc/openldap/slapd_macosxserver.conf >/tmp/conffile
sudo mv /tmp/conffile /etc/openldap/slapd_macosxserver.conf

Eliminar la configuración de TLS certificado de valores en el archivo /etc/openldap/slapd.d/cn=config.ldif

sudo vi /etc/openldap/slapd.d/cn=config.ldif
remove any lines beginning with olcTLSCertificate

Iniciar el servidor slapd de nuevo

 sudo launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist

Reinicie el servidor de nuevo en el modo estándar.

A continuación, desde un equipo cliente con linux o mac osx compruebe que puede conectarse a través de SSL y que los certificados son correctos mediante el comando

openssl s_client -connect ldap.yourdomain:636 -showcerts

Si tiene éxito, usted va a obtener un volcado de los certificados de servidor así como una conexión de descripción del detalle:

No client certificate CA names sent
---
SSL handshake has read 5209 bytes and written 807 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: C8E0F4A4ED24021DB4D98ACF5A9ACDC2293BC3961BF2AE90026115D899369E73
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket:
    ...
    Start Time: 1400140597
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)

Algunas otras notas:

  1. Apple sugiere que puede utilizar la auto-firmado y certificado cadenas (http://support.apple.com/kb/ht3745). Yo uso un auto firmado la cadena de éxito.
  2. El puerto 636 es el estándar de ldaps puerto y es el puerto utilizado por OpenDirectory (slapd)
  3. TLS1 se admite como puede verse en el openssl prueba de conexión
  4. Diferentes nombres DNS de nombres de host y no importa (he probado de las dos maneras con un reinicio entre)
  5. Diferentes DNS inversa no importa (he probado de las dos maneras con un reinicio entre)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X