서버 운영 관리

김찬석 에반젤리스트

서버클라우드에 무료 SSL인증서를 발급하기 [ Linux ]

본 메뉴얼은 Let's Encrypt FreeSSL/TLS 무료인증서에 대하여 설명한다.

 

Let's Encrypt FreeSSL/TLS은 Mozilla, Cisco, Akamai, EFF, id entrust 등이 모여서
ISRG(Internet Security Research Group)라는 SSL 인증기관을 만들어 SSL을 무료로 제공하고 있으며, 
최근에는 Facebook, 워드프레스를 만드는 Automattic, shopify 등 많은 회사가 스폰서로 참여하고 있다.

IWINV 는 "서버클라우드" 이용시 Let's Encrypt FreeSSL/TLS 무료 인증서의 발급/갱신 절차를 
"기술지원 서비스"를 통해  제공한다.  [ 기술지원 요청에 따른 작업비용 별도 ]

 

SSL 간단한 동작 과정


SSL(Secure Socket Layer)은 웹사이트의 전송 데이터를 https 프로토콜을 사용하여 암호화 통신하며,
웹사이트 전체 또는 개인정보 등의 데이터 전송시 암호화여 안전한 데이터 전송이 가능하게 해주는 기술이다.

1. 웹브라우저에서 https://도메인 입력으로 SSL로 암호화된 페이지를 요청.
2. 웹서버에서 Public Key를 인증서와 함께 전송.
3. 웹브라우저에서 인증서가 자신이 신용있다고 판단한 CA(일반적으로 trusted root CA라고 불림)로부터 
    서명된 것인지 확인.
4. 웹브라우저에서 Public Key를 사용해서 랜덤 대칭 암호화키(Random symmetric encryption key)를 비롯한
    URL, http 데이터들을 암호화해서 전송.
5. 웹서버의 Private Key를 이용해서 랜덤 대칭 암호화키와 URL, http 데이터를 복호화.
6. 웹서버는 요청받은 URL에 대한 응답을 웹브라우저로부터 받은 랜덤 대칭 암호화키를 이용하여 암호화해서
    브라우저로 전송.
7. 웹브라우저에서 대칭 키를 이용해서 http 데이터와 html문서를 복호화하고, 화면에 표시.

 

Let's Encrypt - 무료 SSL 설치 방법 [ Linux ]


※ Let's Encrypt 를 통해 인증서를 발급받기 위해서는 Let's Encrypt 클라이언트가 필요하며, Python 2.5 이상의 패키지가 설치되어 있어야 한다.


▶ Let's Encrypt 클라이언트 다운로드

git 클라이언트가 설치 [ 사전설치 ]
# CentOS 또는 Fedora : yum install git
# Ubunt  : apt-get install git
================================

Let's Encrypt 클라이언트 다운로드
# git clone https://github.com/letsencrypt/letsencrypt    

 

▶ 패키지 설치

다운로드 받은 폴더로 이동 후 아래 명령을 실행하면 자동으로 설치가 진행된다.
# cd letsencrypt  ( 다운로드폴더 )

# ./letsencrypt-auto --help    ===> 자동 설치 진행 

 

▶ 인증서 발급

# /letsencrypt-auto certonly -a webroot --agree-tos -m <이메일> -w -d <SSL발급도메인명>  --rsa-key-size 4096 

-a : authenticator plugin
--agree-tos : ACME 서버의 가입자 동의서에 동의
--rsa-key-size : 인증서 키 사이즈 기본은 2048
-w : web document root path
-m : 이메일 주소
-d : SSL 발급 도메인명

* 하나의 도메인(같은 이름의)에 대하여 1일 3회 이상 발급 테스트 시 발급이 제한됨

인증서 생성 경로 예시
- /etc/letsencrypt/archive/
- /etc/letsencrypt/live/
- /etc/letsencrypt/renewal/

 

 인증서 삭제

발급된 인증서의 삭제는 “letsencrypt-auto” 을 이용하여 삭제해야 추후 다시 발급할 수 있으며, 인증서 삭제 명령 후 인증서가 생성되었던 경로 등을 확인해 보면,
삭제한 도메인의 폴더가 삭제된 것을
확인 할 수 있습니다. 

# letsencrypt-auto delete –cert-name <도메인명>


 

 인증서 업데이트(갱신)

/letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default -w  -d  --rsa-key-size 4096

※ 반드시 90일이 되기 전에 업데이트 지속적으로 진행해야 인증서를 정상적으로 유지할 수 있다.   


 Apache 설정


DocumentRoot 웹루트경로
ServerName 도메인명:443
.
SSLEngine on
.
SSLCertificateFile /etc/letsencrypt/live/도메인명/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/도메인명 /privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/도메인명/fullchain.pem        

 

 무료 인증서 사용시 주의사항


1. 인증서 관련 피해 발생시 손해보험사의 보상을 받을 수 없다.
2. Windows XP SP3 이하 이용자는 정상적인 SSL 통신이 되지 않는다.
3. 일부 브라우저의 경우 호환성 문제가 발생할 수 있다.
4. 인증서의 만료일은 90일이다.

※ "온라인 기술지원" 서비스를 통해 IWINV 에서 Let'sencrypt 인증서 발급시 자동 갱신 프로세스가 제공됨 

 

 호환성


Compatible

Incompatible

Mozilla Firefox >= v2.0

Google Chrome

Internet Explorer on Windows XP SP3 and higher

Microsoft Edge

Android OS >= v2.3.6

Safari >= v4.0 on macOS

Safari on iOS >= v3.1

Debian Linux >= v6

Ubuntu Linux >= v12.04

NSS Library >= v3.11.9

Amazon FireOS (Silk Browser)

Cyanogen > v10

Jolla Sailfish OS > v1.1.2.16

Kindle > v3.4.1

Java 7 >= 7u111

Java 8 >= 8u101

Blackberry OS v10, v7, & v6

Android < v2.3.6

Nintendo 3DS

Windows XP prior to SP3

cannot handle SHA-2 signed certificates

Java 7 < 7u111

Java 8 < 8u101

Windows Live Mail (2012 mail client, not webmail)

cannot handle certificates without a CRL

 

Let's Encrypt FreeSSL/TLS Major Sponsors


질문 및 제안하기

댓글 0

댓글 내역이 없습니다.

댓글 더 보기 첫 댓글 맨 위