Openldap 및 SSL 인증서 체인 유효성 검사


0

다음과 같은 간단한 PKI를 사용하여 한 서버에서 slapd에 대한 TLS를 설정했습니다.

ldap cert < 중간 CA 인증서 < root CA 인증서

클라이언트에서 TLS를 사용하여 ldap 서버에 연결하기 위해 필자가 찾은 많은 자습서와 마찬가지로 루트 CA 인증서와 ldap 인증서를 신뢰할 수있는 인증서에 추가했습니다.

TLS를 통해 LDAP 서버에 연결할 수 있습니다

그러나 왜 중간 CA 인증서가 필요하지 않습니까? ldap 인증서와 함께 ldap 서버에서 전송해야합니까? slapd 설정에서만 구성했습니다.

olcTLSCACertificateFile: /etc/ldap/ssl/root.pem
olcTLSCertificateFile: /etc/ldap/ssl/ldap_crt.pem
olcTLSCertificateKeyFile: /etc/ldap/ssl/ldap_key.pem

그리고이 루트 및 ldap 인증서 파일 각각에는 자체 인증서 만 포함되어있는 것 같습니다.

내가 뭔가를 오해하고 있습니까? 중간 CA 인증서가 무엇인지 클라이언트가 모르게 작동하는 이유는 무엇입니까?

답변:


1

중간 CA 인증서가있는 이유는 루트 CA 인증서의 개인 키를 오프라인으로 유지할 수 있기 때문입니다.

일반적인 인증 기관 설정에서 루트 CA 인증서는 오프라인 상태로 유지되며 중간 CA 인증서, 무장 경비원, C 수준 직원 및 많은 프로토콜과 관련된 드문 이벤트에 서명하는 데만 사용됩니다. 중간 CA 개인 키는 온라인 상태로 유지되며 최종 고객의 TLS 인증서 요청에 서명하는 데 사용됩니다. 모든 최종 인증서에 서명하기 위해 이러한 종류의 프로토콜을 유지하는 것은 불가능합니다.

CA 손상의 경우 중간 CA (및 서명 한 인증서) 만 교체하면됩니다. 루트 CA가 손상된 경우 CA가 서명 한 모든 인증서를 교체해야하므로 CA를 거의 사용하지 않을 것입니다.

또한 루트 CA는 클라이언트의 신뢰 저장소에 있어야합니다. 클라이언트는 인증서를 허용 할 CA를 결정하고 해당 루트 CA 인증서를 로컬로 유지합니다. 임의의 중간 인증서를 사용하면 이와 관련하여 CA가 더 유연 해집니다. 루트 CA가 아닌 루트 CA 만 서명하기 때문에 훨씬 더 쉽게 변경할 수 있습니다 (예 :보다 안전한 해시 알고리즘으로 업그레이드).

TLS 협상 중에 서버는 인증서와 루트 CA가 아닌 경우 인증서에 서명 인증서와 루트 CA가 아닌 경우 해당 인증서에 서명 한 인증서를 보냅니다 . 클라이언트는 루트 CA 인증서를 가지고 있으므로 서버는 인증서를 보내면 안됩니다. 서버가 루트 CA 인증서를 보내려고하면 일부 클라이언트는 연결을 거부합니다.


귀하의 경우, 인증서의 출처를 지정하지 않았거나 관련 정보를 제공하지 않았으므로 추측 만 가능합니다.

개인 CA의 인증서 인 경우 TLS 인증서는 중간 CA 대신 또는 중간에 추가하여 루트 CA에 의해 직접 서명되었을 수 있습니다. 클라이언트는 신뢰 저장소에 중간체를 가질 수도 있습니다 (그렇지 않아야 함).


정보 주셔서 감사합니다. ldap 인증서를 직접 신뢰했기 때문에 잘못하고 있습니다.
eli0T
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.