STARTTLS가 포함된 LDAP가 LDAPS보다 더 널리 사용되는 업계 표준인 이유가 궁금합니다. LDAPS는 먼저 암호화된 정보를 사용하여 통신을 시작하는 반면, STARTTLS는 인증에 성공한 후에만 암호화된 연결로 업그레이드됩니다.
답변1
STARTTLS가 포함된 LDAP가 LDAPS보다 더 널리 사용되는 업계 표준인 이유가 궁금합니다.
그렇지 않다. STARTTLS에 관한 현재 모범 사례는 다음과 같습니다.RFC8314:
간단히 말해서, 이 메모는 이제 다음을 권장합니다:
[...]
o "일반 텍스트" 포트에 연결하고 STARTTLS 명령을 사용하여 TLS를 협상하는 대신 "암시적 TLS"(아래 정의됨)를 사용하여 메일 전송 서버 및 메일 액세스 서버에 연결합니다. 비슷한 명령.
그 이유는 마지막에 설명하겠습니다---https://www.rfc-editor.org/rfc/rfc8314#appendix-A:
STARTTLS는 포트 전용 TLS보다 약간 더 복잡한 것처럼 보이지만 CERT(Computer Emergency Readiness Team) 버그 ID #555316 [CERT-555316] 형식의 STARTTLS 명령 주입 취약점을 통해 복잡성이 적이라는 사실을 다시 한 번 배웠습니다. 보안 강의. ]). STARTTLS에는 본질적으로 잘못된 것은 없지만 일반적인 구현 오류(여러 구현자가 독립적으로 실행)를 발생시킨다는 사실은 암시적 TLS보다 덜 안전한 아키텍처임을 시사합니다.
예, 이 RFC는 LDAP가 아닌 이메일에 대해 이야기합니다. 하지만 이메일은 STARTTLS에서 개발한 프로토콜이므로 이 RFC는 LDAP를 포함하여 STARTTLS를 지원하는 모든 프로토콜과 절대적으로 관련됩니다.
내가 아는 한 이것이 (새로운) LDAP RFC에 포함되지 않은 불행한 이유는 간단합니다. 아직 아무도 방해하지 않았기 때문입니다. 설상가상으로 사람들은 이 옛말을 인용하고 싶어합니다.OpenLDAP FAQ 기사LDAPS 대신 STARTTLS를 사용하는 것이 권장되었지만 불행하게도 우리는 OpenLDAP FAQ가 수년 동안 유지 관리되지 않았고 오래되었으며 부정확하다는 사실을 인식하지 못했습니다.
이메일+STARTTLS와 비교한 LDAP+STARTTLS의 또 다른 단점: 이메일 프로토콜이 설계된 방식으로 인해 서버는 암호화 협상 전에 인증 지원을 광고하지 않음으로써 잘못 구성된 클라이언트가 인증 데이터를 명확하게 보내는 것을 방지할 수 있습니다. LDAP 프로토콜은 이러한 방식으로 설계되지 않았으므로 STARTTLS를 지원하는 LDAP 서버는 잘못 구성된 클라이언트가 암호화되지 않은 연결을 통해 인증 데이터를 보내는 것을 방지할 수 있는 방법이 전혀 없습니다.
최신정보를 알고 싶으시다면,OpenLDAP 메일링 리스트 검색반대로 STARTTLS에 대해서는 특히 이철사.
답변2
STARTTLS는 인증 성공 후에만 암호화된 연결로 업그레이드합니다.
확실합니까? SMTP의 경우 TLS가 먼저 시작되고 암호화된 연결을 통해 인증이 수행됩니다.이것LDAP가 동일한 방식으로 작동하는 것이 좋습니다.
이 값은 STARTTLS 암호화가 필요한 모든 서버 측 트래픽에 대해 STARTTLS 암호화를 활성화합니다. 이 경우 BIG-IP 시스템은 연결 성공 시 STARTTLS를 활성화합니다.
일반적으로 STARTTLS에 대해:
STARTTLS가 포함된 LDAP가 LDAPS보다 더 널리 사용되는 업계 표준인 이유가 궁금합니다.
항상 암호화된 연결을 사용하는 대신 STARTTLS를 사용하는 몇 가지 이유는 다음과 같습니다.
- STARTTLS를 지원하지 않는 클라이언트는 여전히 연결되어 사용자에게 표시되는 프로토콜 유효 오류를 수신할 수 있습니다. 암호화를 지원하지 않는 클라이언트는 LDAPS 서버에 전혀 연결할 수 없습니다. 이는 TLS가 필요할 때 STARTTLS가 더 나은 진단을 제공할 수 있음을 의미합니다.
- 또한 STARTTLS는 TLS가 필요하고 클라이언트가 이를 지원하지만 어떤 이유로 핸드셰이크가 실패하는 경우 더 나은 진단을 제공합니다.
- STARTTLS는 선택 사항일 수 있습니다. 그렇다면 단일 포트는 암호화된 클라이언트와 일반 텍스트 클라이언트를 모두 제공합니다. LDAPS를 사용할 때 클라이언트는 올바른 포트를 얻어야 합니다. 그렇지 않으면 연결이 실패합니다.