본문 바로가기
카테고리 없음

[SSL] Let's Encrypt를 활용한 무료 보안 인증서 자동 갱신 설정 가이드

by 돌미나리는야생미나리 2026. 4. 7.

웹사이트를 운영하면서 주소창 옆에 있는 '자물쇠 아이콘'은 이제 선택이 아닌 필수입니다. HTTPS가 적용되지 않은 사이트는 구글 검색 순위에서 밀려날 뿐만 아니라, 사용자들에게 '안전하지 않음' 경고를 표시하여 신뢰도를 떨어뜨리기 때문입니다.

오늘은 Let's Encrypt를 사용하여 무료로 SSL 인증서를 발급받고, 90일마다 돌아오는 갱신 과정을 Certbot을 이용해 완전히 자동화하는 방법을 상세히 알아보겠습니다.


1. Let's Encrypt와 Certbot이란?

Let's Encrypt는 누구나 무료로 SSL/TLS 인증서를 발급받을 수 있도록 지원하는 비영리 인증 기관(CA)입니다. 그리고 Certbot은 이 Let's Encrypt 인증서를 자동으로 발급, 설치, 갱신해 주는 오픈소스 소프트웨어 도구입니다.

1.1 왜 자동 갱신이 필요한가?

Let's Encrypt 인증서의 유효 기간은 90일로 매우 짧습니다. 이는 보안성을 높이기 위함이지만, 관리자가 매번 수동으로 갱신하기에는 번거롭고 실수로 만료될 위험이 큽니다. 따라서 자동화 설정을 통해 신경 쓰지 않아도 인증서가 유지되도록 하는 것이 핵심입니다.


2. 사전 준비 사항

작업을 시작하기 전에 아래 두 가지 조건이 충족되어야 합니다.

  1. 도메인 보유: IP 주소가 아닌 실제 도메인(example.com)이 서버의 공인 IP와 연결되어 있어야 합니다.
  2. 웹 서버 설치: Nginx 또는 Apache가 서버에 설치되어 동작 중이어야 합니다.

3. Certbot 설치 및 인증서 발급 (Nginx 기준)

Ubuntu 서버 환경에서 Nginx를 위한 Certbot 설정을 진행해 보겠습니다.

3.1 Certbot 설치

Bash
 
sudo apt update
sudo apt install certbot python3-certbot-nginx -y

3.2 인증서 발급 및 자동 설정

아래 명령어를 입력하면 Certbot이 Nginx 설정 파일을 자동으로 분석하여 SSL 설정을 추가해 줍니다.

Bash
 
sudo certbot --nginx -d your-domain.com -d www.your-domain.com
  • 이메일 입력: 만료 알림을 받을 이메일 주소를 입력합니다.
  • 약관 동의: A를 눌러 동의합니다.
  • HTTPS 리다이렉트: 기존 HTTP 접속을 자동으로 HTTPS로 넘길지 묻는 질문에는 2 (Redirect)를 선택하는 것을 권장합니다.

4. SSL 자동 갱신 설정 및 검증

Certbot은 설치 시 자동으로 시스템 스케줄러(cron 또는 systemd timer)에 갱신 스크립트를 등록합니다. 하지만 실제로 잘 작동하는지 확인하는 과정이 필요합니다.

4.1 드라이 런(Dry Run) 테스트

실제로 갱신을 수행하지 않고, 절차상 문제가 없는지 가상으로 테스트합니다.

Bash
 
sudo certbot renew --dry-run

결과 메시지에 **"Congratulations, all simulated renewals succeeded"**라는 문구가 보인다면 자동 갱신 설정에 문제가 없는 것입니다.

4.2 스케줄러 확인

인증서 갱신 작업이 등록되어 있는지 확인하려면 아래 명령어를 입력하세요.

Bash
 
systemctl list-timers | grep certbot

5. SSL 보안 등급 확인하기 (전문성 강화)

인증서 설치가 완료되었다면, 내 사이트의 보안 설정이 얼마나 견고한지 테스트해 볼 수 있습니다. SSL Labs 사이트에 접속하여 본인의 도메인을 입력하면 보안 등급(A~F)을 확인할 수 있습니다.

Nginx에서 최신 암호화 프로토콜(TLS 1.2, 1.3)만 사용하도록 설정하면 손쉽게 A 등급을 획득할 수 있으며, 이는 구글 SEO 점수에도 긍정적인 영향을 미칩니다.


6. 결론: 안전한 웹 서비스의 완성

무료 인증서라고 해서 유료 인증서보다 보안성이 떨어지는 것은 아닙니다. Let's Encrypt와 Certbot을 조합하면 비용 부담 없이 완벽한 HTTPS 환경을 구축할 수 있습니다.

요약하자면:

  1. Certbot으로 간편하게 인증서를 발급받으세요.
  2. --dry-run 테스트를 통해 자동 갱신 설정을 꼭 검증하세요.
  3. 보안 등급을 체크하여 최적의 서버 설정을 유지하세요.