Let's Encrypt และโปรโตคอล ACME
Let's Encrypt คืออะไร
Let's Encrypt เป็น Certificate Authority ที่ออกใบรับรอง DV ฟรีโดยอัตโนมัติ ดำเนินการโดย Internet Security Research Group เอกสารภาพรวมอยู่ที่ Let's Encrypt About
ใบมีอายุ 90 วันโดยออกแบบ เพื่อบังคับให้ต่ออายุอัตโนมัติและลดความเสียหายเมื่อคีย์รั่ว
โปรโตคอล ACME
การออกและต่ออายุใช้ Automatic Certificate Management Environment ตาม RFC 8555 ไคลเอนต์เช่น Certbot พิสูจน์ว่าควบคุมโดเมนแล้วขอให้ CA ลงลายเซ็นใบรับรอง
วิธีพิสูจน์ที่ใช้บ่อย
- HTTP-01: วางไฟล์ที่
/.well-known/acme-challenge/ - DNS-01: สร้างเรคอร์ด TXT
_acme-challengeเหมาะกับ wildcard - TLS-ALPN-01: ใช้เมื่อควบคุมพอร์ต 443 โดยตรง
รายละเอียดความท้าทายอยู่ที่ Let's Encrypt Challenge Types
สิ่งที่ต้องวางแผน
- ต่ออายุอัตโนมัติก่อนหมดอายุ (โดยทั่วไปเมื่อเหลือไม่เกิน 30 วัน)
- ใช้
fullchain.pemเพื่อไม่ให้ chain ขาด - อัตราจำกัดคำขอของ API มีอยู่จริง อย่าออกใบซ้ำในลูปที่ผิด
- เป็นใบ DV ไม่มีการยืนยันนิติบุคคล
สำหรับองค์กรที่ต้องการ OV/EV หรือประกัน ต้องใช้ CA เชิงพาณิชย์ แต่สำหรับ HTTPS พื้นฐาน Let's Encrypt เพียงพอและเป็นที่ยอมรับของเบราว์เซอร์หลัก
สรุป
ACME ทำให้ HTTPS เป็นงานปฏิบัติการต่อเนื่อง ไม่ใช่การซื้อใบปีละครั้ง ตั้ง cron หรือ systemd timer ให้ต่ออายุและ reload เว็บเซิร์ฟเวอร์อย่างน่าเชื่อถือ