DNS 리디렉션을 위해 별도의 SSL 인증서가 필요합니까?


17

내 응용 프로그램이 테넌트 제품에 대한 기술 문서를 호스팅하고 제공하는 다중 테넌트 응용 프로그램을 구현하고 있습니다.

이제 내가 고려한 접근 방식은 문서를 호스팅하고 docs.<tenant>.mycompany.com테넌트가 CNAME DNS 레코드를 설정하도록 요청 docs.tenantcompany.com하는 것 docs.<tenant>.mycompany.com입니다.

사이트가 내 테넌트 인증서로 SSL을 사용하도록 설정하고 싶습니다. 테넌트 회사에 와일드 카드 SSL 인증서가 있는지,이 설정에서 작동 docs.tenantcompany.com합니까 , 아니면 새 SSL 인증서를 구입해야하는지 알고 싶습니다.


명확히하기 위해 * .mycompany.com에 대한 와일드 카드가 있습니까?
zymhan

@WildVelociraptor 예, 다음에 대한 와일드 카드 SSL 인증서가 있습니다*.mycompany.com
codematix

@codematix 의심을 피하기 위해에 대한 와일드 카드 인증서 *.example.com 는 일치하지 않습니다 docs.tenantname.example.com ! 와일드 카드는 하나의 '하위 도메인'에만 유효합니다. 그것은 일치 docs-tenantname.example.com 예를 들어,. Amazon의 S3는 이에 대한 좋은 예입니다. (와 같은 호스트 이름으로 끝나는) *.s3.amazonaws.com마침표로 버킷에 액세스 할 때 인증서가 실패합니다 . 이러한 버킷 이름은 S3 웹 호스팅에 필요합니다. www.example.comwww.example.com.s3.amazonaws.com
Calrion

자신의 서버를 가리키는 cname을 사용하면 테넌트 제공 인증서가 필요하지 않습니다. 일부 인증서 공급자 ( letencrypt.org 포함 )는 https를 통한 도메인 소유권 확인을 지원합니다. 보안 모범 사례와 관련하여이 접근 방식은 훨씬 우수합니다 ( serverfault.com/a/765957/4480 에서 이미 논의 됨 ). 테넌트가 자체 인증서를 제공하도록 허용하는 것은 좋지만 (테넌트에서는 쉽게 생성 할 수 있지만) 와일드 카드 인증서를 제공해서는 안됩니다.
Brian

답변:


39

인증서 이름은 '최종'DNS 레코드가 아니라 사용자가 브라우저에 입력 한 것과 일치해야합니다. 사용자가 입력 docs.tenantcompany.com하면 SSL 인증서가이를 커버해야합니다.

경우 docs.tenantcompany.com에 CNAME이다 foo.example.com인증서가 않습니다 하지 커버 할 필요가 foo.example.com그냥 docs.tenantcompany.com.


25

Jason의 대답은 맞습니다. 그러나 여기서 용어를 좀 더 명확히하기 위해 "DNS 리디렉션"은 약간 잘못된 것입니다. DNS에는 다른 이름을 가리키는 이름 인 CNAME 레코드 (별칭)가 있습니다. 그러나 리디렉션이 아닙니다. 이름에서 이름으로 IP 로의 변환은 모두 백그라운드에서 이루어지며 브라우저는 초기 이름에만 관심이 있습니다.

리디렉션하는 유일한 것은 서버가 브라우저가 다른 곳으로 가도록 명시 적으로 알리는 웹 서버입니다. 웹 서버가있는 경우 사실 다른 이름으로 리디렉션을 수행, 당신은 것입니다 브라우저가 궁극적으로 따로 둘 다에 연결 될 수 있기 때문에 실제로 모두 이름에 대한 인증서 표시를해야합니다.


2
수정 해 주셔서 감사합니다. 당신은 맞습니다. 리디렉션이 아니라 CNAME 별칭입니다.
codematix

내 고객은 Server Awith 도메인이 example.com있습니다. 나는 그를 위해 웹 사이트를 만들고에 사이트를 유지했다 Server B. 내 클라이언트 는 내 서버의 IP 주소 A Record를 가리키는 그의 DNS 를 구성했습니다 . 이제 내 클라이언트가에 대한 SSL을 받고 있습니다. 내 질문은, 내 고객이 내부에 SSL 인증을 제공해야 합니까? 아니면 그냥 넣어야 합니까? 아니면 다른 무엇을해야합니까? 우리는 이것에 대해 혼란스러워합니다. 감사합니다! dog.example.comServer Bdog.example.comServer BServer A
user2875289

1
A 레코드가 dog.example.com서버의 IP를 직접 가리키는 경우 예입니다. 서버에는 해당 이름의 인증서와 개인 키가 포함되어 있어야합니다. 귀하의 예에서 서버 A는 관련이 없습니다.
Ryan Bolger

@RyanBolger 예, 당신이 말한 것처럼. 고객이 인증서를 신청 dog.example.com하여 인증서와 개인 키를 나에게 보냅니다. 나는 그것들을 안에 넣고 Server BNginx를 사용하도록 구성합니다. 이제 모든 것이 잘 작동합니다. 감사합니다!
user2875289

기술적 인 점에 대한 참고 사항; 현재 "ALIAS"레코드가 있으므로 CNAME도 별칭이라고 말할 수 없습니다.]
Garet Claborn

9

테넌트 회사에 와일드 카드 SSL 인증서가 있는지 알고 싶었습니다.이 설정과 함께 작동하거나 새 SSL 인증서를 구매해야 docs.tenantcompany.com합니까?

짧은 답변 : 아니요. 테넌트 회사에 이름에 와일드 카드가 있으면 *.tenantcompany.com해당 이름을 통한 액세스를 포함하기 위해 서버에 설치하기에 충분합니다. 당신이 이것을하고 싶은지 아닌지는 또 다른 이야기입니다.

이름을 통해 항상 액세스 할 경우 이름의 인증서 docs.<tenant>.mycompany.com(예 : 직접 인증서 또는 와일드 카드 *.<tenant>.mycompany.com)는 쓸모가 없습니다 docs.tenantcompany.com.


더 긴 답변

https://docs.tenantcompany.com합리적인 브라우저에서 탐색한다고 가정하십시오 . 브라우저는 HTTP 프로토콜을 통해 TLS를 실행합니다. 특히 두 가지에 관심이 있습니다. 그:

  • 브라우저 및 운영 체제의 DNS 하위 시스템은 적합한 호스트의 IP 주소를 반환합니다.이 호스트는 로컬 네트워크 또는 인터넷의 다른 곳에서 적합한 포트에서 웹 서버를 실행합니다. HTTPS (보안) 트래픽의 경우 기본 포트는 443URL에서 달리 재정의되지 않는 한입니다.

  • TLS 핸드 셰이크 브라우저와 원격 서버, 서버 선물은 (요청 된 주소에서 TLS 서비스를 제공하기 위해 허용하는 신뢰할 수있는 인증서 사이에 일어난 일 docs.tenantcompany.com).

DNS

브라우저는 DNS를 블랙 박스로 간주합니다. 친숙한 FQDN (정규화 된 도메인 이름)에서 적합한 IP 주소 (v4 또는 v6) 로의 매핑을 요청하기 위해 적합한 DNS 라이브러리를 호출합니다. IP 주소를 얻는 방법은 중요하지 않습니다. CNAME원본 레코드와 A또는 AAAA레코드 사이에 DNS에 20 개의 별칭이있는 경우 DNS 확인자는 IP 주소를 얻을 때까지 별칭을 따릅니다.

TLS

브라우저가 TLS 핸드 셰이크를 수행 할 때, 통신중인 서버가 요청한 FQDN에 대해 안전한 웹 사이트 서비스를 제공 할 권한이 있는지 확인해야합니다 docs.tenantcompany.com.

기억하세요 : 브라우저는 신경 쓰지 않습니다 docs.<tenant>.mycompany.com. DNS 확인자는 CNAME레코드 를 통해 간접 지식에 대한 모든 지식을 추상화했습니다 .

서버가 보안 세션을 제공하도록 권한을 부여하는 docs.tenantcompany.com방법은 브라우저의 루트 인증서 저장소에서 사전 신뢰가 설정된 기관이 서명 한 SSL 인증서를 사용하는 것입니다. 이것이 항상 서버에 대한 클라이언트에 대한 가장 강력한 인증 형식은 아니지만 중앙 집중식 CA 모델에서는 많은 것이 잘못 될 수 있지만 현재로서는 최고입니다.

여기에 두 가지 추가 경고가 있습니다.

키 공유

많은 상용 SSL 인증서 공급 업체는 단일 서명 요청에만 서명하므로 와일드 카드 인증서를 단일 개인 키에 효과적으로 바인딩합니다. 개인 키를 소유 한 사람은 누구나 테넌트 회사의 다른 보안 시스템과의 통신을 손상시킬 수 있으므로 테넌트 회사는 조직 외부에서이를 공유하기가 쉽지 않을 수 있습니다.

일부 공급 업체는 동일한 인증서로 여러 인증서 서명 요청에 서명하므로 단일 와일드 카드 인증서를 여러 서버와 시스템간에 개인 키를 공유하지 않고도 설치할 수 있습니다.

가장 무도회

테넌트 회사가 개인 키를 공유하거나 자신의 CSR에 서명하여 와일드 카드 인증서 사본을 제공하는 경우, 가장 <anydomain>.tenantcompany.com을 사용하여 tenantcompany.comDNS 네임 스페이스 에서 식별 된 서버의 무결성을 보장하는 중요한 보호 기능을 무너 뜨릴 수 있습니다 . 이는 법적 / 책임 관점에서 귀하와 세입자 회사 모두에게 나쁜 입장이 될 수 있습니다.


자세한 답변을 주셔서 감사합니다. 그것은 매우 도움이되고 내가하려는 일의 윤리적, 법적 측면을 고려하는 데 도움이되었습니다.
codematix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.