https에 대해서 (NAS 주소에 SSL 인증서 적용해보기)

김루트·2021년 3월 9일
0

네트워크

목록 보기
2/2

지난번에는 IP와 DNS(그리고 DDNS)에 대해 정리하며 나의 시놀로지 NAS에 DDNS를 적용하는 것까지 포스팅했다. 그런데, DDNS 적용까지는 문제가 없었는데, NAS 메인 화면으로 접속할 때 아래 스크린샷과 같은 문제점이 발생했다.

이 부분을 해결하려다 보니 ssl 인증서의 존재에 대해서 알게됐고, https에 대해서도 나름대로 찾아보며 정리할 수 있었다. 우선 그에 앞서 http에 대해서 간단히 정리하자면 한 마디로 "인터넷에서, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약"이라고 할 수 있다 (https://terms.naver.com/entry.nhn?docId=1180001&cid=40942&categoryId=32851).
가령, 일반적으로 웹사이트에 접속하려면 브라우저창에 http://도메인이름.com 과 같은 식으로 입력한다. 그런데 우리가 일반적으로 접속하는 네이버, 구글 등과 같은 큰 사이트에 접속하면 브라우저 주소검색창의 주소가 https 로 시작되는 것을 확인할 수 있다.

https는 http+ssl(secure socket layer), 즉 보안이 강화된 http인 것이다. 암호화 원리 등에 대해서는 상세히 알지 못하지만 내가 적어도 이해한 바를 정말 rough하게 요약하자면 아래와 같다...

● http는 텍스트를 전송하는 프로토콜로 누군가가 중간에 텍스트 (계정, 암호 등)를 탈취한다면 그대로 털린다.
● https는 이를 해결하기 위해 도입됐다. ssl 인증서를 통해 나와 서버 사이의 안전한 통신을 보장한다. 공개키, 비공개키 등의 자세한 방법은 유감스럽게도 잘 알지 못하여 다른 사람들이 상세히 설명한 글을 참조했다..

참고 자료1: https://wayhome25.github.io/cs/2018/03/11/ssl-https/
참고 자료2: https://run-it.tistory.com/28

만약 ssl 인증서가 정상적으로 적용됐다면, 웹브라우저 주소표시줄의 자물쇠 기호를 클릭했을 때 위와 같은 알림이 뜰 것이다. 참고로 ssl 인증 서비스를 제공하는 인증 기관 (certificate authority)은 전세계적으로 소수의 기업들이 시장을 차지하고 있다고 한다. 각각의 웹브라우저에는 이런 인증 기관 목록이 저장되어 있다. 예를 들어 파이어폭스 브라우저에 탑재된 인증 기관 목록은 https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport 에서 확인할 수 있다.

처음으로 돌아가서, 어쨌든 내가 맞닥뜨린 "안전하지 않은 연결" 문제는 내 사이트(?)가 정상적으로 ssl 인증을 받지 못하고 있음을 의미한다. NAS의 제조사인 synology에서 기본적으로 인증서를 제공하고는 있는데, 아쉽게도 웹브라우저의 ca 목록에서 찾아볼 수는 없다. 그렇기 때문에, 별도로 ssl 인증서를 발급받아야 한다. 문제는, 지난번의 DDNS와 마찬가지로 비용이다. ssl 인증서를 무료로 서비스하는 곳은 정말...찾기가 힘들다.

https://www.kicassl.com/main/formMain.sg?gclid=Cj0KCQiA1pyCBhCtARIsAHaY_5eh44_oxqrmrsGcrfEeMeDMlvR2K1x5xkzOW0CaQr2ljVK3cxCBNo4aAiXsEALw_wcB

기업체라면 모를까, 개인 사용자에게는 상당히 부담스러운 가격이다. 다행히 let's encrypt라는 곳이 그나마 무료로 인증서비스를 제공하며 따라서 NAS에서 해당 인증서를 발급받아서 내 도메인에 적용할 수 있다. 시놀로지 NAS 기준으로는 간단한 입력과 클릭으로 발급 받을 수 있다.

not safe....

제어판 > 인증서 > 추가 > 새 인증서 추가 >Let's Encrypt에서 인증서 얻기

안타깝게도, 무료 서비스기 때문에 다음과 같은 제약점도 있다.


내가 직전에 ddns.net을 사용하는 도메인 이름으로 인증을 받았던 탓인지, 아니면 ddns.net을 이용하는 다른 사람들이 너무 많이 인증을 받아서 그런 것인지는 몰라도 ddns.net으로는 인증이 되지 않는다. 그나마 DDNS 서비스를 무료로 제공하는 곳은 몇 군데 있기 때문에 다른 회사의 DDNS 도메인을 이용해서 인증서를 받을 수 있었다. 혹 무료 let's encrypt 인증이 되지 않는다면 김빼지 마시고 다른 DDNS를 찾아보시길 권한다...

이젠 안전하다!

이제 내 사이트로 접속하면 Let's encrypt라는 ca에 의해서 https 규약에 대해 정상적으로 인증이 이루어졌기에 보안 경고도 뜨지 않는다.

마지막으로 몇 번의 삽질을 통해 알게됐는데, IP주소에는 ssl 인증서가 적용되지 않는다.

물론 항상 그런 것은 아니라고 한다. 일반적으로 ssl 인증서는 https://www.naver.com 등과 같은 전체 주소 도메인 네임에 대해서만 적용되지만, Organization SSL 등과 같은 ca에서는 IP주소에 대한 ssl 인증 서비스도 제공한다고 한다 (https://avada.tistory.com/729).

profile
반갑습니다.

0개의 댓글