SSL인증서 적용하기(03) – Let’s Encrypt Ubuntu 자동 갱신


글 정리중.

학습목표

  1. 3개월 단위로 재갱신을 해야 하는 SSL 인증서를 자동으로 갱신되게 구성한다.
  2. 자동으로 구동은 cron/crontab을 사용

crontab 스케쥴 확인

crontab에 설정되어 있는 스케쥴이 있는지 확인해보자.

# crontab -l
-su: crontab: command not found

현재 crontab 명령어를 실행해보면 없는 명령어라고 한다. crontab을 설치부터 해야할것 같다.

crontab 설치

# apt-get install -y cron

설치 완료후 확인
# crontab -l
no crontab for root

이제 cron 설치는 끝났다. 간단하게 cron에 대해서 학습하고 넘어가자.

crontab 기본 명령어와 설명

사실 우리는 cron을 설치했다. crontab을 설치하지 않았다는거다.
일반적인 개발자들은 crontab으로 스케쥴 관리를 한다고 말하곤 한다. cron은 뭐고 crontab은 뭐야??!

우리가 설치한 cron은 스케쥴러 데몬이고, crontab은 cron 데몬이 사용할 일정리스트라고 인지하면 쉽게 이해가 갈것이라고 생각한다.
cron 데몬은 crontab에 적혀있는 일정을 기억하고 있다가, 적혀있는 일정에 맞춰서 명령어를 수행해준다.

이제 명령어를 살펴보자.

작업스케쥴 보기
# crontab -l
no crontab for root

작업스케쥴 모두 삭제
# crontab -r
no crontab for root

작업스케쥴 수정
# crontab -e
no crontab for root - using an empty one

작업 스케쥴 일정표

[minute] [hour] [day] [month] [weekday] [command]

minute : 0 - 59
hour : 0 - 23
day : 1 - 31
month : 1 - 12
weekday : 0 - 6 (0 : 일요일)
command : 명령어

기타
*는 매분/매시간/매일/매달/매일이라는 의미
,는 여러개의 옵션을 줄때 사용. 1,2 1분과 2분 등
-는 연속된 범위를 나타냅
*/숫자 숫자마다 반복

두달에 한번씩 인증서 갱신을 한다면!

예제> 0 3 2 * * letsencrypt renew; service apache2 restart;

매달 3시 0분 2일에 command를 수행한다는 내용

이제 인증서가 잘 갱신되는지 지켜보는일만 남았다.

SSL인증서 적용하기(02) – 우분투 SSL 적용하기

우분투에서 SSL 인증서 적용 목표

  1. Let’s encrypt 패키지 설치
  2. Let’s Encrypt에서 인증서 발급
  3. 발급된 인증서 확인
  4. crontab을 사용하여 자동으로 업데이트 기능 적용
  5. 참조사이트 추가

이제서야 돌고 돌아서 우분투에 SSL을 적용하는 시점에 다다랐다. 한가지씩 따라해보면서 SSL 적용을 해보자.

1 Let’s encrypt 패키지 설치

# apt-get install letsencrypt
Reading package lists... Done
....

2 인증서 발급하기

HTTP로 접속이 가능한 상태에서 인증서를 발급받고 HTTPS 설정을 완료할 것이다.

# letsencrypt certonly --webroot --webroot-path=/var/www/html -d magpiebros.com

몇번의 실패가 반복되었는데.. 원인은 webroot-path의 경로가 올바르지 않아서였다. 다른 사이트들을 참조해보다가.. 다시 한번 시도 해보니 정상 인증서가 발급되었다. 쿨럭…

3 발급된 인증서 확인

ls /etc/letsencrypt/live/도메인명/
README  cert.pem  chain.pem  fullchain.pem  privkey.pem

cert.pem : 인증서
chain.pem : 인증서 발급자 파일
fullchain.pem : cert.pem + chain.pem
privacy.pem : 개인키


위와 같이 발급된것이 확인된다면, 일단은 어려운 고비는 넘겼다.
이제 발급받은 인증서를 서버에 적용할 차례이다.

글이 너무 길어져서 아파치에 적용하는 글은 새로운 글로 시작하려 한다.
변변찮은 글재주를 가진 글을 읽어주신 분께 감사를 드린다.

참고링크

SSL인증서 적용하기(01) – SSL 인증서 간략 설명

현재 내 블로그는 SSL인증서 구성이 정상적으로 이루어지지 않아서, “안전하지 않음”이라는 위험문구가 나타나고 있는 상태이다.

당신이 보는 시점에 따라 녹색의 안전 좌물쇠가 표시되어져 있을 수도 있겠지만 말이다.

(녹색 자물쇠가 표시되어 있다면, 이 글은 신뢰할만한 글이라는 이야기로 받아들여도 될것이다.)

대부분의 질문과 답변 그리고 정보라고 적혀있는 사이트들은 다음과 같은 이야기들이였다.

“이렇게 해봐. 될껄? 안되면 구글 검색 다시 해보시고… 그래도 안되면 스택오버플로어 가서 검색하고 그래도 안되면 당신 운영체제를 다시 설치해봐”

맥파이의 생각

위와 같이 도움도 되지 않고, 그냥 명령어 몇개 따라서 실행해보고 되면 모두 잊어버리는 그런 블로그가 되고 싶지는 않다. 그렇기 때문에 당신이 원하는 답만 툭툭 던져주고 끝내지 않고, 뭔가 얻어갈수 있는 그런 내용들로 채울려고 노력할 것이다.

오늘은 너무 늦었으니..

내일 뀌뚤이(우리아들 애칭??)가 나에게 자유로운 시간을 줄때, 글을 이어가겠다.

이틀이 지나버렸다.

다시 글을 이어가겠다.

SSL(Secure Sockets Layer)는 넷스케이프 내비게이터의 보안 유지 기술이다.

Layer는 계층 단위로 보는것이 이해하기 편한데, 통신위에 Secure Socket 계층이 한단계 더 있어서 보안적인 측면이 한단계 더 높아졌다고 이해한다면, 간략한 이해는 될것으로 보인다.

SSL 인증서의 장점 및 역할

  • 통신 내용이 노출, 변경되는 것을 방지
  • 클라이언트가 접속하려는 서버가 신뢰 할 수 있는 서버인지 확인가능
  • SSL 통신에 사용할 공개키를 클라이언트에게 제공한다.

이제 기본적인 지식은 익혔으니, 다음 글을 통해서 적용해보자.

참고사이트