
저는 최근에 Sysops 엔지니어 역할을 시작했습니다. 그러나 특히 SSL/TLS 인증서 및 DNS와의 관계에 관한 몇 가지 기본 사항이 여전히 누락되어 있습니다.
사용 사례는 다음과 같습니다.
- 우리가 거래하는 회사는 자체 SSL 인증서를 갖춘 자체 웹사이트와 도메인을 보유하고 있습니다. 여기서 내가 사용하고 싶은 도메인 이름을 지정하겠습니다.data.example.com
- 우리는 자체 SSL 인증서를 사용하여 자체 웹사이트와 도메인을 호스팅합니다. 여기에서 사용하고 싶은 도메인을 호출하겠습니다.ourdata.ourexample.com
- 우리가 거래하는 회사가 원하는 것은 당신이https://data.example.com, 당신은 실제로https://ourdata.ourexample.com
이를 위해 나는 두 가지 가능성이 있음을 이해합니다.
- (나에게는 꽤 명확함) nginx/apache를 통해 웹 서버 수준에서 리디렉션을 만듭니다. 이는 두 도메인 모두 여전히 자체 SSL 인증서를 가지고 있지만 구성 파일에 몇 줄만 작성하면 된다는 것을 의미합니다. 모든 DNS 구성.
- (여기서부터 복잡해지기 시작합니다.) 우리가 거래하는 회사에 CSR 정보를 제공하도록 요청하십시오(https://en.wikipedia.org/wiki/Certificate_signing_request) CSR 파일을 생성할 수 있도록... 자체 SSL 인증서를 생성하는 데 사용하는 개인 키에서...? 그런 다음 CSR을 넘겨주고 자체 SSL 인증서 비용을 지불합니다. 그런 다음 리디렉션할 새 CNAME을 만들 수 있습니다.data.example.com.에게ourdata.ourexample.com.. 내가 들은 것은 CSR이 일종의 공개 키이기 때문에 우리가 이를 다른 사람에게 쉽게 넘겨줄 수 있다는 것입니다. 하지만 이 설명이 프로세스를 올바르게 설명하더라도 이 작업이 어디서, 왜 수행되는지 솔직히 알 수 없습니다.
마지막으로 우리 쪽에서 CSR이 생성되고 CNAME이 생성된 경우에서 제가 알아차린 점은https://data.example.com, 우리는https://ourdata.ourexample.com브라우저에 표시된 URL은 그대로 유지됩니다.https://data.example.com. 이것이 일부 웹 서버 구성과 관련이 있는지 아니면 DNS "설정"과 관련이 있는지 확실하지 않습니다.
내가 설명한 내용이 어느 정도 명확해지기를 바랍니다. 그렇지 않은 경우 알려주시면 더 자세한 정보를 제공하도록 노력하겠습니다.
참고: 나는 이미 이에 대한 답을 찾으려고 노력했지만 여기저기서 몇 가지 사항을 이해했지만 여전히 100% 명확하지는 않습니다.
감사합니다, SilentSib
답변1
나는 data.example.com
다음에서 호스팅될 것이라고 가정합니다.당신의귀하 example.com
가 서비스를 제공하고 있다는 사실을 고객이 보는 것을 원하지 않습니다.
그렇다면 두 개의 Apache만 있으면 됩니다.가상 호스트또는 두 개의 nginx가상 서버동일한 콘텐츠를 제공하도록 구성된 것입니다.
인증서는 어떻습니까? 개념만 이해하면 별로 복잡하지 않습니다.공개키 암호화.
기본적으로 (가장 많이 배포된 알고리즘 중 하나에서RSAA
), 두 개의 키 와 가 있습니다 B
. 으로 암호화된 데이터는 ( 해독할 수 없음) A
로만 해독할 수 있으며 그 반대의 경우도 마찬가지입니다. 그 중 하나를 배포하여 호출하세요.B
A
공개 키, 다른 하나는 비밀로 유지되고 호출됩니다.개인 키. 공개 키는 자신만이 해독할 수 있는 데이터를 암호화하는 데 사용되며, 개인 키는 서명에도 사용할 수 있습니다. 미리 합의된 바이트 시퀀스(예: 메시지의 해시)를 개인 키로 암호화하면 다른 모든 사람이 이를 해독할 수 있습니다. 개인 키가 있는지 확인하세요.
다른 부분은공개 키 인프라이다:
- 인증서: 신뢰할 수 있는 사람이 서명한 공개 키, 도메인 이름 및 기타 데이터가 포함된 파일개인 키(공개 키는 모든 브라우저에서 배포되고 신뢰됩니다). 오직도메인 이름는 다른 데이터가 아닌 인증서에 있으므로
DNS
(원하는 경우 IP 주소를 인증서에 추가하도록 요청할 수 있음), 변경 사항이 있을 때 이를 변경할 필요가 없습니다. - CSR: 인증서와 거의 동일합니다. 여기에는 귀하의 공개 키, 도메인 이름 및 귀하가 서명한 기타 데이터가 포함되어 있습니다.개인 키(당신이 열쇠를 가지고 있다는 것을 보여주기 위해). 실제로 인증 기관은 CSR의 공개 키만 사용하고 때로는 도메인 이름(HTML 형식에서 가져오지 않는 경우)도 사용합니다.
개인 키는 저렴합니다(사용량이 많은 서버에서 생성하는 데 몇 초 정도 소요). 클라이언트가 data.example.com
및 에 대해 동일한 개인 키를 사용할 가능성은 거의 없습니다 example.com
(동일한 인증서에 두 이름이 모두 있는 경우 제외). 그래서:
- 클라이언트에 이미 에 대한 인증서가 있는 경우
data.example.com
인증서와 해당 개인 키를 안전한 방식으로 보내달라고 요청하세요. 그들은 더 이상 그것들을 사용하지 않을 것이고, data.example.com
클라이언트 에 에 대한 인증서가 없는 경우새로운개인키를 확인하고 인증합니다.하지 않다다른 도메인에는 개인 키를 사용하세요. 일반적으로 인증서를 갱신하는 경우에도 새 개인 키를 생성합니다.ourdata.example.net
동일한 인증서를 등록 하면 누가data.example.com
서비스를 제공하는지 모두가 알 수 있습니다.- 당신은 또한 사용할 수 있습니다암호화하자귀하의 고객이 해당 조건에 동의하는 경우. 이렇게 하면 추가 비용 없이 몇 초 만에 유효한 인증서를 얻을 수 있습니다.