마스터와 슬레이브 LDAP 서버 간에 TLS 보안 복제를 추가하려고 합니다. TLS가 없는 복제는 잘 작동합니다.

슬레이브에서 다음 오류가 발생합니다.slapd_client_connect: URI=ldap://master.domain.com Error, ldap_start_tls failed (-11)

내 구성은 다음과 같습니다.

----- Master -----
/etc/ldap/ldap.conf
  URI            ldap://master.domain.com/
  TLS_CACERT     /etc/ssl/cacert.pem
  TLS_REQCERT    demand

/etc/ldap/slapd.d/cn=config.ldif
  olcTLSCertificateKeyFile: /etc/ssl/master-key.pem
  olcTLSCertificateFile: /etc/ssl/master-cert.pem
----- Slave -----
/etc/ldap/ldap.conf
  URI            ldap://slave.domain.com/
  TLS_CACERT     /etc/ssl/cacert.pem
  TLS_REQCERT    demand

/etc/ldap/slapd.d/cn=config.ldif
  olcTLSCertificateKeyFile: /etc/ssl/slave-key.pem
  olcTLSCertificateFile: /etc/ssl/slave-cert.pem

/etc/ldap/slapd.d/cn=config/olcDatabase{1}mdb.ldif
  olcSyncrepl: rid=001, provider=ldap://master.domain.com binddn="cn=readonly,ou=users,dc=master,dc=domain,dc=com" bindmethod=simple credentials="mypass" searchbase="dc=master,dc=domain,dc=com" type=refreshAndPersist timeout=0 network-timeout=0 retry="60 +" starttls=critical tls_reqcert=demand

이것은 내가 이미 확인 / 시도한 것입니다.

  • 두 서버의 인증서는 사용자가 소유합니다.openldap
  • 두 서버의 cacert.pem 지문이 동일합니다.
  • 인증서의 유효기간이 좋다
  • cacert.pem의 cn은 마스터 서버의 cn과 같습니다.
  • 슬레이브는 다음 명령을 사용하여 마스터를 검색할 수 있습니다.ldapsearch -ZZ -x -H master.domain.com -b "ou=groups,dc=master,dc=domain,dc=com"
  • olcTLS마스터 인증서를 사용하도록 슬레이브 값 변경
  • ( 일하고 있었다) ldaps://대신 사용ldap:// + starttlsldapsearch -ZZ -H ldaps://

인터넷 검색을 좀 해보니 CA인증서(Cn, 파일소유자 등)에 대한 얘기가 자주 나오던데 저는 이미 이런 경우를 확인했습니다.

문제가 어디에서 오는지 알고 있습니까?

answer

여러 자습서에서 읽은 것과는 달리 자체 서명된 인증서를 사용하는 경우에도 olcTLS 변수에서 CA 파일을 구성해야 합니다.

/etc/ldap/ldap.confOpenLDAP가 "새" 구성 시스템으로 slapd.d 폴더와 함께 작동하므로 파일을 읽을 수 없다고 생각 합니다.

이것은 마스터/슬레이브 복제를 위해 TLS를 활성화하기 위해 수행한 구성입니다.

----- Master -----
/etc/ldap/slapd.d/cn=config.ldif
  olcTLSCACertificateFile: /etc/ssl/cacert.pem
  olcTLSCertificateKeyFile: /etc/ssl/master-key.pem
  olcTLSCertificateFile: /etc/ssl/master-cert.pem
----- Slave -----
/etc/ldap/slapd.d/cn=config.ldif
  olcTLSCACertificateFile: /etc/ssl/cacert.pem
  olcTLSCertificateKeyFile: /etc/ssl/slave-key.pem
  olcTLSCertificateFile: /etc/ssl/slave-cert.pem

메모 :

  • 슬레이브 인증서에는 자체 인증서가 있어야 합니다 cn.
  • 오류 가 발생 mods check (objectClass: value #2 invalid per syntax)하면 슬레이브는 마스터에 로드된 일부 스키마를 놓치게 됩니다.