ฟรี! ใบรับรอง Let’s Encrypt SSL มาพร้อมกับ software stack ชั้นนำตั้งแต่แกะกล่อง
ปัญหาสำคัญประการหนึ่งที่เราควรจัดการสำหรับแอปพลิเคชันที่ใช้งานจริงคือ การรับรองความปลอดภัย วิธีการพื้นฐานที่ใช้กันทั่วไปในการแลกเปลี่ยนข้อมูลอย่างปลอดภัยคือการเข้ารหัสการรับส่งข้อมูลของแอปพลิเคชันด้วยโปรโตคอล HTTPS
นอกจากนั้น ตั้งแต่วันที่ 1 มกราคม 2017 หนึ่งในเบราว์เซอร์ที่ได้รับความนิยมมากที่สุดนั่นคือ Google Chrome ได้เริ่มทำเครื่องหมายหน้าเว็บทั้งหมด ที่ร้องขอให้ระบุรหัสผ่านหรือรายละเอียดบัตรเครดิต และไม่ปลอดภัยด้วย SSL เนื่องจากไม่ปลอดภัย ความแปลกใหม่ดังกล่าวทำให้การรวมการเข้ารหัสมีความสำคัญยิ่งขึ้น
อย่างไรก็ตาม การออกและกำหนดค่าใบรับรอง SSL แบบกำหนดเองสำหรับโครงการอาจเป็นงานที่ค่อนข้างซับซ้อนและใช้เวลานาน Let’s Encrypt (LE) เป็นผู้ออกใบรับรองฟรีและเปิดกว้าง ซึ่งช่วยให้กระบวนการรวมใบรับรอง SSL ที่เชื่อถือได้ง่ายขึ้นอย่างมากและทำให้เป็นอัตโนมัติ แนวโน้มทั่วไปของการเปลี่ยนเว็บไปเป็น HTTPS บ่งบอกถึงระบบอัตโนมัติที่สมบูรณ์ของการออกใบรับรอง SSL และอุปกรณ์ที่กำหนดเอง ดังนั้น นักพัฒนา Ruk-com cloud จึงได้ทำงานที่ยอดเยี่ยมในด้านบรรจุภัณฑ์ Let’s Encrypt บริการด้วย Cloud Scripting เพื่อใช้โซลูชันที่ช่วยให้สามารถกำจัดการต่ออายุใบรับรองปกติได้
ข้อได้เปรียบที่สำคัญของโซลูชันนี้คือรวม SSL มาพร้อมกับโหลดบาลานเซอร์ยอดนิยมและสแต็คเซิร์ฟเวอร์แอปพลิเคชันแบบแกะกล่อง ในลักษณะนี้ มันทำให้มีความเป็นไปได้ที่จะรักษาความปลอดภัยให้กับแอปพลิเคชั่นส่วนใหญ่ที่มีอยู่ซึ่งทำงานใน Ruk-com cloud ได้อย่างอิสระ
เมื่อเตรียมใช้งานเป็นส่วนเสริม โซลูชันนี้สามารถติดตั้งได้อย่างง่ายดายบนคอนเทนเนอร์ใดๆ ก็ตามที่เปิดใช้งานการรองรับ SSL แบบกำหนดเอง กล่าวคือเซิร์ฟเวอร์ต่อไปนี้ (รายการจะขยายอย่างต่อเนื่อง):
- Load Balancers – NGINX, Apache LB, HAProxy, Varnish
- Java application servers – Tomcat, TomEE, GlassFish, Payara, Jetty
- PHP application servers – Apache PHP, NGINX PHP
- Ruby application servers – Apache Ruby, NGINX Ruby
หากคุณต้องการ Let’s Encrypt SSL สำหรับสแต็กอื่น ๆ เพียงเพิ่มตัวโหลดบาลานซ์ที่หน้าเซิร์ฟเวอร์แอปพลิเคชันของคุณและติดตั้งส่วนเสริม การยกเลิก SSL ที่ระดับการโหลดบาลานซ์ถูกใช้โดยค่าเริ่มต้นใน topology แบบ cluster
If you require Let’s Encrypt SSL for any other stack, just add a load balancer in front of your application servers and install the add-on. SSL termination at load balancing level is used by default in clustered topologies.
มันทำงานอย่างไร?
ระหว่างการติดตั้ง โปรแกรมเสริมจะดาวน์โหลดและกำหนดค่าไคลเอนต์ Let’s Encrypt (หรือที่เรียกว่าตัวแทนการจัดการใบรับรอง (CMA)) ขอใบรับรองจาก Let’s Encrypt Certificate Authority (CA) นำใบรับรองที่ออกแล้วไปใช้กับสแต็กซอฟต์แวร์ที่ทำงานอยู่ตามข้อมูลเฉพาะของการรวม SSL และเพิ่ม cronjob พิเศษเพื่อเริ่มต้นการอัปเดตใบรับรองเมื่อใกล้วันหมดอายุ การตรวจสอบการควบคุมโดเมน
เมื่อมีการออกใบรับรอง Let’s Encrypt CA จะตรวจสอบ entry point ของ environment ที่พอร์ต 80 เพื่อพิสูจน์ว่าเว็บเซิร์ฟเวอร์ที่กำหนดใช้โดเมนที่ระบุไว้ ในระหว่างกระบวนการตรวจสอบโดเมน การรับส่งข้อมูล HTTP ขาเข้าทั้งหมดจะถูกส่งไปยังพอร์ต 12345 ที่กำหนดเองซึ่งเรียกใช้พร็อกซี CMA ที่เกี่ยวข้อง
ในกรณีที่เลเยอร์มีโหนดประเภทเดียวกันหลายโหนด ระหว่างระยะเวลาการอัปเดต การรับส่งข้อมูล HTTPS ขาเข้าทั้งหมดจะถูกส่งไปยังโหนดหลักที่เรียกใช้พร็อกซี CMA ซึ่งทำได้โดยการตั้งค่ากฎการกำหนดเส้นทาง DNAT ชั่วคราวพิเศษ เพื่อให้ CMA สามารถจัดการคำขอตรวจสอบโดเมนได้
เนื่องจากจำเป็นต้องมีการเปลี่ยนเส้นทางดังกล่าวในระหว่างการตรวจสอบความถูกต้องของโดเมนเท่านั้น การตั้งค่า DNAT พิเศษเหล่านี้จะถูกลบออกหลังจากยืนยันการโต้ตอบของชื่อโฮสต์
หลังจากการตรวจสอบโดเมนสำเร็จแล้ว CMA จะสามารถขอ ต่ออายุ และเพิกถอนใบรับรอง SSL สำหรับโดเมนที่ระบุได้ ดังนั้น CMA จะสร้างคู่คีย์ SSL ที่เหมาะสมโดยอัตโนมัติ ด้วยเหตุนี้ ใบรับรองที่ออกจะเผยแพร่ไปยังโหนดทั้งหมดภายในเลเยอร์จุดเข้าใช้งานผ่าน Jelastic API ดังนั้นแอปพลิเคชันจะได้รับการกำหนดค่าอย่างเหมาะสมสำหรับงานต่อไปผ่าน HTTPS
แม้จะมีคำอธิบายที่ยาว แต่การดำเนินการทั้งหมดเหล่านี้ได้รับการจัดการในเวลาไม่กี่นาที ตอนนี้ มาดูวิธีการเริ่มต้นการติดตั้งโปรแกรมเสริม Let’s Encrypt อย่างแท้จริง
การติดตั้ง Add-On Let’s Encrypt SSL
1. คลิกที่ไอคอน add-on ของ balancer แล้ว กดปุ่ม Install ที่ add-on Let’s Encrypt
2. กรอกโดเมนที่ต้องการจะติดตั้ง Certificate หากไม่กรอกจะใช้เป็นโดเมนของ environment แทน
ขึ้นตอนนี้ต้องจัดเตรียม External Domain(s) ชี้มายัง environment ที่ต้องการ ทางเลือกที่เป็นไปได้คือ:
- เว้นว่างไว้จะเป็นการสร้าง SSL certificate หลอกๆ, ชี้ไปยัง environment ภายในสำหรับการทดสอบ
- กรอกโดเมนที่ใช้จริง สามารถกรอกได้หลายโดเมนโดยขั้นด้วยคอมม่า (,)
สุดท้ายแล้วคลิก install เพื่อเริ่มต้นการติดตั้ง
Note: การติดตั้ง add-on นี้ต้องการ public IP ในการทำงาน ดังนั้นในกรณีที่ environment ไม่มี public IP มันจะทำการเพิ่มให้โดยอัตโนมัติระหว่างการติดตั้ง (ระวังเรื่องการติดตั้ง public IP เพิ่มเติมจะมีค่าใช้จ่าย)
3. ขั้นตอนการติดตั้งจะใช้เวลาสักครู่หนึ่ง เมื่อติดตั้งเสร็จแล้วคุณสามารถเข้าไปตรวจสอบได้ที่ environment Setting > Custom SSL เพื่อดูว่า HTTPS ได้ถูก active แล้วจากวันหมดอายุของ certificate
4. คุณสามารถมั่นใจได้ว่าทุกอย่างทำงานได้ถูกต้องโดยการลองเปิด application ผ่านทาง HTTPS:
As you can see, the environment is accessible and the established connection is secure and browser-trusted.
อย่างที่คุณเห็น environment นี้สามารถเข้าถึงได้ และการเชื่อมต่อที่สร้างขึ้นนั้นปลอดภัยและเชื่อถือได้ในเบราว์เซอร์
อัพเดทใบรับรอง Let’s Encrypt
ใบรับรอง Let’s Encrypt SSL ของคุณจะมีอายุ 90 วัน หลังจากช่วงเวลานี้หมดลง จะต้องต่ออายุการเข้ารหัสเพื่อให้ใช้งานได้
โดยค่าเริ่มต้น ใบรับรอง SSL ที่อัปเดตที่จำเป็นจะถูกร้องขอและนำไปใช้โดยอัตโนมัติ 30 วันก่อนหมดอายุ (คุณจะได้รับการแจ้งเตือนทางอีเมล)
นอกจากนี้ การดำเนินการนี้สามารถทำได้ด้วยตนเองเมื่อใดก็ได้ ในการนั้น ให้คลิกปุ่มส่วนเสริมที่อยู่ถัดจากเลเยอร์สภาพแวดล้อมที่เหมาะสม และใช้ปุ่ม อัปเดตทันที ภายในแผงส่วนเสริม
นอกจากนี้ ใบรับรอง SSL ของคุณสามารถอัปเดตได้โดยการติดตั้งส่วนเสริมอีกครั้งสำหรับชื่อโดเมนเดียวกัน พร้อมกันนี้ การเพิ่มใหม่หรือการระบุชื่อโดเมนที่แตกต่างกันในระหว่างขั้นตอนนี้จะทำให้ใบรับรองที่ใช้แล้วถูกแทนที่โดยสมบูรณ์
การกำหนดค่าใบรับรอง Let’s Encrypt ใหม่
ในกรณีที่จำเป็น คุณสามารถปรับเปลี่ยนส่วนเสริม Let’s Encrypt Free SSL ที่มีอยู่แล้วเพื่อให้ตรงกับข้อกำหนดใหม่ได้ เพียงคลิกปุ่มกำหนดค่าภายในแผง Let’s Encrypt
จากนั้นในป๊อปอัป คุณสามารถเปลี่ยนโดเมนภายนอกหรือลบรายการใดก็ได้ (เช่น หากคุณประสบปัญหาในการมอบหมายใบรับรอง SSL ให้กับโดเมนเหล่านั้น)
Note: เพื่อหลีกเลี่ยงปัญหาด้านความปลอดภัย จะมีการออกใบรับรองใหม่ แม้ว่าจะลบชื่อโดเมนออกจากชื่อที่มีอยู่แล้วก็ตาม
ถอนการติดตั้ง Let’s Encrypt SSL Add-On
หากจำเป็น คุณสามารถลบส่วนเสริม Let’s Encrypt SSL ออกจากสภาพแวดล้อมของคุณได้อย่างง่ายดาย เพียงไปที่แท็บส่วนเสริม ขยายรายการตัวเลือกที่มุมบนขวาของไม้กระดาน Let’s Encrypt SSL แล้วเลือกถอนการติดตั้ง:
หลังจากการยืนยัน โปรแกรมเสริมจะถูกลบออกและใบรับรองที่แนบมาจะถูกปิดใช้งาน
แค่นั้นแหละ! ตอนนี้คุณรู้วิธีติดตั้งและจัดการ Add-on ของ Let’s Encrypt สำหรับการกำหนดค่า SSL แบบกำหนดเองอัตโนมัติสำหรับสภาพแวดล้อมของคุณแล้ว ดังนั้นคุณจึงสามารถปกป้องแอปพลิเคชันเกือบทั้งหมดได้ในเวลาไม่นาน สมบูรณ์ฟรีและแทบไม่ต้องใช้ความพยายามใดๆ เริ่มต้นทันทีที่หนึ่งในผู้ให้บริการ Ruk-com clound PaaS