Let's Encrypt (LE) เป็นระบบหน่วยงานออกใบรับรอง (Certification Authority หรือ CA) ที่สามารถใช้งานได้ฟรีและใช้ระบบอัตโนมัติในการจัดการใบรับรองความปลอดภัยสำหรับเว็บไซต์เข้ารหัส โดยเราจะใช้งานผ่าน client ที่มีให้ มีจุดมุ่งหมายเพื่อสาธารณประโยชน์ ระบบของ LE ให้บริการโดย Internet Security Research Group (ISRG)
ข้อมูลเกี่ยวกับใบรับรอง
ใบรับรองที่ออกโดย LE จะมีอายุเพียงแค่ 90 วันเท่านั้น ซึ่งดูเป็นช่วงเวลาที่สั้นสำหรับผู้ดูแลระบบหลายๆคนที่ใช้งานใบรับรองที่มีอายุ1ปี ซึ่งทาง LE ให้เหตุผลในการออกใบรับรองที่มีอายุเพียงแค่ 90 วันไว้ดังนี้
ใบรับรองที่มีอายุ90วันนั้นสามารถพบเห็นได้ทั่วไปในอินเทอร์เน็ต และข้อมูลจาก Firefox Telemetry การเชื่อมต่อผ่าน TLS ด้วยใบรับรองที่มีอายุ 90 วันนั้นมีมากถึง 29% ซึ่งมากที่สุดเมื่อเทียบกับใบรับรองที่มีอายุการใช้งานอื่นๆ และมุมมองของพวกเราใบรับรองที่มีอายุ 90 วันนั้นยังมีข้อดีอีกสองจุดด้วยกัน
- เพื่อลดความเสียหายที่จะเกิดขึ้นหากกุญแจที่ใช้ยืนยันใบรับรองถูกเข้าถึงโดยผู้ไม่ประสงค์ดี กุญแจที่ถูกขโมยไปจะสามารถใช้ได้เพียงในช่วงระยะเวลาสั้นๆเท่านั้น
- มันจะกระตุ้นให้ใช้ระบบอัตโนมัติ ซึ่งทำให้การใช้งานสะดวกมากขึ้น การที่พวกเราจะทำให้เว็บไซต์ทั้งหมดนั้นใช้ HTTPS พวกเราไม่สามารถรอให้ผู้ดูแลระบบมาติดตั้งหรือต่ออายุใบรับรองเองได้อยู่ตลอดเวลา ซึ่งถ้าระบบทั้งหมดนั้นเป็นระบบอัตโนมัติ การที่ใบรับรองจะมีอายุการใช้งานสั้นก็ไม่ส่งผลกระทบใดๆ
จากบทความ Why ninety-day lifetimes for certificates?
แต่สำหรับในช่วงเบต้า ทาง LE เน้นย้ำให้ทำการขอใบรับรองใหม่ตั้งแต่ช่วง 60 วัน เพื่อป้องกันข้อผิดพลาดเรื่องเวลาหมดอายุของใบรับรอง เพราะว่า LE's client นั้นยังไม่เสถียรพอ และอาจจะมีการเปลี่ยนแปลงขั้นตอนหรือวิธีการขอใบรับรองได้ตลอดเวลา ซึ่งถ้ารอจนถึงช่วงที่ใบรับรองหมดอายุอาจจะเกิดปัญหาและทำให้ขอใบรับรองใหม่ไม่ทัน
และในปัจจุบัน ISRG Root CA นั้นยังไม่ได้ถูกบรรจุลงภายในเบราว์เซอร์ใดๆ แต่ทาง LE นั้นใช้การ cross-sign จาก IdenTrust
การขอใบรับรอง
กระบวนการขอใบรับรองจะจัดการผ่านโปรโตคอลที่เรียกว่า Automated Certificate Management Environment (ACME) โดยโปรโตคอลนี้สร้างขึ้นมาเพื่อที่จะทำให้กระบวนการยืนยันโดเมน (Domain Validation) กระทำได้อย่างอัตโนมัติโดยไม่ต้องมีมนุษย์เข้าไปเกี่ยวข้องโดยสิ้นเชิง โดยผู้ใช้ต้องระบุอีเมลและโดเมนที่ต้องการลงไป โดยอีเมลนั้นจะถูกนำไปใช้เป็นบัญชีผู้ใช้สำหรับ ACME server ด้วย
กระบวนการยืนยันโดเมนที่ ACME ใช้จะเรียกว่า Domain Validation with Server Name Indication (DVSNI) การทำงานคร่าวๆจะเป็นดังนี้ ACME server จะขอให้ client สร้างใบรับรองตนเองที่มีข้อมูลจาก server ตนเอง เสร็จแล้ว ACME server จะเชื่อมต่อเข้ามาและตรวจสอบใบรับรอง ถ้าถูกต้องกระบวนการยืนยันโดเมนก็จะเสร็จสมบูรณ์
การขอใบรับรองนั้นแบ่งได้เป็นสองแบบ
- ขอใบรับรองและติดตั้งอัตโนมัติ จะต้องใช้ apache หรือ nginx โดย LE's client นั้นจะทำการใช้ HTTP server ที่ตั้งค่าไว้ทำการยืนยันโดเมนเพื่อขอใบรับรองรวมถึงติดตั้งให้กับ HTTP server ที่เปิดอยู่ในทันที แต่ตอนนี้ยังใช้ได้เพียงแค่ apache 2.4 บนระบบปฏิบัติการที่เป็น Debian-based และมี libaugeas0 1.0+ เท่านั้น ส่วน nginx นั้นยังอยู่ในช่วงทดลองจึงยังไม่มีให้ใช้งาน
- ขอใบรับรองเพียงอย่างเดียว วิธีนี้จะได้ใบรับรองมาเพื่อนำไปติดตั้งด้วยตนเอง โดยจะทำได้ 3 แบบ คือ manual สร้าง server ขึ้นมาเองโดยผู้ใช้, standalone สร้าง server ขึ้นมาใหม่โดย LE's client และ webroot เป็นการใช้ server ที่เปิดไว้อยู่แล้ว
รายละเอียดเพิ่มเติม: เอกสารรายละเอียดACME, รายชื่อเบราว์เซอร์และระบบปฏิบัติการที่รองรับ, Documentation
on
สำหรับเว็บไซท์เข้ารหัส เว็บไ
panurat2000 Fri, 18/12/2015 - 13:52
เว็บไซท์ => เว็บไซต์
สาธารณะประโยชน์ => สาธารณประโยชน์
อินเตอร์เน็ต => อินเทอร์เน็ต
เวป => เว็บ
ไซท์ => ไซต์
browser => เบราว์เซอร์
แก้ไขแล้วครับ
griefdlament Fri, 18/12/2015 - 14:08
In reply to สำหรับเว็บไซท์เข้ารหัส เว็บไ by panurat2000
แก้ไขแล้วครับ ขอบคุณมากครับที่ช่วยตรวจทานให้
ใครสักคนส่วนลิส
l2aelba Fri, 18/12/2015 - 18:33
ใครสักคนส่วนลิส ข้อดีข้อเสียให้หน่อยสิครับ (จากคนที่ไม่ค่อยรู้เรื่อง)
จากที่ทดลองใช้ครับ ข้อดี 1.
griefdlament Fri, 18/12/2015 - 19:51
In reply to ใครสักคนส่วนลิส by l2aelba
จากที่ทดลองใช้ครับ
ข้อดี
ข้อเสีย
ปัญหาที่ผมเจอคือ ช่วงต้นเดือนธค.ผมได้ลองใช้กับ Centos 6.7 ซึ่งมี Python 2.6 ติดตั้งมาให้อยู่แล้ว แต่ดันใช้งานไม่ได้ ต้องไปลง Python 2.7 เพิ่ม แต่เท่าที่เช็คผมเห็นเค้ารองรับ Python 2.6 ตั้งแต่ต้นเดือนพย.แล้ว ส่วนนี้ผมไม่รู้ว่าปัญหาคืออะไรเหมือนกันครับ
อีกรอบผมลองบน Debian 8 ใช้งานได้ตามปกติครบทุกโหมดที่ตอนนี้ใช้งานได้เลยครับ manual, standalone, apache