자동화된 SSL 인증서 업데이트 방법: SafeLine WAF 파일 동기화 기능
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- DevOps 엔지니어, 시스템 관리자
- SSL 인증서 관리에 대한 자동화 필요성 있는 개발자
- 난이도: 중급~고급 (DevOps 도구 및 CI/CD 이해 필요)
핵심 요약
- SafeLine WAF v7.2.0+에서 SSL 인증서 자동 재로드 기능 제공 (
/data/safeline/resources/nginx/certs/
경로 활용) - certbot/acme.sh와 연동하여 수동 인증서 업데이트 무 필요
- 시간 기반 자동 재로드 (1시간 간격) 및 systemd 타이머/크론 자동화 지원
섹션별 세부 요약
1. 문제 정의 및 기능 요청 배경
- 수동 인증서 업로드 UI 사용 시 관리 부담 증가
- certbot/acme.sh 도구 사용자의 자동화 요청 반영
- v7.2.0 이후 버전에서 기능 구현
2. 기능 구현 방식
- 초기 수동 업로드 필수 (SafeLine 내부 인증서 등록 용도)
- 인증서 경로:
/data/safeline/resources/nginx/certs/
- 예시 파일:
cert_1.crt
,cert_1.key
- certbot/acme.sh 실행 시 파일 복사 스크립트 사용
```bash
cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem /data/safeline/resources/nginx/certs/cert_1.crt
cp /etc/letsencrypt/live/yourdomain.com/privkey.pem /data/safeline/resources/nginx/certs/cert_1.key
```
3. 자동화 실행 방식
- --deploy-hook 옵션으로 certbot/acme.sh와 연동
- systemd 타이머 또는 크론잡으로 무인 자동화 가능
- 1시간 간격으로 자동 재로드 (파일 변경 시 즉시 적용)
4. 추가 고려사항
- UI에 인증서 유효기한이 즉시 반영되지 않을 경우 1시간 대기 또는 컨테이너 재시작 권장
- CI/CD 워크플로우 통합 가능 (수동 인증서 관리 대체)
결론
- SafeLine WAF v7.2.0+의 파일 기반 자동 인증서 재로드 기능을 통해 HTTPS 관리 자동화 가능
- certbot/acme.sh 연동과 systemd/크론 자동화를 결합하여 0-touch 운영 달성
- CI/CD 통합을 통해 DevOps 파이프라인에 무중단 인증서 관리를 구현할 수 있음