SafeLine WAF의 SSL 갱신 자동화: DNS-01 도전 사용
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- DevOps 엔지니어 및 웹 인프라 관리자
- Go 언어 및 자동화 스크립팅에 익숙한 중급 이상 개발자
- SSL 인증서 자동화 필요성이 있는 시스템 운영자
핵심 요약
- DNS-01 도전을 통해 Let's Encrypt 인증서 자동 갱신 가능 (
DNS-01 challenge
) - 5개 이상의 주요 DNS 제공업체 지원 (
TencentCloud
,AliCloud
,HuaweiCloud
,WestCN
,RainYun
) - Go 기반 CLI 도구로 간단한 설정 후 배포 자동화 (
go build
,cron
활용)
섹션별 세부 요약
1. 도구 개요 및 문제 정의
- SafeLine WAF의 Let's Encrypt 인증서 자동 갱신 기능 부재 문제
- 3개월 유효 기간의 무료 SSL 인증서 갱신 과정의 수동성 및 오류 가능성
- Go 기반 CLI 도구로 자동화된 인증서 갱신 프로세스 제공
2. 설치 및 구성
- Go 환경 설정 (
go build -o safelineApi
,GOOS
,GOARCH
설정) config.json
파일 생성- SafeLine API 토큰 및 호스트 정보 입력
- DNS 제공업체별 인증 정보(예: TencentCloud
SecretId
,SecretKey
) 설정 - 환경 변수 설정 및 실행 명령 (
./safelineApi ./config.json
)
3. 자동화 실행 및 로그 분석
- 크론잡 설정 예시 (
0 0 1,31 root /opt/safelineApi/safelineApi
) - 실행 로그 분석
- DNS 레코드 생성 성공 (
DNS record propagation successful
) - 인증서 갱신 완료 (
Certificate for [www.doicat.com] updated!
) - 실행 전/후 상태 비교 (인증서 유효 기간 90일 이하 → 갱신 완료)
결론
cron
을 활용한 주기적 실행 설정으로 수동 작업 최소화- GitHub 저장소에서 추가 DNS 제공업체 지원 요청 가능
- Go 기반 CLI 도구로 SafeLine WAF 인증서 관리 효율성 극대화