오늘은 Azure 에서 발급가능한 서버용 인증서를 만드는 이야기를 좀 해볼까 합니다.
구글 Chrome 은 2018.10 부터 https 가 아닌 http 에 대해서는 "Not Secure" 를 표시하면서 모든 웹사이트에 SSL 적용이 권장이 아닌 거의 필수로 자리 잡아 가고 있습니다.
https://www.blog.google/products/chrome/milestone-chrome-security-marking-http-not-secure/
다들 잘 아시겠지만 Https 접속을 위해서는 SSL 인증서를 구매하고 웹서버에 SSL 인증서를 접속해야하죠.
웹서버용 SSL 인증서를 인증서 판매업체로부터 구매를 하여야 합니다. 싸게는 몇만원 부터 몇십만원까지하기도 합니다.
Azure 에서도 SSL 인증서 발급이 가능하고 Azure 서비스에 바로 적용도 가능하고 발급된 인증서를 다운로드 받아 On-Premise 환경에서도 사용이 가능합니다. 다만 다운로드 과정을 PowerShell로 다운로드 받고 이과정에서 Key-Vault 를 통해 암호문자를 따로 받아야 하는 과정이 매우 복잡하고 이렇게 다운로드 받은 pfx 형태의 인증서를 리눅스용 아파치 서버에 바로 적용할 수 없어 인증서 분리작업을 추가로 진행 하여야 합니다.
이과정이 번거러워 간략히 설명을 남깁니다.
애저 포털에서 App Service Certificate 서비스 선택하여 서비스 화면으로 이동합니다.
[추가] 버튼을 눌러 인증서 정보를 입력합니다.
SNI 인증서는 8만원, 와일드카드 인증서는 34만원 정도로 1년 인증서 발급이 가능합니다.
인증서를 자동으로 갱신할 것인지 설정할 수 있습니다. 1년 후 갱신이 필요하여 60일전에 자동 갱신 되도록 됩니다.
테스트용으로 사용하실경우 자동갱신을 해제하셔야 겠죠?
인증서가 발급되지 위해서는 아래 절차를 수행하여야 인증서가 발급됩니다.
- Key-Valut 생성
- 도메인 확인 수행 해야하는데 유효한 도메인 관리자에게 메일을 통해 인증하는 것으로 합니다.
아래와 같이 메일이 도착하며 해당 링크를 클릭하여 확인키를 입력하고 나면 소유권 확인이 완료 됩니다. - 인증서가 발급됩니다.
확인까지 완료된 후 잠시 기다리면 인증서 발급이 완료됩니다.
인증서 다운로드를 위해서는 아래 페이지를 참고하여 PowerShell 을 실행하면 인증서를 다운로드 받을 수 있으며 이때 반드시 인증서 암호를 따로 보관해 놓고 이후 인증서 등록 시 해당 인증서를 사용하여 웹서버에 인증서를 등록할 수 있습니다.
https://azure.github.io/AppService/2017/02/24/Creating-a-local-PFX-copy-of-App-Service-Certificate.html
다운로드 받은 인증서를 아파치에서 사용하시 위해서는 별도로 pfx 인증서를 분리하는 과정을 거쳐야 합니다.
Openssl 명령어를 사용한 pfx 인증서 분리
https://www.comodossl.co.kr/certificate/ssl-installation-guides/pfx-with-openssl.aspx
인증서 분리는 아래 URL 을 참고하여 진행할 수 있으며 적용 후 웹페이지에 HTTPS 인증서가 잘 적용된 것을 볼 수 있습니다.
주체 대체 이름을 보면 입력한 Naked 도메인호스트 이름에 www 가 붙어서 발급되어 www.도메인.com 으로 발급이 필요할 경우 Naked 도메인호스트 이름에 도메인.com 만 입력하면 됩니다.