인증서 업그레이드 후 LDAP 인증이 start_tls 옵션과 함께 작동하지 않음


1

ldap.conf 파일에서 ssl start_tls 옵션을 활성화하여 클라이언트에서 Ubuntu LDAP 인증이 작동하지 않습니다. ssl start_tls를 주석 처리하면 인증 할 수 있습니다.

ldap 서버 인증서를 업그레이드 한 후 ssl이 활성화되어 있으면 사용자가 더 이상 ubuntu 10.04 클라이언트 컴퓨터에서 인증 할 수 없습니다. 발생한 변경 사항 :

Cert upgraded from 1024 to 2048 bit
now is a wildcart cert and use it to be a self-signed cert
encryption algorithm is now shaw512 (use to be md5)

내 auth.log에 몇 가지 오류가 있습니다.

nss-ldap : do_open : do_start_tls 실패 : stat = -1

새 인증서 (이전 centOS 시스템)를 사용하여 인증하는 다른 클라이언트가 있기 때문에 새 인증서가 작동합니다.

아무도 내 클라이언트에서 ldap과 함께 더 이상 SSL을 사용할 수없는 아이디어가 있습니까?

답변:


1

서명 계층이 있습니까 (즉, 자체 서명되지 않은)? "와일드 카드"및 "자체 서명"은 배타적이지 않습니다. 상업용 와일드 카드 인증서에는 계층 구조, 즉 하나 이상의 중간 CA 및 루트 CA가 있습니다.

sha-512 또는 md5는 인증서 서명에 사용 된 해시 이며 암호화 알고리즘 이 아닙니다 . 이들은 인증서 무결성을 확인하는 데 사용되며 연결에 사용되는 암호는 이것과 독립적으로 협상됩니다.

우분투 10에서는 sha512 (보다 정확하게는 "sha512WithRSAEncryption")가 지원되지 않는 것 같습니다. 또는 머신에 하나 이상의 CA 인증서 (중간 또는 루트)가 누락되어 전체 체인 확인을 완료 할 수 없습니다.

openssl이 Ubuntu 10 컴퓨터에서 다음을 실행하여 서버의 새 인증서를 처리 할 수 ​​있는지 확인할 수 있습니다.

openssl x509 -in newservercert.crt -noout -text

비록 결정적이지 않을 수도 있습니다. 도움이 될 수도 있습니다.

ldapsearch -x -Z -v -h your.ldap.server

(OpenSSL 대신 GnuTLS를 사용할 가능성이 적습니다. 죄송합니다.)

/etc/ldap/ldap.conf 파일에이를 추가하여 체인 문제를 확인하거나 거부 할 수 있습니다.

TLS_REQCERT never

도움이되는 경우 누락 된 체인 부분을 가져 와서 로컬 저장소에 추가해야합니다.이 방법은 클라이언트 구성에 따라 / TLS_CACERT 및 / 또는 /etc/ldap/ldap.conf에서 TLS_CACERTDIR을 확인하는 방법에 따라 다릅니다. 지시문은 시작하는 곳입니다.

덜 가능한 원인은 다음과 같습니다.

  • CRL을 확인할 수 없음 (ldap.conf에서 활성화되어 있는지 확인)

그리고 다른 변경 사항이 없다고 가정하면 완성을 위해 불가피한 원인이 포함됩니다.

  • 클라이언트가 지원하지 않는 서버 프로토콜 버전 또는 암호 세트
  • 지원되는 SASL 메커니즘 변경

올바른 인증서가 있습니까? AFAICT 포트 389에서 starttls를 실행 중이고 포트 636에서 실행중인 openssl s_client -connect your.ldap.server:636 -showcerts경우 다음을 시도하십시오. ldapsearch가있는 경우 위의 ldapsearch 명령은 무엇을 말합니까?
mr.spuratic

답변 주셔서 감사합니다. 나는 'openssl'명령을 시도하고 인증서를 읽었으며 2048 비트 키를 기대했지만 1024가 있고 서명 알고리즘은 sha1WithRSAEncryption이고 sha512WithRSAEncryption을 기대했습니다. shaw512는 서명 알고리즘이 아닌 비밀번호에 사용되는 암호화 알고리즘입니다. 이것은 내 다른 컴퓨터에서 작동하는 인증서이기 때문에 실제로 중요하지 않습니다. ldapsearch 명령에서 오류가 발생했습니다 : 'ldap_start_tls : 연결 오류 (-11)'. 그리고 'tls_checkpeer no'를 설정하면 ssl start_tls가 작동 할 수있었습니다.
admiles

다른 클라이언트에서 동일한 인증서를 사용하기 때문에 올바른 인증서입니다. 예, 포트는 389이며 ldapsearch는 'ldap_start_tls : 연결 오류 (-11)'오류를 나타냅니다. 적어도 나는 지금보다 ssl을 사용하고 있지만, 왜 내 인증서를 가져 가지 않을지 수수께끼입니다.
admiles

0

이 질문을 해결했는지 확실하지 않습니다. 나는 같은 상황에 직면했다. 12.04는 tls를 사용하여 LDAP 서버에 연결하지만 10.04는 연결하지 않습니다. 내 솔루션은 다음 줄을 추가하는 것입니다 /etc/ldap/ldap.conf.

TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

10.04 클라이언트는 tls를 사용하여 LDAP 서버에 연결할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.