Let's Encrypt란?
Let's Encrypt는 무료 인증 기관입니다. 웹사이트에 https를 적용하는 인증서를 자동으로, 무료로 발급하며, 오늘날 대부분의 웹이 암호화된 이유이기도 합니다.
엔지니어와 상담하세요 지식 베이스
정의
Let's Encrypt는 비영리 단체인 Internet Security Research Group이 운영하며 2015년에 인증서 발급을 시작했습니다. 이 인증서는 모든 주요 브라우저와 운영체제에서 신뢰받습니다. 도메인 검증 SSL 인증서로, Let's Encrypt는 사용자가 해당 도메인을 통제하는지만 확인하며 그 이상은 확인하지 않습니다.
진행 방식
작성할 양식도, 비용을 낼 대상도 없습니다. 서버의 소프트웨어인 ACME 클라이언트가 Let's Encrypt에 인증서를 요청합니다. Let's Encrypt는 도메인 통제를 증명하는 챌린지로 응답하는데, 서버가 정해진 주소에 게시해야 하는 파일이거나 DNS에 나타나야 하는 레코드입니다. 증명이 확인되면 인증서가 발급되고 설치됩니다. 같은 소프트웨어가 만료 전에 갱신합니다.
- Certbot: 가장 잘 알려진 클라이언트로, Electronic Frontier Foundation이 유지 관리합니다.
- 내장 지원: Caddy와 Traefik 같은 웹 서버와 프록시, 대부분의 호스팅 제어판, OPNsense 같은 방화벽은 스스로 인증서를 요청할 수 있습니다.
- Kubernetes에서: cert-manager가 Kubernetes 클러스터 안의 서비스에 대한 인증서를 요청하고 갱신합니다.
의존하기 전에 알아 둘 점
- 설계상 짧은 수명: 인증서의 유효 기간은 90일이었으며 Let's Encrypt는 더 짧은 기간으로 옮겨 가고 있습니다. 갱신은 자동이어야 합니다. 수동으로 갱신하는 인증서는 결국 잊힙니다.
- 와일드카드에는 DNS가 필요: 모든 서브도메인에 대한 인증서는 DNS 레코드로만 증명할 수 있으므로, 클라이언트가 DNS 공급자에 접근할 수 있어야 합니다.
- 내부 시스템: 인터넷에서 접근할 수 없는 서버도 실제 도메인 이름을 쓴다면 DNS 방식으로 인증서를 받을 수 있습니다.
- 요청 한도: 한 도메인이 일정 기간에 요청할 수 있는 인증서 수에는 한도가 있습니다. 정상적인 사용으로는 한도에 닿지 않지만, 잘못 설정된 스크립트는 닿을 수 있습니다.
- 기업 검증 없음: 조직 검증 또는 확장 검증 인증서는 발급하지 않습니다. 이를 필요로 하는 사이트는 많지 않습니다.
- 갱신을 지켜보세요: DNS가 바뀌거나, 방화벽 규칙이 옮겨지거나, 서버가 재구축되면 자동 갱신은 조용히 실패합니다. 만료일을 모니터링하세요.
KawaConnect의 Let's Encrypt 활용 방식
저희는 직접 구축하는 Linux 서버, 리버스 프록시, Kubernetes 클러스터에 Let's Encrypt 인증서를 사용하며, 갱신을 자동화하고 만료일을 지켜봅니다. 사이트가 Cloudflare 뒤에 있는 경우 방문자가 보는 인증서는 Cloudflare에서 나오며, 서버의 인증서는 별도로 처리됩니다. 갱신 문제를 빠르게 추적할 수 있도록 각 시스템이 어떤 방식을 쓰는지 문서화합니다.
관련 서비스
자세히 보기
- Let's Encrypt문서, 상태, 인증서 수명에 대한 공지가 있는 프로젝트 공식 사이트.
- How Let's Encrypt works챌린지와 발급 과정을 단계별로 설명합니다.
- Certbot특정 웹 서버와 운영체제에서 인증서를 받는 방법 안내.
- cert-manager 문서Kubernetes 내부 인증서를 위한 표준 도구.
- Wikipedia의 Let's Encrypt프로젝트의 역사, 후원자, 규모.