인증서를 사용하여 ldapsearch가 tls보다 SLES에서 작동하게하는 방법은 무엇입니까?


12

인증서를 사용하여 PHP 스크립트를 tls를 통해 LDAP에 연결해야합니다. LDAP 연결은 tls없이 잘 작동합니다. 자세한 내용은 여기 https : //.com/questions/15260252/how-to-use-multiple-tls-certificates-for-ldap-from-php-zend

Softerra LDAP 브라우저를 사용하여 Windows에서 tls를 통해 연결할 수있었습니다. 인증서를 설치하고 신뢰하는지 여부를 묻습니다.

최종 결과는 PHP의 TLS를 사용하여 LDAP로 인증 할 수 있다는 것입니다. .cer 유형의 인증서를 받았습니다. Windows Exchange 시스템에서 제공됩니다. 내가 볼 수 있듯이 SLES는 .pem 인증서를 지원합니다. 그래서 내 질문은 ...

Q1 : 클라이언트 (SLES 서버)에 인증서를 설치하기 전에 먼저 .cer에서 .pem으로 변환해야 하며 마지막으로 Q2 : 서버에이 인증서를 설치하는 가장 좋은 방법은 무엇입니까? 그것에 접근하고 그 일을하십시오 . SLES 서버에서는 다른 LDAP 서버에 연결해야합니다.

우리가 달리면 현재

ldapsearch -H ldaps://localhost:9215 -W

우리는 얻는다

Enter LDAP Password: 
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (unable to get local issuer certificate)

나는 http://www.php.net/manual/de/function.ldap-connect.php#36156 에서 좋은 정보를 많이 발견 했으며 특히이 문장은 내 눈에 중요Once you've gotten the ldapsearch tool working correctly PHP should work also.


  • SUSE Linux Enterprise Server 11 (x86_64)
  • ldapsearch : @ (#) $ OpenLDAP : ldapsearch 2.4.26 (Sep 26 2012 13:14:42) $ abuild @ baur : /usr/src/packages/BUILD/openldap-2.4.26/clients/tools (LDAP 라이브러리 : OpenLDAP 20426)

디버그하는 다른 방법은 LDAP 부분을 무시하고 SSL을 보는 것입니다. "openssl s_client -connect localhost : 9215"를 실행하여 서버가 사용하는 인증서와 유효성 검사 결과를 추출 할 수 있습니다.
Kowh

확인. 개발자에게 전달하겠습니다. 여전히 개인적으로 인증서를 설치하는 방법을 이해하지 못하며 인증서를 액세스하려고 할 때 서버에 연결되어 있습니다.
Radek

답변:


25

이는 서버의 인증서가 만료되었거나 유효하지 않음을 의미합니다.

해결 방법은 다음과 같이 LDAPTLS_REQCERT변수를 사용 하여 인증서를 무시하십시오. 예 :

LDAPTLS_REQCERT=never ldapsearch -D "cn=drupal-test,ou=Services,dc=example,dc=com" -w my_pass -h ldap.example.com -b "ou=People,dc=example,dc=com" -s sub -x -ZZ "(uid=admin)"

그렇지 않으면 인증서를 가져 와서 신뢰할 수있는 것으로 표시 할 수 있습니다.


매개 변수 ldap.conf를 설정할 기존 파일 이없는 cygwin에서도 작동합니다 TLS_REQCERT.
bvj

8

나는 pem에서 cer 로의 변환에 대해 확신하지 못하지만 ldapsearch가 ldap.conf가없는 인증서를 사용하거나 전역 인증서를 수정하는 권한이 없도록하려면 다음을 수행해야합니다.

env LDAPTLS_CACERT=/path/to/cert ldapsearch

1

사용

LDAPTLS_REQCERT=never

LDAP 서버의 인증서 유효성 검사를 제거합니다. 이것은 우선 TLS가 제공하는 보안을 무효화합니다. 이러지 마 문제가있는 경우 인증서를 수정 한 다음 tink에 설명 된대로 인증 기관에 LDAP 클라이언트를 제공해야합니다.

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