인증서 업그레이드 후 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.