컴퓨터/노트북/인터넷
IT 컴퓨터 기기를 좋아하는 사람들의 모임방
웹을 이용한 서비스가 다양해지고, 정보 교환이 쉽게 된 만큼, 해킹 공격에 노출될 위험성도 높아지고 있어, 암호화 통신은 필수적인 요소이다. 암호화 통신은 HTTPS프로토콜을 사용함으로써 실현할 수 있지만 HTTPS프로토콜을 사용하기 위해서는 인증 기관(CA:Certificate Authority)에서 SSL인증서 발급을 해야 한다.그러나 비용 부담과 복잡한 인증 프로세스 등으로 발급률은 낮은 것이 현실이다.
일본의 Web솔루션 회사인 Atlas21이 2016년 5월에 도쿄 증권 거래소 시장 제1부에 상장한 주요 기업을 대상으로 실시한 조사에 따르면 Web사이트의 전 페이지에 암호화 통신을 적용하는 HTTPS완전 대비율은 1%로 세계의 주요 기업이 약 17%인 점에 비하면 상당히 낮은 수치를 기록했다.
즉, 대부분의 Web사이트가 SSL/TLS가 적용되지 않고, 보안 가장 기본인 암호화 통신도 보장하지 못한 상황이라는 것이다.
[세계 및 일본의 주요 기업 Web사이트의 SSL대응 현황]
(참고:세계 주요 기업 사이트의 약 4할이 상시 SSL에 대응 – 아 선택하니 한 조사(ZDNet Japan)
Let's Encrypt의 등장
SSL인증서 발급에는 인증 기관마다 조금씩 차이가 있지만 연간$80~$400의 비용을 지불해야 한다. EV, Wildcard등의 옵션을 추가하면 비용은 더 올라간다. 비용적인 부담 이외에도 복잡한 도메인 인증 작업이 SSL인증서 발급률이 낮은 이유 중 하나이다. 해당 도메인에 대한 인증 기관으로부터 인증을 받으려면 메시지 인증, DNS레코드의 추가 등의 작업이 필요하다.또, 인증 작업이 끝난 뒤 SSL인증서를 발급 받으면 직접 웹 서버에 업로드해야 하며 인증서를 갱신할 때마다 같은 작업이 필요하다.
그래서 SSL사용의 진입 장벽이 되는 이런 문제를 해결하고 누구나 안전한 암호화 통신을 쓸 수 있는 환경을 만들기 위해서, Mozilla, Cisco, Akamai, Electronic Frontier Foundation(EFF), IdenTrust등의 다양한 글로벌 주요 IT기업이 ISRG(Internet Security Research Group)이라는 인증 기관을 만들어 Let's Encrypt라는 프로젝트를 시작하게 됐다.
Let's Encrypt의 특징
Let's Encrypt의 등장으로 SSL인증서를 무료, 쉽고 자동적으로 발행할 수 있지만 이 내용에 대해서 더 자세히 알아보자.
- 1.무료 발행
SSL인증서 발행 때 비용이 발생하지 않는다.루트 도메인쯤 발행 수에 제한이 있지만 최대 2000개/1주이어서 무제한으로 봐도 과언이 아니다. - 2.간단한 도메인 인증
Cert bot라고 하는 소프트웨어를 웹 서버에 설치하면 인증 작업이 자동적으로 이뤄진다.이메일 인증, DNS레코드의 추가 등의 작업이 필요 없다. - 3.자동 인증서 발행/갱신
도메인이 인증되면, Let's Encrypt에서 자동으로 인증서가 발행되고 웹 서버에 저장되며, 90일 단위로 자동 갱신된다.인증서 발행, 갱신을 위한 작업이 필요 없다.
무료 SSL인증서의 보안
무료로 사용할 수 있고, 인증 작업도 쉽고, 갱신도 자동적으로 하거든 편하지만 무엇보다 중요한 것은 보안이 보장될지 여부이다.
Let's Encrypt은 안전한가.
결론부터 말하면 안전하다.
Let's Encrypt는 Global Sign, GeoTrust등의 루트 인증 기관에서 발행하는 상용 SSL인증서와 같은 수준의 보안을 확보한다.
SSL인증서는 각 OS와 웹 브라우저에서 신뢰된 루트 인증 기관만 발부한다.신뢰할 수 있는 루트 인증 기관이라고 하면 Internet Explorer의 경우는,[설정 → 인터넷 옵션 → 내용 → 인증서]에서 확인할 수 있다.
[Internet Explorer의 믿음직한 루트 인증 기관]
Let's Encrypt의 경우는 어떻게 발행될까.
Let's Encrypt는 웹 브라우저로부터 신뢰된 루트 인증 기관인 IdenTrust(DST Root CA X3)이 상호 인증(Cross-Sign)형태로 SSL인증서를 발행한다.
아래의 예에서 보듯이 Let's Encrypt의 SSL인증서도 상용 SSL인증서처럼 신뢰된 루트 인증 기관에서 동일 단계를 거쳐서 발행된다.
[위:상용 SSL인증서의 사례/아래:Let's Encrypt SSL인증서의 예]
[상용 SSL인증서와 Let's Encrypt SSL인증서의 루트 인증 기관]
그러므로 Let's Encrypt의 무료 SSL인증서는 상용 SSL인증서와 같은 수준의 보안을 확보할 것이다.
Let's Encrypt사용법
기존 상용 SSL인증서의 경우, 문자 메시지 인증, DNS레코드의 추가 등의 방법으로 도메인을 인증하지만 Let's Encrypt은 cert bot라고 하는 소프트웨어를 통해서 차에서 도메인을 인증하기 때문에 사용을 위해서는 해당 소프트웨어를 설치할 필요가 없다.설치 방법은 설치 환경의 OS마다 다르지만 일반적으로는 이하의 순서에 의한다.
- 1. git package설치
Let's Encrypt는 기본적으로 git을 통해서 소프트웨어를 배포하므로 소프트웨어를 다운로드하려면 우선 git package을 설치할 필요가 있다.git는 여러 사람이 프로그래밍을 할 때 소스 코드 등의 변경 이력을 기록, 추적하고 버전 관리 툴로,git의 홈페이지에서 Windows, Mac등의 설치 환경의 OS로 다운로드한다.Linux계열의 OS의 경우에는 git홈페이지의 안내에 따라서 명령 입력하고 설치할 수 있다.
- 2. 소프트웨어(Cert bot)설치 및사실행
Electronic Frontier Foundation(EFF)Cer tbot의 홈페이지(https://certbot.eff.org)에서 사용 중인 Webserver및 OS를 지정한 후 표시되는 매뉴얼대로 Cert bot을 설치, 실행한다.설치 및 실행 방법은Let's Encrypt종합 포털 사이트"Let's Encrypt의 사용법"에서 확인할 수 있다.
[cert bot홈페이지의 사용 중인 Webserver및 OS지정 화면]
[Debian 8을 사용하는 Apache웹 서버의 매뉴얼의 예]
- 3. 도메인의 입력
Cert bot실행 후 표시되는 창에서 YES를 누르면 Server Name을 설정하는 화면이 표시된다.해당 화면에 HTTPS를 적용하는 도메인을 입력한다.
[Cert bot실행 후 표시 화면]
[HTTPS를 적용할 도메인의 입력 화면]
- 4. SSL인증서 발급 확인
입력한 도메인에 대한 인증이 완료되면 자동적으로 Let's Encrypt CA와 통신하며 SSL인증서가 발급된다. 발행된 인증서는 etc/letsencrypt디렉토리에 자동 저장되어 아래와 같은 메시지가 표시된다."example.jp"에는 HTTPS를 적용한 도메인 이름이 "YYYY-MM-DD"에는 SSL인증서의 유효 기간이 표시된다.
[SSL인증서 발행 완료 화면]
상기의 모든 프로세스를 사용자가 직접 해야 하지만 누구나 간단히 할 수 있는 것은 아니다.웹 서버의 종류 및 설치 환경의 OS로 사전 작업과 추가 설정 작업이 요구되는 등 Let's Encrypt를 도입하기 위해서는 IT에 대한 지식과 어느 정도의 기술력이 요구되는 것이 실정이다.
Let's Encrypt를 쉽게 적용하는 방법
그러나 IT에 대한 지식이 없거나 생활이 바쁜 현대인이 있어 더 쉽게 Let's Encrypt를 도입하는 서비스가 등장했다.Free Website Security Service의 클라우드 브릭(Cloudbric)가입하면 git package을 설치할 필요도, cert bot소프트웨어를 다운로드할 필요도, 명령어를 입력할 필요도 없다.사용자는 Cloudbric가입 후, HTTPS를 적용하는 웹 사이트만 등록하면 끝.(더 쉽게 이 3가지 단계를 확인하시려면 클릭하세요.)
무료로 추가적인 Web보안 서비스도 이용할 수 있어 기업의 Web서비스 담당자 온라인 쇼핑몰 운영자와 개인 홈페이지 운영자에게는 꽤 좋은 기회가 아닌가 싶다.
아직 돈을 내고 SSL인증서를 쓰고 있다면 지금에서 클라우드 브릭에서 무료로 SSL인증서를 쓰면 어떨까.