SSL 인증서 발급을 통한 https 적용하기

Photo of author

By 무위자연

SSL 인증서 발급을 통한 https 적용하기

이번 포스팅에서는 웹사이트 보안 적용을 위한 SSL 인증서 발급 및 적용하는 방법에 대해 알아보겠습니다. Let’s Encrypt라는 보안 암호화를 위해 무료로 인증서를 제공해주는 기관입니다. 주의할 점은 유효기간(90일)이 있기 때문에 주기적으로 갱신을 해줘야 합니다. 모든 과정을 차근차근 알아봅니다.

let’s encrypt 궁금하신 분들은 아래 링크로 들어가보세요

Let’s Encrpyt 링크

사전 조건

 

SSL 인증서 발급받기

인증서를 설치하는 방법은 여러 가지가 있지만 우분투에서 Certbot이라는 프로그램을 통해서 진행해보겠습니다.

Certbot 설치

Certbot은 SSL 인증서 설치 목적의 프로그램입니다. 우분투에 있는 apt 목록에 패키지가 있어 그냥 설치해도 되지만 최신 버전을 위해서 Repository 추가로 등록한 뒤에 설치해보겠습니다.

  • 우분투 업데이트
    • sudo apt-get update
  • Repository 추가
    • sudo add-apt-repository ppa:certbot/certbot
  • Certbot 설치 – 이전 포스팅을 따라오셨다면 Nginx 설치하시면 됩니다
    • Nginx 웹 서버
      • sudo apt-get install -y certbot python3-certbot-nginx
    • Apache 웹 서버
      • sudo apt-get install  -y certbot python3-certbot-apache

SSL 인증서 설치하기

다음의 명령어를 통하여 SSL 인증서 설치할 수 있습니다.

  • sudo certbot –nginx -d 도메인명

위에 도메인명 항목에 자신의 웹사이트 주소를 입력해주시면 됩니다.SSL 인증서 발급 받기

위 그림과 같은 화면이 나오면 긴급한 갱신이나 보안 공지를 수신받을 수 있는 이메일 주소를 입력해주시면 됩니다.

SSL 인증서 발급 과정 1

약관 동의를 물어보는 화면이 나옵니다. Y를 입력해주시면 됩니다.

SSL 인증서 발급 과정 2

중간에 다음과 같은 메시지가 나올 수 있습니다.

1: No redirect – Make no further changes to the webserver configuration.
2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for ~~~~

  • 1: 자동으로 https 로 리다이렉트 하지 않는다
  • 2: 자동으로 https로 리다이렉트한다.

 

Nginx 파일 수정

인증서를 적용할 도메인 이름을 설정해줍니다.

  • sudo vi /etc/nginx/sites-available/default

적욛되었는지 확인해줍니다.

  • sudo nginx -t

위 과정이 정상적으로 되었다면 Successful 메시지를 확인할 수 있습니다. Unsuccessful 메시지가 보인다면 잘 못 입력한 것이므로 다시 수정해줍니다.

 

정상적으로 발급되었다면 인증서는 /etc/letsencrypt/live 폴더에 도메인명 폴더 위치에 발급되어 있을 것입니다. 그리고 Nginx에 정상적으로 적용되었다면 아래 파일 fullchain.pem, privkey.pem에 SSL 인증이 적용되어 있을 것입니다.

  • /etc/nginx/sites-enabled/default

 

Nginx 재시작

이전 과정을 모두 실행했다면 Nginx 재시작합니다.

  • sudo nginx -s reload

Nginx SSL 설정 수정할 필요는 없습니다.

 

SSL 인증서 갱신

Certbot으로 생성된 SSL 인증서는 90일마다 갱신해줘야 하는데, 우분투 17.10 이후 버전에서는 Certbot을 apt-get install 명령을 통해 설치했다면 신경 쓰지 않으셔도 됩니다. 우분투 서버 작업 스케줄러에 인증서 자동 갱신 명령이 추가되었기 때문입니다. 다음 명령을 입력하여 자동 갱신이 스케줄러에 등록되어 있는지 확인해보세요

  • sudo systemctl status certbot.timer

그래도 혹시 갱신 안될 것 같아 불안하시다면 Crontab을 사용해서 주기적으로 갱신을 실행해보세요

지금 만약 갱신 실행 테스트를 해보고 싶다면 아래 명령어를 입력해 본다

  • sudo certbot renew –dry-run

마치며

이번 포스팅에서는 도메인과 연결된 IP 주소를 가지는 서버에 SSL 보안을 적용하는 방법에 대해 알아보았습니다. 이제 다음 포스팅에서 워드프레스 설치하는 방법에 대해 알아보겠습니다.

1 thought on “SSL 인증서 발급을 통한 https 적용하기”

Leave a Comment