
Windows Server 2019에서 실행 중인 DC가 있고 도메인 서비스 역할이 설치되어 있습니다. AD CS 역할(루트 전원 끄기, 중간 전원 끄기, 전원 켜기 실행 및 도메인 가입)을 사용하여 동일한 도메인에 다중 계층 CA를 설정했습니다.
타사 클라이언트(예: 도메인에 가입되지 않은 컴퓨터 및/또는 웹 응용 프로그램)를 LDAPS/636을 통해 BIND하는 데 문제가 있습니다. LDAP/389에서는 완벽하게 작동하고 일부는 StartTLS에서 작동합니다. 비록 이것이 항상 옵션은 아니지만 제가 선호하는 것은 적절한 LDAPS를 사용하는 것입니다.
AD 서버에 대한 인증서를 생성했으며 인증서 제목에 FQDN을 사용하고 DNS 호스트 이름과 IP 주소를 SAN으로 포함하여 모든 기반을 포괄하도록 했습니다. 또한 향상된 키 사용 확장에서 "서버 인증"이 선택되었는지 확인했습니다.
환경에 대한 원격 액세스 권한이 없기 때문에 아직 이를 확인하지는 않았지만 Microsoft 설명서에 따라 Schannel CSP를 사용하여 인증서가 생성되었다고 가정해 보겠습니다. 인증서는 올바른 발급 CA에 의해 서명되고 클라이언트에는 전체 CA 체인이 설치되어 있으며 로컬에서 AD 인증서를 확인할 수 있습니다(AD에서 인증서를 내보내고 클라이언트 중 하나에 복사하는 경우).
이상한 점은 다음과 같습니다. AD 서버에 접속하여 을 열면 ldp.exe
SSL을 사용하여 LDAPS/636을 통해 연결할 수 있고 Host supports SSL, SSL cipher strength = 256 bits
출력/콘솔 보기에 나타납니다. 그러나 클라이언트 중 하나(예: Linux 시스템)에 접속하여 openssl을 사용하여 연결을 시도하면 다음과 같습니다.
openssl s_client -showcerts -state -connect <AD_FQDN>:636
인증서를 받지 못했습니다. 대신 이것을 얻습니다(네트워크의 특성상 복사/붙여넣기 대신 이것을 적어야 했기 때문에 약간의 부정확성이 있을 수 있습니다).
CONNECTED (00000003)
write: errno = 104
---
no peer certificate available
---
No client cert CA names sent
---
SSL handshake has read 0 bytes and written 324 bytes
Verification: OK
---
<snip>
실제로 인증을 위해 LDAPS를 사용하도록 클라이언트를 설정하려고 해도 아직 작동하지 않습니다. 일반적으로 나는 이 도움이 되지 않는 오류와 관련된 내용을 봅니다. SSL_Certificate error: Connection closed by peer
내 경험에 따르면 이 오류는 일반적으로 인증서 확인/신뢰 문제를 나타냅니다(클라이언트가 확인할 인증서를 얻지 못하는 경우에도 의미가 있음). 일부 다른 클라이언트는 훨씬 덜 도움이 되며 "LDAP 서버에 바인딩하지 못했습니다"라고만 말합니다.
DC는 확실히 포트 636에서 수신 대기하고 있으며 netcat을 사용하여 확인한 클라이언트에서 외부적으로 연결할 수 있습니다(즉, DC 시스템 내의 루프백뿐만 아니라).
nc -vz <AD_FQDN> 636
이 문제의 원인이 무엇인지에 대한 아이디어가 있습니까?
답변1
우리 방화벽이 애플리케이션 검사를 수행하고 SSL 연결을 끊고 있는 것으로 나타났습니다. 애플리케이션 검사를 끄면 문제가 해결되었습니다.