네트워크 로드 밸런서 레이어 3/레이어 4(IP 프로토콜)를 사용하여 LDAPS 로드 밸런싱

네트워크 로드 밸런서 레이어 3/레이어 4(IP 프로토콜)를 사용하여 LDAPS 로드 밸런싱

레이어 3/레이어 4(IP 프로토콜) 데이터를 기반으로 정상적인 서버로 트래픽을 전달하는 Network Load Balancer를 설정하려고 합니다.

질문: SSL을 통한 LDAP(LDAPS)에서 작동합니까?(저는 레이어 7이 필요에 따라 TLS/SSL 복호화를 수행한다는 것을 알고 있습니다)

Network Load Balancer가 있고 두 개의 백엔드 서버가 LDAP 서비스를 실행하고 있습니다. 다음 결과로
실행할 수 있습니다 .ldapsearch

표적 질문 상태
백엔드 서버1 ldapsearch -x -H ldap://<Backend1> 성공적인
백엔드 서버1 ldapsearch -x -H ldaps://<Backend1> 성공적인
백엔드 서버2 ldapsearch -x -H ldap://<Backend2> 성공적인
백엔드 서버2 ldapsearch -x -H ldaps://<Backend2> 성공적인
네트워크 부하 분산기 ldapsearch -x -H ldap://<NLB> 성공적인
네트워크 부하 분산기 ldapsearch -x -H ldaps://<NLB> 아니다성공적인

이 문제를 해결하는 방법에 대한 제안이 있으십니까?

편집하다: 실행할 때 ldapsearch -x -H ldaps://<NLB>다음 오류가 발생합니다.

ldap_sasl_interactive_bind: Can't contact LDAP server (-1)
        additional info: (unknown error code)

옵션 추가 -d1:

ldap_url_parse_ext(ldaps://ipa.example.com)
ldap_create
ldap_url_parse_ext(ldaps://ipa.example.com:636/??base)
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP ipa.example.com:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 10.141.4.23:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
attempting to connect:
connect success
TLS: hostname (ipa.example.com) does not match common name in certificate (ipa2.exmaple.com).
TLS: can't connect: (unknown error code).
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

그럼... 인증서에 ipa1과 ipa2가 모두 포함된 NLB에 인증서를 첨부해야 할 것 같은데요? 클라우드 제공업체에서 지원하는지 잘 모르겠습니다.

메모:NLB는 관리형 서비스이므로 SSH로 연결할 수 없습니다.

답변1

It seems like I need to attach a certificate to the NLB containing both ipa1 and ipa2 in the certificate?

ipa.example.com아니요, 로드 밸런서에 사용하는 것으로 보이는 이름인 인증서가 필요합니다 .

또한 로드 밸런서를 우회하여 LDAP 서버에 직접 연결하려면 여러 SAN이 포함된 인증서가 필요합니다.

어느 쪽이든 LDAP 서버에 인증서를 직접 설치해야 합니다. 로드 밸런서가 계층 4에서 작동하므로 SSL 연결을 종료하지 않고 단순히 트래픽을 서버 중 하나로 전달하기 때문입니다.

답변2

TLS: hostname (ipa.example.com) does not match common name in certificate

사용 중인 인증서에는 클라이언트가 연결하는 이름이 SAN에 없습니다.

관련 정보