Kubernetes กลายเป็นระบบคลาวด์คอนเทนเนอร์ที่ได้รับความนิยมมากที่สุด. จริงๆแล้ว เป็นเพียงเรื่องของเวลาจนกว่าจะพบข้อบกพร่องด้านความปลอดภัยที่สำคัญครั้งแรกของเขา
และก็เป็นเช่นนั้นเพราะเมื่อเร็ว ๆ นี้ ข้อบกพร่องด้านความปลอดภัยที่สำคัญประการแรกใน Kubernetes ได้รับการเผยแพร่ภายใต้ CVE-2018-1002105หรือที่เรียกว่าความล้มเหลวในการเลื่อนระดับสิทธิ์
ข้อบกพร่องที่สำคัญใน Kubernetes นี้เป็นปัญหาเนื่องจากเป็นช่องโหว่ด้านความปลอดภัย CVSS 9.8 ที่สำคัญ ในกรณีที่เกิดข้อบกพร่องด้านความปลอดภัย Kubernetes ที่สำคัญครั้งแรก
รายละเอียดผิดพลาด
ด้วยเครือข่ายคำขอที่ออกแบบมาเป็นพิเศษผู้ใช้ทุกคนสามารถสร้างการเชื่อมต่อผ่าน จากเซิร์ฟเวอร์อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน (API) Kubernetes ไปยังเซิร์ฟเวอร์แบ็กเอนด์
เมื่อก่อตั้งขึ้นแล้ว ผู้โจมตีสามารถส่งคำขอโดยพลการผ่านการเชื่อมต่อเครือข่ายไปยังแบ็กเอนด์นั้นได้โดยตรง ซึ่งตลอดเวลาวัตถุประสงค์คือเซิร์ฟเวอร์นั้น
คำขอเหล่านี้ได้รับการพิสูจน์ตัวตนด้วยข้อมูลรับรอง TLS (Transport Layer Security) ของเซิร์ฟเวอร์ Kubernetes API
ยิ่งไปกว่านั้นในการกำหนดค่าเริ่มต้นผู้ใช้ทั้งหมด (รับรองความถูกต้องหรือไม่) สามารถเรียกใช้การเรียกค้น API ที่อนุญาตให้ผู้โจมตียกระดับสิทธิ์นี้ได้
ด้วยเหตุนี้ใครก็ตามที่รู้ว่าหลุมนั้นสามารถใช้โอกาสนี้ในการควบคุมคลัสเตอร์ Kubernetes ของพวกเขาได้
ในขณะนี้ไม่มีวิธีง่ายๆในการตรวจสอบว่าช่องโหว่นี้เคยถูกใช้มาก่อนหน้านี้หรือไม่
เนื่องจากคำขอที่ไม่ได้รับอนุญาตเกิดขึ้นผ่านการเชื่อมต่อที่สร้างขึ้นคำขอจึงไม่ปรากฏในบันทึกการตรวจสอบเซิร์ฟเวอร์ Kubernetes API หรือบันทึกของเซิร์ฟเวอร์
คำขอปรากฏในเซิร์ฟเวอร์ API รวมหรือบันทึก kubeletแต่แตกต่างจากคำขอที่ได้รับอนุญาตและพร็อกซีอย่างถูกต้องผ่านเซิร์ฟเวอร์ Kubernetes API
การละเมิด ช่องโหว่ใหม่นี้ใน Kubernetes มันจะไม่ทิ้งร่องรอยที่ชัดเจนในบันทึกดังนั้นตอนนี้ข้อบกพร่องของ Kubernetes ถูกเปิดเผยจึงต้องใช้เวลาเพียงไม่นานจนกว่าจะมีการใช้งาน
กล่าวอีกนัยหนึ่ง Red Hat กล่าวว่า:
ข้อบกพร่องในการยกระดับสิทธิ์อนุญาตให้ผู้ใช้ที่ไม่ได้รับอนุญาตได้รับสิทธิ์ของผู้ดูแลระบบเต็มรูปแบบบนโหนดคอมพิวท์ใด ๆ ที่ทำงานในฝัก Kubernetes
นี่ไม่ใช่แค่การโจรกรรมหรือการเปิดเพื่อฉีดโค้ดที่เป็นอันตราย แต่ยังสามารถลดแอปพลิเคชันและบริการการผลิตภายในไฟร์วอลล์ขององค์กรได้อีกด้วย
โปรแกรมใด ๆ รวมถึง Kubernetes มีช่องโหว่ ผู้จัดจำหน่าย Kubernetes กำลังปล่อยการแก้ไขแล้ว
Red Hat รายงานว่าผลิตภัณฑ์และบริการที่ใช้ Kubernetes ทั้งหมดรวมถึงแพลตฟอร์ม Red Hat OpenShift Container, Red Hat OpenShift Online และ Red Hat OpenShift Dedicated ได้รับผลกระทบ
Red Hat เริ่มให้บริการแพตช์และอัปเดตบริการแก่ผู้ใช้ที่ได้รับผลกระทบ
เท่าที่ทราบยังไม่มีใครใช้การละเมิดความปลอดภัยในการโจมตี Darren Shepard หัวหน้าสถาปนิกและผู้ร่วมก่อตั้งห้องปฏิบัติการ Rancher ค้นพบข้อบกพร่องและรายงานโดยใช้กระบวนการรายงานช่องโหว่ของ Kubernetes
จะแก้ไขความผิดนี้ได้อย่างไร?
โชคดีที่การแก้ไขข้อบกพร่องนี้ได้รับการเผยแพร่แล้ว. ซึ่งมีเพียง พวกเขาจะขอให้ทำการอัปเดต Kubernetes ดังนั้นพวกเขาจึงสามารถเลือก Kubernetes เวอร์ชันที่แพตช์ v1.10.11, v1.11.5, v1.12.3 และ v1.13.0-RC.1 ได้บางส่วน
ดังนั้นหากคุณยังคงใช้ Kubernetes v1.0.x-1.9.x เวอร์ชันใด ๆ ขอแนะนำให้คุณอัปเกรดเป็นเวอร์ชันคงที่
หากด้วยเหตุผลบางประการพวกเขาไม่สามารถอัปเดต Kubernetes ได้ และพวกเขาต้องการหยุดความล้มเหลวนี้จำเป็นต้องดำเนินการตามขั้นตอนต่อไปนี้
คุณควรหยุดใช้เซิร์ฟเวอร์รวม API หรือลบสิทธิ์ pod exec / attach / portforward สำหรับผู้ใช้ที่ไม่ควรมีสิทธิ์เข้าถึง kubelet API อย่างสมบูรณ์
Jordan Liggitt วิศวกรซอฟต์แวร์ของ Google ที่แก้ไขข้อบกพร่องกล่าวว่ามาตรการเหล่านี้น่าจะเป็นอันตราย
ดังนั้นทางออกเดียวที่แท้จริงสำหรับข้อบกพร่องด้านความปลอดภัยนี้คือทำการอัปเดต Kubernetes ที่เกี่ยวข้อง