OCSP และ OCSP Stapling คืออะไร
OCSP คืออะไร
Online Certificate Status Protocol กำหนดใน RFC 6960 ให้ไคลเอนต์ถาม CA ว่าใบรับรองถูกเพิกถอนหรือยัง แทนการดาวน์โหลด CRL ทั้งไฟล์
คำตอบ OCSP มีสถานะเช่น good, revoked หรือ unknown และมีช่วงเวลา thisUpdate / nextUpdate
ข้อจำกัดเมื่อไคลเอนต์ถาม CA โดยตรง
- เปิดเผยต่อ CA ว่าผู้ใช้กำลังเข้าโฮสต์ใด
- หากตัวตอบ OCSP ช้าหรือล่ม เบราว์เซอร์หลายตัวใช้ soft-fail คือยอมให้เข้าต่อ ทำให้การเพิกถอนไม่มีผลจริงในหลายกรณี
OCSP Stapling
เซิร์ฟเวอร์ดึงคำตอบ OCSP มาเองแล้วแนบใน handshake ตามส่วนขยาย status_request ใน RFC 6066 ไคลเอนต์ได้สถานะใบรับรองโดยไม่ต้องออกอินเทอร์เน็ตไปหา CA ระหว่างเข้าเว็บ
Nginx
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/ssl/chain.pem;
resolver 1.1.1.1 8.8.8.8 valid=300s;Apache
SSLUseStapling on
SSLStaplingCache shmcb:/run/httpd/stapling_cache(128000)Must-Staple
ส่วนขยายใบรับรองใน RFC 7633 บอกไคลเอนต์ว่าต้องได้รับ OCSP staple มิฉะนั้นอย่าเชื่อใบนั้น ช่วยแก้ soft-fail แต่ถ้าเซิร์ฟเวอร์ส่ง staple ไม่ได้ เว็บจะเปิดไม่ได้ ต้องมีกระบวนการมอนิเตอร์ก่อนเปิดใช้
สรุป
เปิด OCSP stapling เป็นค่าเริ่มต้นที่ดีสำหรับเว็บสาธารณะ Must-staple เหมาะเมื่อทีมปฏิบัติการมั่นใจว่า staple จะไม่ขาดช่วง