SSL Certificate (หรือชื่อที่ถูกต้องกว่าคือ TLS Certificate) สำหรับเว็บไซต์สาธารณะจะมีอายุสูงสุดสั้นลงเป็นขั้นๆ ตามมติของ CA/Browser Forum จาก 398 วันเหลือ 200 วันในปี 2026, 100 วันในปี 2027 และ 47 วันในปี 2029 [ตรวจสอบ: วันที่มีผลแต่ละเฟสจากมติ Ballot SC-081] ผลคือการต่ออายุด้วยมือจะไม่สามารถทำได้จริงอีกต่อไป ทีม IT ต้องย้ายไปใช้ ACME Automation ซึ่งเป็นโปรโตคอลมาตรฐานสำหรับขอและต่ออายุ Certificate อัตโนมัติ
ข้อกำหนดนี้เป็นมาตรฐานของอุตสาหกรรมที่ใช้กับ Certificate Authority ทุกราย ไม่ว่าจะเป็นแบบเสียเงินหรือฟรี รายละเอียดดูได้ที่ CA/Browser Forum
ทำไม SSL Certificate ต้องมีอายุสั้นลง
- ลดผลกระทบเมื่อ Private Key รั่ว: Certificate ที่อายุสั้นหมดอายุเร็ว จึงจำกัดช่วงเวลาที่ผู้โจมตีใช้ Key ที่ขโมยมาได้
- ลดการพึ่งพาระบบเพิกถอน: กลไก Revocation อย่าง CRL และ OCSP มีข้อจำกัดด้าน Performance และความเป็นส่วนตัว อายุสั้นจึงเป็นทางออกที่เรียบง่ายกว่า
- ยืนยันความเป็นเจ้าของโดเมนบ่อยขึ้น: ข้อมูลการยืนยันโดเมนที่นำกลับมาใช้ซ้ำได้ก็มีอายุสั้นลงเช่นกัน [ตรวจสอบ: ระยะเวลา Domain Validation Reuse ในแต่ละเฟส]
Timeline ที่ทีม IT ต้องวางแผน
| ช่วงเวลา | อายุสูงสุดของ SSL Certificate | ความถี่ในการต่ออายุโดยประมาณ |
|---|---|---|
| ก่อนมีนาคม 2026 | 398 วัน | ปีละครั้ง |
| ตั้งแต่มีนาคม 2026 | 200 วัน | ปีละ 2 ครั้ง |
| ตั้งแต่มีนาคม 2027 | 100 วัน | ปีละ 4 ครั้ง |
| ตั้งแต่มีนาคม 2029 | 47 วัน | ประมาณเดือนละครั้ง |
ถ้าองค์กรมี 50 โดเมน เมื่อถึงเฟสสุดท้ายจะต้องต่ออายุรวมหลายร้อยครั้งต่อปี งานระดับนี้ต้องทำอัตโนมัติเท่านั้น
ACME ทำงานอย่างไร
ACME (Automatic Certificate Management Environment) เป็นมาตรฐาน RFC 8555 ที่ Client บนเซิร์ฟเวอร์ใช้คุยกับ Certificate Authority เพื่อพิสูจน์ความเป็นเจ้าของโดเมน ขอ Certificate และต่ออายุโดยไม่ต้องมีคนทำ การพิสูจน์โดเมนมี 3 แบบหลัก
- HTTP-01: วางไฟล์ Token ไว้ที่
/.well-known/acme-challenge/ของเว็บไซต์ ใช้ง่ายที่สุด แต่ต้องเปิดพอร์ต 80 - DNS-01: สร้าง TXT Record ใน DNS ใช้ได้กับ Wildcard Certificate และเซิร์ฟเวอร์ที่ไม่เปิดสู่อินเทอร์เน็ต แต่ต้องมี API ของ DNS Provider
- TLS-ALPN-01: พิสูจน์ผ่านพอร์ต 443 เหมาะกับ Reverse Proxy บางประเภท
Certificate Authority รายใหญ่หลายรายรองรับ ACME แล้ว รวมถึงแบบเสียเงิน ดูรายละเอียดของ Let's Encrypt ได้ที่ เอกสาร Let's Encrypt
ขั้นตอนที่ 1: สำรวจ SSL Certificate ทั้งหมดในองค์กร
ทำรายการทุกโดเมนและ Subdomain พร้อมที่ติดตั้ง Certificate ซึ่งอาจอยู่หลายจุด เช่น Web Server, Load Balancer, Mail Server, VPN และอุปกรณ์ Network ใช้คำสั่งนี้ตรวจวันหมดอายุทีละโดเมน
echo | openssl s_client -connect www.example.com:443 -servername www.example.com 2>/dev/null | openssl x509 -noout -enddate -issuer
ขั้นตอนที่ 2: ติดตั้ง ACME Client ตามแพลตฟอร์ม
Nginx และ Apache บน Linux ใช้ Certbot ซึ่งตั้งค่า Web Server ให้อัตโนมัติ
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
sudo certbot renew --dry-run
Certbot ติดตั้ง systemd Timer สำหรับต่ออายุให้เอง ตรวจได้ด้วย systemctl list-timers | grep certbot
Windows และ IIS ใช้ win-acme ซึ่งผูก Certificate เข้ากับ Site ใน IIS และสร้าง Scheduled Task สำหรับต่ออายุ
Plesk ใช้ส่วนขยาย SSL It! ที่มีมาในตัว เปิดการต่ออายุอัตโนมัติได้จากหน้า Domain [ตรวจสอบ: ชื่อเมนูในเวอร์ชัน Plesk ปัจจุบัน]
Wildcard Certificate ต้องใช้ DNS-01 เลือก Client ที่รองรับ API ของ DNS Provider ที่ใช้อยู่ เช่น acme.sh หรือ Plugin DNS ของ Certbot
