let’s Encrypt SSL 무료 인증서 certbot을 통해 설치 및 설정하는 방법 CentOS release 6.8 6…

길라잡이 0 3 08.13 09:55

요즘 사람들 사이에서 인기가 많은 무료 SSL 인증서인 let’s Encrypt를 설치 후 설정해보았습니다.

운영하고 있는 홈페이지가 크롬에서 안전하지 않음으로 뜨는게 마음에 걸렸었는데 마침 잘 됐었다고 

생각합니다. 다 좋지만 단점이 있다면 90일에 한번씩 인증서 갱신이 필요 한점이 있을것같네요.

이 부분은 crontab을 통하여 자동으로 갱신을 할수 있으므로 크게 걱정하지 않아도 될것같습니다.

 

서버 구성

 

OS 버전 : CentOS release 6.8 64bit

apache 버전 : yum install을 기반으로한 2.2.15

 

참고 1 : 이 글에서는 certbot을 이용하여 let’s Encrypt를 셋팅합니다. 또한 CentOS 및 apache 기반으로 셋팅을 진행하기 때문에

             사용하시는서버가 ubuntu 및 nginx로 셋팅이 되어있다면 이 홈페이지에 접속하여 설치법을 확인해보시는것을 권장합니다.

             https://certbot.eff.org/

참고 2 :이 글에서는 httpd.conf를 수정합니다. 수정하기전의 파일은 백업을 해두도록 합시다.   

 

 

1.png  

 

보통 let’s Encrypt를 설치시에는 github를 이용하여 설치 및 설정을 진행하지만 이 글에서는 

certbot-auto을 이용하여 let’s Encrypt의 설치 및 설정을 진행합니다.

 

# certbot-auto를 다운받기전에 certbot 디렉토리를 만듭니다. 

   (강제적은 아니나 되도록이면 만들어주는게 좋다고 생각합니다.)

mkdir /usr/local/src/certbot

 

# 생성한 certbot로 이동합니다.

cd /usr/local/src/certbot

 

# certbot-auto를 wget으로 다운받습니다.

wget https://dl.eff.org/certbot-auto

 

# 다운받은 certbot-auto의 권한을 755로 맞춰줍니다.

chmod a + x certbot-auto

 

2.png  

3.png  

4.png  

5.png  

 

certbot-auto를 실행하면 let’s Encrypt에 필요한 도구가 설치됩니다.

 

# certbot-auto 실행

./certbot-auto 

 

6.png  

 

도구들의 설치가 완료되면 여기서 부터 let’s Encrypt의 설치 및 설정이 진행됩니다.
진행 내역의 경우 위의 그림과 아래의 내용을 참고하시면 될것같습니다. 

 

맨 처음에 나오는 파이썬의 경고 메세지의 경우 차후 버전에서는 Python 2.6를 지원하지 않으니 

업그레이드를 하라는 내용이며 아직까지는 설치 및 설정하는데에는 큰 영향을 주지는 않습니다.

추후에 걱정된다면 파이썬의 버전을 추후 2.7 버전 또는 3버전으로 재설치를 진행하시면 됩니다.

 

번역

Python 2.6을 더 이상 지원하지 않으므로 Python을 업그레이드하십시오. 암호화의 차후 버전은 Python 2.6에 대한 지원을 중단합니다. 

 

지원 중단 경고 및 디버그 로그 저장 

 

이메일 주소를 입력하십시오 (긴급 갱신 및 보안 통지에 사용됨). ( 'c'를 입력하십시오. 

취소): 이메일 주소를 입력

 

------------------------------------------------------------------------------- 

서비스 약관을에서 읽으십시오.

https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. 동의해야합니다.

에서 ACME 서버에 등록하려면

https://acme-v01.api.letsencrypt.org/directory

-------------------------------------------------------------------------------

(A)동의 / (C)취소 : A

 

약관에 동의하고 다음으로 넘어갑니다.

 

------------------------------------------------------------------------------- 

전자 프런티어와 이메일 주소를 공유 하시겠습니까?
재단, Let 's Encrypt 프로젝트의 창립 파트너이자 비영리 단체
Certbot을 개발하는 조직? EFF에 관한 이메일을 보내고 싶습니다.
웹을 암호화하고 사용자를 보호하며 디지털 권한을 보호하기위한 노력
-------------------------------------------------------------------------------
(Y) es / (N) o : N

여기에서는 이메일을 받으시려면 Y를 그게 아니라면 저처럼 N를 선택합니다.

어떤 이름으로 HTTPS를 활성화 하시겠습니까?
-------------------------------------------------------------------------------
1 : imitator.kr
-------------------------------------------------------------------------------
쉼표 및 / 또는 공백으로 구분 된 적절한 번호를 선택하거나 입력을 남겨 둡니다.
표시된 모든 옵션을 선택하려면 비워 두십시오 (취소하려면 'c'입력). 1

httpd.conf에 도메인이 설정되어있다면 HTTPS 활성화하는 부분에서 도메인이 나옵니다.
활성화할 도메인의 번호를 선택하고 엔터를 누릅니다.

8.png 

설정을 마치면 ssl 인증키가 생성됩니다. 번역문에서 조금 이해가 안갈수도 있습니다만 
저의 경우 정상적으로 인증키가 생성되었으며 실제로 적용도 가능했습니다.

번역
새 인증서 얻기
다음 과제 수행 :
imitsator.kr의 tls-sni-01 챌린지
확인을 기다리는 중 ...
도전 과제 정리
키 생성 (2048 비트) : /etc/letsencrypt/keys/0000_key-certbot.pem
CSR 작성 : /etc/letsencrypt/csr/0000_csr-certbot.pem
오류 : /etc/httpd/conf/httpd.conf에 하나의 가상 호스트 만 있어야합니다.
현재 우리는 하나의 파일에 하나의 가상 호스트가있는 구성 만 지원합니다.

중요한 메모 :
 - 인증서를 설치할 수 없습니다.
 축하해! 인증서와 체인이에 저장되었습니다.
   /etc/letsencrypt/live/imitator.kr/fullchain.pem. 인증서가
   2017-07-06에 만료됩니다. 이 새로운 버전이나 수정 된 버전을 얻으려면
   인증서를 사용하여 certbot-auto를
   "세튼"옵션. 비 대화식으로 * 모든 *을 갱신하려면
   인증서를 실행하면 "certbot-auto renew"
 - 계정 자격 증명이 Certbot에 저장되었습니다.
   / etc / letsencrypt의 구성 디렉토리. 당신은
   지금이 폴더의 안전한 백업. 이 구성 디렉토리는
   Certbot에서 얻은 인증서 및 개인 키도 포함합니다.
   이 폴더를 정기적으로 백업하는 것이 이상적입니다.

9.png 

ssl 을 정상적으로 이용하기 위해 httpd.conf 에서 셋팅을 진행합니다.

# yum으로 설치한 apache의 설정파일을 실행
vi /etc/httpd/conf/httpd.conf

# ssl 설정

NameVirtualHost *:443

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


10.png 
11.png 

설정이 모두 완료되었다면 저장한후 apache를 재시작한뒤 443포트가 정상적으로 올라와있는지 확인해봅니다.

# apache 정지
/etc/init.d/httpd stop

# apache 시작
/etc/init.d/httpd start

# 443포트 오픈 확인
netstat -nlp

12.png 

셋팅이 완료되었다면 certbot-auto를 다운받은 폴더로 돌아가서 갱신 테스트를 진행한후
정상적으로 잘 된다면 certbot-auto 파일을 bin으로 보낸후 crontab에 등록하여 
자동적으로 갱신을 진행할수 있도록 합니다.

# certbot 폴더로 이동
cd /usr/local/src/certbot

# let’s Encrypt 갱신 테스트 진행(실제로 갱신되지는 않습니다)
./certbot-auto renew --dry-run

번역
Python 2.6을 더 이상 지원하지 않으므로 Python을 업그레이드하십시오. 암호화의 차후 버전은 Python 2.6에 대한 지원을 중단합니다.
지원 중단 경고 및 디버그 로그 저장

-------------------------------------------------------------------------------
/etc/letsencrypt/renewal/imitator.kr.conf 처리 중
-------------------------------------------------------------------------------
갱신 만기가 아닌 Cert이지만 드라이 런에 대한 시뮬레이션 갱신
기존 인증서 갱신
다음 과제 수행 :
imitsator.kr의 tls-sni-01 챌린지
vhost 모호성이 발생했지만 비 대화식 모드에서 사용자 지침을 요청할 수 없습니다. 현재 Certbot은 각 가상 호스트가 자신의 conf 파일에 있어야하며 
가상 호스트에 ServerName 또는 ServerAlias ​​디렉토리로 명시적으로 레이블을 지정해야 할 수도 있습니다.
기본 vhost * : 443으로 다시 떨어지는 중 ...
확인을 기다리는 중 ...
도전 과제 정리
파일에 저장하지 않고 키 (2048 비트) 생성 중
CSR 생성 : 파일에 저장 안함

-------------------------------------------------------------------------------
새로운 인증서가 아파치 서버의 리로드와 함께 배포됩니다. 풀 체인은
/etc/letsencrypt/live/imitator.kr/fullchain.pem
-------------------------------------------------------------------------------
** DRY RUN : 인증서 만료에 가까운 'certbot 갱신'시뮬레이트
** (아래 테스트 인증서는 저장되지 않았습니다.)

축하합니다. 모든 갱신이 완료되었습니다. 다음 인증서가 갱신되었습니다.
  /etc/letsencrypt/live/imitator.kr/fullchain.pem (성공)
** DRY RUN : 인증서 만료에 가까운 'certbot 갱신'시뮬레이트
** (위 테스트 인증서는 저장되지 않았습니다.)

# certbot-auto 파일 이동 
mv /usr/local/src/certbot/certbot-auto /bin

# crontab에 certbot-auto를 추가하여 let’s Encrypt SSL 무료 인증서 자동 갱신(갱신이 정상적으로 되는지 확인해봐야합니다.)
  매월 30일 새벽 3시 30분에 certbot-auto 스크립트 작동후 작동 내용은 ssl-renew.log에 저장
vi /etc/crontab

30 3 30 * * root /bin/certbot-auto renew >> /var/log/ssl-renew.log 

 

Comments

번호 제목 글쓴이 날짜 조회
55 인증서 갱신 및 도메인 인증서 발급 길라잡이 07:03 1
54 apache 에서 모든 URL을 강제로 https 로 리다이렉트 길라잡이 05:49 2
53 워드프레스 cloudflare 적용후 설정 길라잡이 08.13 2
열람중 let’s Encrypt SSL 무료 인증서 certbot을 통해 설치 및 설정하는 방법 CentOS rel… 길라잡이 08.13 4
51 라이트세일 워드프레스에 무료 SSL 인증서 설치하기(Let’s Encrypt) 길라잡이 08.13 4
50 간단하게 무료로 HTTPS를 사용하시려면 CloudFlare를 추천드립니다. 심지어 아무 설정도 없이 Fle… 길라잡이 08.12 3
49 크롬 다운로드 파일 저장위치 변경하는 법 길라잡이 08.12 3
48 nircmd 프로그램을 통해 모니터 끄기 길라잡이 08.02 5
47 특정프로그램의 사용자 계정 컨트롤(UAC) 예외 설정 방법 [출처] 특정프로그램의 사용자 계정 컨트롤(UAC… 길라잡이 08.02 5
46 하드 로우레벨 포맷 프로그램 HDD Low Level Format Tool 길라잡이 07.31 16
45 윈도우10, 부팅시 로그인 두번 해야되는 문제 해결방법 길라잡이 07.30 10
44 윈도우10 익스플로러 창 크기 위치조절, 검색 삭제, 시작메뉴 설정 길라잡이 07.30 9
43 vm웨어 공유폴더 설정 만들기 길라잡이 07.30 7
42 에디트플러스 의 설정을 백업, 복원 파일 위치 및 방법 길라잡이 07.27 6
41 그래픽카드 온도측정 무설치 길라잡이 07.16 9
40 워드프레스 테마의 하단 Copyright 제거하기 길라잡이 07.10 13
39 사이트맵(sitemap) 만들기 길라잡이 07.08 11
38 워드프레스 멀티사이트 만들기와 서브도메인 서브디렉토리 길라잡이 07.01 27
37 워드프레스 특성이미지 첫번째 이미지로 사용하기 길라잡이 06.27 25
36 거시기 년말정산 유머글 길라잡이 2017.12.02 350
35 아재개그 퀴즈 레전드 웃음코드 개그모음 길라잡이 2017.12.01 361
34 재미있는 넌센스문제 best100 길라잡이 2017.12.01 360
33 세상에서 가장 예쁜 동전 BEST10 길라잡이 2017.11.28 261
32 세상에서 가장 높이 5000m 올라가는 기차 길라잡이 2017.11.28 269
31 세상에서 가장 빠르다는 성격테스트 길라잡이 2017.11.27 276
30 세상에서 가장 비싼 음식 TOP7 길라잡이 2017.11.27 263
29 가장 세상에서 가장 비싼 아파트 BEST10 길라잡이 2017.11.27 256
28 세상에서 가장 비싼 공기 TOP5 길라잡이 2017.11.26 271
27 세상에서 가장 전투력 높은 견공 TOP10 길라잡이 2017.11.25 296
26 세상에서 가장 무서운 동물 TOP 10 길라잡이 2017.11.25 305


 

페이스북에 공유 트위터에 공유 구글플러스에 공유 카카오스토리에 공유 네이버밴드에 공유