Tags:
Node Thumbnail

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 วันนั้นยังมีข้อดีอีกสองจุดด้วยกัน
1. เพื่อลดความเสียหายที่จะเกิดขึ้นหากกุญแจที่ใช้ยืนยันใบรับรองถูกเข้าถึงโดยผู้ไม่ประสงค์ดี กุญแจที่ถูกขโมยไปจะสามารถใช้ได้เพียงในช่วงระยะเวลาสั้นๆเท่านั้น
2. มันจะกระตุ้นให้ใช้ระบบอัตโนมัติ ซึ่งทำให้การใช้งานสะดวกมากขึ้น การที่พวกเราจะทำให้เว็บไซต์ทั้งหมดนั้นใช้ 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 จะเชื่อมต่อเข้ามาและตรวจสอบใบรับรอง ถ้าถูกต้องกระบวนการยืนยันโดเมนก็จะเสร็จสมบูรณ์

การขอใบรับรองนั้นแบ่งได้เป็นสองแบบ
1. ขอใบรับรองและติดตั้งอัตโนมัติ จะต้องใช้ apache หรือ nginx โดย LE's client นั้นจะทำการใช้ HTTP server ที่ตั้งค่าไว้ทำการยืนยันโดเมนเพื่อขอใบรับรองรวมถึงติดตั้งให้กับ HTTP server ที่เปิดอยู่ในทันที แต่ตอนนี้ยังใช้ได้เพียงแค่ apache 2.4 บนระบบปฏิบัติการที่เป็น Debian-based และมี libaugeas0 1.0+ เท่านั้น ส่วน nginx นั้นยังอยู่ในช่วงทดลองจึงยังไม่มีให้ใช้งาน
2. ขอใบรับรองเพียงอย่างเดียว วิธีนี้จะได้ใบรับรองมาเพื่อนำไปติดตั้งด้วยตนเอง โดยจะทำได้ 3 แบบ คือ manual สร้าง server ขึ้นมาเองโดยผู้ใช้, standalone สร้าง server ขึ้นมาใหม่โดย LE's client และ webroot เป็นการใช้ server ที่เปิดไว้อยู่แล้ว

รายละเอียดเพิ่มเติม: เอกสารรายละเอียดACME, รายชื่อเบราว์เซอร์และระบบปฏิบัติการที่รองรับ, Documentation

Get latest news from Blognone

Comments

By: panurat2000
ContributorSymbianUbuntuIn Love
on 18 December 2015 - 13:52 #869469
panurat2000's picture

สำหรับเว็บไซท์เข้ารหัส

เว็บไซท์ => เว็บไซต์

มีจุดมุ่งหมายเพื่อสาธารณะประโยชน์

สาธารณะประโยชน์ => สาธารณประโยชน์

สามารถพบเห็นได้ทั่วไปในอินเตอร์เน็ต

อินเตอร์เน็ต => อินเทอร์เน็ต

การที่พวกเราจะทำให้เวปไซท์ทั้งหมดนั้น

เวป => เว็บ

ไซท์ => ไซต์

นั้นยังไม่ได้ถูกบรรจุลงภายใน browser ใดๆ

browser => เบราว์เซอร์

  • ไม้ยมก หลังไม้ยมก เว้นช่องว่าง 1 ส่วนก่อนหน้าไม้ยมก จะเว้นหรือไม่เว้นก็ได้
By: griefdlament
ContributorWindows
on 18 December 2015 - 14:08 #869472 Reply to:869469

แก้ไขแล้วครับ ขอบคุณมากครับที่ช่วยตรวจทานให้

By: l2aelba
iPhoneAndroid
on 18 December 2015 - 18:33 #869498
l2aelba's picture

ใครสักคนส่วนลิส ข้อดีข้อเสียให้หน่อยสิครับ (จากคนที่ไม่ค่อยรู้เรื่อง)

By: griefdlament
ContributorWindows
on 18 December 2015 - 19:51 #869508 Reply to:869498

จากที่ทดลองใช้ครับ

ข้อดี
1. ใช้งานได้ฟรี
2. ระบบจัดการจะเป็นระบบอัตโนมัติ ในนั้นรวมถึงระบบการ renewal ใบรับรองด้วย แต่ตอนนี้ยังไม่มีให้ใช้เพราะยังไม่เสร็จครับ

ข้อเสีย
1. ยังไม่เสร็จและยังอยู่ในช่วงเบต้า อาจจะเกิดปัญหากับบางระบบปฏิบัติการ ที่ถ้าจะใช้คงต้องหาทริคให้มันใช้งานได้กันเองไปก่อน เพราะต้องรอสักช่วงระยะเวลานึงให้ทาง LE มาแก้ไขให้ใช้งานได้ตามปกติอีกทีนึง

ปัญหาที่ผมเจอคือ ช่วงต้นเดือนธค.ผมได้ลองใช้กับ Centos 6.7 ซึ่งมี Python 2.6 ติดตั้งมาให้อยู่แล้ว แต่ดันใช้งานไม่ได้ ต้องไปลง Python 2.7 เพิ่ม แต่เท่าที่เช็คผมเห็นเค้ารองรับ Python 2.6 ตั้งแต่ต้นเดือนพย.แล้ว ส่วนนี้ผมไม่รู้ว่าปัญหาคืออะไรเหมือนกันครับ
อีกรอบผมลองบน Debian 8 ใช้งานได้ตามปกติครบทุกโหมดที่ตอนนี้ใช้งานได้เลยครับ manual, standalone, apache