NSA และ CISA ได้ร่วมกันออกเอกสารจำนวน 52 หน้า เพื่อให้คำแนะนำสำหรับการสร้างความมั่นคงปลอดภัยในการใช้งาน Kubernetes

โดยภาพรวมแล้ว NSA ชี้ว่าความเสี่ยงมาจาก 3 ส่วนคือ Supply-chain Attacks, กลุ่มคนร้ายไม่หวังดีและ ภัยคุกคามจากภายใน อย่างไรก็ดีเป็นไปไม่ได้ที่แอดมินจะสามารถป้องกันภัยทั้งสามได้ทั้งหมด ซึ่งทำได้เพียงปกป้องให้ดีที่สุดและเลี่ยงการตั้งค่าผิดพลาด ในแต่ละหมวดต่างๆของเอกสารมีประเด็นดังนี้
Kubernetes Pod Security
- ไม่ให้แอปรันด้วยระดับสิทธิ์ root บน container ถ้าทำได้ให้รันด้วย immutable file systems, สแกนค้นหาช่องโหว่หรือการตั้งค่าผิดพลาดใน Container Image
- ใช้ Pod Security Policy เพื่อจำกัดความมั่นคงปลอดภัย เช่น ดูแลเรื่องสิทธิ์ของ Container, ไม่อนุญาตให้ Container มีสิทธิ์ Execute ในสิทธิ์ระดับ Root หรือยกระดับสิทธิ์ไม่ได้, ป้องกันฟีเจอร์ที่มักมีการใช้เจาะระบบบ่อยครั้ง และใช้เครื่องมือป้องกันเช่น SELinux, AppArmor หรือ seccomp
Network Separation & Hardening
- ควบคุมการเข้าถึงโหนดของ Control Plane ด้วย Firewall และ RBAC
- จำกัดการเข้าถึงเซิร์ฟเวอร์ Kubernetes etcd
- เก็บข้อมูล Credentials หรือข้อมูลที่สำคัญไว้ใน Kubernetes Secrets แทนการใส่ไว้ในไฟล์คอนฟิค รวมถึงต้องเข้ารหัสด้วยวิธีการที่มั่นใจได้
- ตั้งค่าส่วนประกอบของ Control Plane ให้มีการพิสูจน์ตัวตน หรือเข้ารหัสการเชื่อมต่อด้วย TLS
- ตั้งค่า Network Policy เพื่อแยกขาดทรัพยากรอย่างเหมาะสม
Authentication & Authorization
- ปิดการล็อกอินด้วย Anonymous
- ใช้การพิสูจน์ตัวตนที่แข็งแกร่ง
- ใช้ RBAC กับแอดมิน ผู้ใช้งาน บริการ และกิจกรรมของ service account
Log auditing
- เปิด Log เสมอ
- ดูให้แน่ใจว่ามีการตั้งค่าการเก็บ Log ที่เหมาะสมและไม่หาย
Upgrading & Application Security Practice
- อัปเดตแพตช์ด้าน Security โดยทันที
- ทำการสแกนช่องโหว่และทดสอบเจาะระบบสม่ำเสมอ
- กำจัดส่วนประกอบในระบบที่ไม่ได้ใช้งานแล้ว
ศึกษาเอกสารฉบับเต็มได้ที่ https://media.defense.gov/2021/Aug/03/2002820425/-1/-1/1/CTR_KUBERNETES%20HARDENING%20GUIDANCE.PDF