모든 배포 가이드 배포

SSL 인증서 모니터링: 도구 및 설정 가이드

SSL 모니터링은 만료일 확인을 넘어섭니다. 완전한 모니터링 설정은 인증서 만료, 설정 변경, 무단 인증서 발급, SSL 오류로 인한 다운타임을 감시합니다.

인증서 유효 기간이 2029년까지 47일로 단축됨에 따라, 사전 예방적 모니터링이 필수가 됩니다 — 갱신을 놓치면 사이트가 오프라인이 됩니다.

모니터링 대상

대상이유주기
인증서 만료만료된 인증서 = 사이트 다운매일
인증서 체인불완전한 체인 = 일부 기기에서 실패매주
TLS 버전이전 TLS 버전은 브라우저에서 비활성화됨매월
CT 로그도메인에 대한 무단 인증서 감지상시
OCSP 스테이플링스테이플링 실패 시 성능 저하매주
HSTS 헤더HSTS 누락 = 다운그레이드 공격에 취약매월

무료 모니터링 옵션

1. Cron 스크립트 (자체 호스팅)

#!/bin/bash
# /usr/local/bin/ssl-monitor.sh
DOMAINS="example.com www.example.com api.example.com"
WARN_DAYS=30
ALERT_EMAIL="admin@example.com"

for domain in $DOMAINS; do
  expiry=$(echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)

  if [ -z "$expiry" ]; then
    echo "ERROR: Can't connect to $domain:443" | mail -s "SSL Monitor: $domain unreachable" $ALERT_EMAIL
    continue
  fi

  expiry_epoch=$(date -d "$expiry" +%s 2>/dev/null)
  now_epoch=$(date +%s)
  days_left=$(( (expiry_epoch - now_epoch) / 86400 ))

  if [ "$days_left" -lt "$WARN_DAYS" ]; then
    echo "$domain certificate expires in $days_left days ($expiry)" | mail -s "SSL Expiry Warning: $domain" $ALERT_EMAIL
  fi
done
# crontab에 추가 — 매일 오전 9시 실행
0 9 * * * /usr/local/bin/ssl-monitor.sh

2. UptimeRobot (SaaS — 무료 플랜)

  1. UptimeRobot에 가입합니다
  2. 모니터 추가 → 유형: HTTPS
  3. 도메인 URL을 입력합니다
  4. SSL 만료 알림 설정: 만료 30일 전
  5. 알림 설정: 이메일, Slack, 웹훅

UptimeRobot은 5분마다 확인하고 다운타임과 인증서 만료 시 알림을 보냅니다.

3. Certificate Transparency 모니터링

도메인에 대해 무단 발급된 인증서를 CT 로그에서 모니터링합니다:

서비스방법비용
Cert Spotter (SSLMate)새 인증서에 대한 이메일 알림무료 플랜
crt.sh수동 검색무료
Facebook CT MonitorFacebook의 모니터링 도구무료

유료 모니터링 도구

도구기능가격
Better UptimeSSL + 업타임 + 인시던트무료 플랜 / $20+/월
DatadogSSL 검사를 포함한 전체 인프라 모니터링$15+/호스트/월
PingdomSSL + 업타임 + 성능$10+/월
StatusCakeSSL 모니터링 + 알림무료 플랜 / $20+/월

전체 모니터링 설정 예시

프로덕션 사이트의 경우, 여러 계층을 결합합니다:

계층 1: Certbot 자동 갱신 (만료 방지)
계층 2: Cron 스크립트 (갱신 실패 감지 — 매일 이메일)
계층 3: UptimeRobot (SSL 오류 감지 — 5분 간격 확인)
계층 4: CT 모니터링 (무단 인증서 감지 — 상시)

이렇게 하면 심층 방어가 가능합니다 — 단일 장애 지점이 없습니다.

GetHTTPS와 함께하는 모니터링

GetHTTPS에는 내장 모니터링이 포함되어 있지 않습니다(인증서 발급 도구이므로). 하지만 워크플로우는 다음과 같아야 합니다:

  1. GetHTTPS로 인증서 발급
  2. 갱신 알림 설정 — 90일 중 60일째에 캘린더 알림
  3. SSL 모니터링 추가 — 백업으로 cron 스크립트 또는 SaaS 도구
  4. 프로덕션에서는 자동 갱신을 위한 Certbot 고려

자주 묻는 질문

최소한 어떤 모니터링이 필요한가요?

최소한: 인증서 갱신을 위한 캘린더 알림(90일 중 60일째) 그리고 자동 확인(cron 스크립트 또는 UptimeRobot). 캘린더가 정상적인 갱신을 잡고, 자동 확인이 실패를 잡습니다.

여러 도메인을 어떻게 모니터링하나요?

위의 cron 스크립트는 루프에서 여러 도메인을 처리합니다. UptimeRobot 같은 SaaS 도구에서는 여러 모니터를 추가할 수 있습니다 — 도메인당 하나씩.

스테이징/개발 인증서도 모니터링해야 하나요?

만료되는 Let’s Encrypt 인증서라면 네. 만료된 스테이징 인증서는 QA와 개발을 차단합니다. 최소한 캘린더 알림을 설정하세요.

만료뿐만 아니라 인증서 체인도 모니터링하려면?

SSL Labs API는 자동화된 체인 검증을 제공합니다. 빠른 수동 확인:

echo | openssl s_client -connect example.com:443 2>/dev/null | grep "Verify return code"

체인 모니터링을 위해 cron 스크립트에 이것을 추가하세요.

관련 기사

배포 2026-05-07
SSL 인증서 만료 확인하는 방법
브라우저, OpenSSL, 온라인 도구를 사용하여 SSL 인증서가 언제 만료되는지 확인합니다. 예기치 않은 만료와 다운타임을 방지하는 모니터링을 설정하세요.
SSL 및 인증서 2026-05-08
인증서 투명성: 도메인 인증서를 모니터링하는 방법
인증서 투명성(CT)은 공개 발급된 모든 SSL 인증서를 공개 로그에 기록합니다. CT의 작동 원리, 도메인의 무단 인증서를 모니터링하는 방법, crt.sh 사용법을 알아보세요.
SSL 및 인증서 2026-05-07
SSL 인증서 유효 기간: 47일 변경 사항 설명
CA/Browser Forum은 2029년까지 SSL 인증서 유효 기간을 47일로 줄이기로 결정했습니다. 타임라인, 웹사이트에 미치는 영향, 준비 방법을 알아보세요.
시작하기 2026-05-07
Let's Encrypt 인증서 갱신하는 방법
Let's Encrypt 인증서는 90일마다 만료됩니다. GetHTTPS(수동) 또는 Certbot(자동)으로 갱신하는 방법과 47일 유효 기간에 대비하는 방법을 알아보세요.
브라우저에서 무료 SSL 인증서 받기
설치 불필요, 계정 불필요. 개인키는 항상 기기에 남습니다.
인증서 발급