SSL 및 TLS 인증서에 대해서는 거의 아는 바가 없습니다. 미안합니다.
회사에서 저에게 이렇게 물었습니다.
- 전국의 사람들이 VPN을 통해 액세스할 수 있는 로컬 네트워크에 서버를 배치해야 합니다.
- 그들은 이 서버가 HTTPS를 사용하여 통신하기를 원합니다.
- 그들은 서버가 인증된 CA에서 생성한 TLS 인증서를 갖기를 원합니다.
- 그들은 서버가 Microsoft IIS 서버라고 말합니다.
지금까지 내가 발견한 것:
server.mydomain.local
인터넷에서 주소에 액세스할 수 없고 액세스할 수 없는 인트라넷 서버에 대해 인증된 CA에서 생성한 SSL 인증서를 보유하는 것은 불가능합니다 .- 해당 서버에 대한 SSL 인증서를 갖는 유일한 방법은 자체 서명된 인증서이지만 이러한 인증서는 iOS 등에서 신뢰할 수 있는 것으로 유명하지 않습니다. iOS는 자체 서명된 인증서를 싫어하며 해당 인증서는 기본적으로 로컬 서버.
나에게 필요한 것은 내가 옳다는 확인, 그렇지 않다면 이 체크메이트를 어떻게 해결해야 하는가이다.
감사해요
답변1
공용 CA가 공용 도메인 이름에만 인증서를 발급한다는 것이 맞습니다(이를 확인할 수 있기 때문입니다). 그러나 이것이 서버에 공개적으로 액세스할 수 있는지 여부나 공용 IP 주소가 있는지 여부와 반드시 관련이 있는 것은 아니라는 점을 놓치고 계십니다.서버는 그럴 필요가 없습니다.BE공개 도메인 이름을 가지려면 public을 사용하세요.
CA는 URL에 포함될 이름의 소유권을 확인하는 데에만 관심이 있습니다.일부Let's Encrypt와 같은 CA는 일반적으로 HTTP를 통해 서버에 연결하여 이를 수행합니다(더 이상 유일한 옵션은 아니지만). 그러나 다른 많은 CA에서는 (아마도 Whois 기록을 통해) 전체 도메인의 소유권만 확인한 다음 모든 하위 도메인, 심지어 웹 서버가 없는 하위 도메인이나 공개적으로 아무 것도 없는 하위 도메인에 대한 인증서를 자유롭게 발급할 수 있습니다. 액세스할 수 있거나 전혀 존재하지 않는 하위 도메인도 가능합니다.
그래서 나는 회사가 이미 웹사이트를 가지고 있고 따라서 공개 도메인 이름을 가지고 있다고 가정합니다. 회사가 원하는 바에 따라 여러 가지 방법으로 해결할 수 있습니다.
서버가 일반 공용 IP 주소를 사용하도록 하고 항상 그랬던 것처럼 이를 DNS에 넣을 수 있습니다. 예를 들어 Windows 방화벽이나 일부 IIS 관련 설정을 사용하여 VPN을 통해 이루어지지 않은 모든 연결을 서버가 거부하도록 할 수 있습니다.
(대부분의 VPN 시스템은 보안 터널을 통해 모든 IP 주소 범위를 라우팅하도록 구성할 수 있으며, IP 주소가 "공용"인지 "비공개"인지는 중요하지 않습니다. 기업 VPN을 통해 회사의 공용 IP 범위를 라우팅하는 것은 일반적인 일입니다. 할 것.)
내부 IP 주소를 가리키는 하위 도메인을 생성할 수 있습니다. 예를 들어,
server.corp.mydomain.com
VPN을 통해서만 액세스할 수 있는 개인 IP 주소인 192.168.7.1을 가리키는 공개 하위 도메인이 될 수 있습니다. 공개적으로 유효한 HTTPS 인증서가 발급되었습니다.(DNS 설정과 관련하여 특별한 것이 필요하지 않으며 말 그대로 원하는 주소로 도메인을 가리킬 수 있습니다.)
개인 IP 주소에 실제 웹 서버가 있을 수 있지만 공용 IP 주소에 "역방향 프록시" 프런트엔드 서버를 사용할 수 있습니다. 역방향 프록시는 IP 기반 액세스는 물론 SSO 또는 비밀번호 인증도 처리할 수 있습니다. 실제 개인 서버를 대신하여 Let's Encrypt HTTP 기반 인증서 발급을 처리할 수도 있습니다.
(우리는 이 방법을 사용하여 녹슨 오래된 웹앱에 보안 HTTPS 액세스를 제공합니다. 그 중 하나는 여전히 Server 2003에서 실행되고 최신 브라우저를 전혀 처리할 수 없습니다. 대신 역방향 프록시는 필요한 TLS 1.2 지원과 SAML 인증을 제공합니다.
(다른 옵션도 있습니다. 공용 CA 외에도 누구나 자체 CA를 만들 수 있으며 Microsoft AD를 실행하는 대부분의 회사 네트워크에는 실제로 CA가 있습니다. 유일한 문제는 장치가 해당 CA를 신뢰하도록 하는 것이지만 회사에서 발행한 iPhone의 경우 CA를 신뢰해야 합니다. 회사에서 사용하는 "모바일 장치 관리" 시스템을 통해 쉽게 수행할 수 있습니다. 하지만 사람들에게 개인 시스템에 회사 CA를 설치하라고 지시하지는 마세요...)