Impossibile utilizzare SSL o TLS per accedere al server ldap di OpenDirectory

4

Non riesco a connettermi con il mio sistema openserver utilizzando la connessione SSL / TLS.

Non ci sono problemi nella comunicazione senza SSL sulla porta 389 e può connettersi e recuperare informazioni sulla directory senza problemi.

Tuttavia, quando si utilizza la porta 636 e si prevede comunicazioni sicure, la connessione non riesce a connettersi.

Il seguente tentativo di connessione openssl indica la traccia che indicherebbe che non è stata stabilita alcuna connessione ssl.

L'immagineseguenteprovienedaServerAdmincheindicacheSSLèabilitatoeuncertificatoèstatofornitoperlaconnessionealserver.

La porta 636 è aperta sul server ldap e nessun firewall si trova tra i due host.

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

Una connessione telnet alla porta 636 sul server riesce a indicare che non ci sono problemi con il firewall in gioco.

Qualcuno può fornire elementi aggiuntivi da verificare per identificare e correggere la causa di questo problema?

    
posta sweetfa 06.05.2014 - 03:15
fonte

1 risposta

1

I seguenti sono stati i passaggi che ho seguito per risolvere questo problema:

Riavvia il server in modalità provvisoria (tieni premuto il tasto Maiusc durante il riavvio)

Lasciala inattiva per un po '(apparentemente è la pulizia delle cache in questa modalità)

Interrompe il server slapd esistente

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

Imposta il GUID del certificato corretto nel file /etc/openldap/slapd_macosxserver.conf . Questo può essere accertato dai contenuti della directory / etc / certificates

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

Rimuovi i valori del certificato TLS configurato dal file /etc/openldap/slapd.d/cn=config.ldif

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

Avvia nuovamente il server slapd

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

Riavvia il server in modalità standard.

Quindi da un computer client con linux o mac osx verifica che sia possibile connettersi tramite SSL e che i certificati siano corretti utilizzando il comando

openssl s_client -connect ldap.yourdomain:636 -showcerts

In caso di successo si otterrà un dump dei certificati del server e una descrizione dei dettagli della connessione:

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)

Altre note:

  1. Apple suggerisce di poter utilizzare il proprio certificato autofirmato catene ( link ). Io uso un auto firmato catena e ha successo.
  2. La porta 636 è la porta ldaps standard ed è la porta utilizzata da OpenDirectory (slapd)
  3. TLS1 è supportato come può essere visto dal test di connessione openssl
  4. Differenti nomi DNS e nomi host non sono importanti (ho provato entrambi i modi con un riavvio tra)
  5. Il DNS inverso diverso non ha importanza (ho provato entrambi i modi con un riavvio tra)
risposta data 15.05.2014 - 10:57
fonte

Leggi altre domande sui tag