TLS v1.3 support came recently to the 389 Directory Server (via mod_nss) with the latest CentOS 7. Due to an inconstancy between EPEL and CentOS7 upstream, TLS v1.3 is not currently available to the dirsrv admin service!
To activate the TLS v1.3 protocol for 389 Directory Server, do prepare a LDIF file, and describe there the modification that will take place in "cn=encryption,cn=config" (a dn-object which is a part of the 389 start up configuration), and insert there the following text:
dn: cn=encryption,cn=config changetype:modify replace: sslVersionMin sslVersionMin: TLS1.2 dn: cn=encryption,cn=config changetype: modify replace: nsSSL3 nsSSL3: off dn: cn=encryption,cn=config changetype: modify replace: nsSSL3Ciphers nsSSL3Ciphers: +TLS_CHACHA20_POLY1305_SHA256,+TLS_AES_256_GCM_SHA384,+TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,+TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,+TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,+TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
Save that content as "modify.ldif", then invoke ldapmodify, and authenticate as "cn=Directory Manager" to enforce the modification:
$ ldapmodify -D "cn=Directory Manager" -x -W -f modify.ldif
In case of successful modification, the following message will appear:
modifying entry "cn=encryption,cn=config"
At this point you need to restart 389 Directory Server:
systemctl reload dirsrv@instance-name
and check if the requested cipher suite, already requested for TLS v1.2 above, is really available to the server (replace "localhost" with the actual server name of your 389 server):
$ nmap -sV --script ssl-enum-ciphers -p 636 localhost
In latest Fedora, CentOS, and Ubuntu, one can use openssl (>= 1.1.1) to verify that that TLS v1.3 is successfully configured and (therefore) available (just replace "server-name" down bellow with your actual server name):
$ openssl s_client -connect server-name:636
This is how a positive result, the one detecting the presence of TLS v1.3, will appear on your screen:
New, TLSv1.3, Cipher is TLS_CHACHA20_POLY1305_SHA256 Server public key is 4096 bit Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent






0 comments:
Post a Comment