การรักษาความปลอดภัยห่วงโซ่อุปทานและข้อมูลลับ
เสริมความแข็งแกร่งให้กับอิมเมจและข้อมูลลับ
การรักษาความปลอดภัยห่วงโซ่อุปทานและข้อมูลลับ เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
ห่วงโซ่อุปทานซอฟต์แวร์
อิมเมจคอนเทนเนอร์สร้างจากอิมเมจพื้นฐาน แพ็กเกจของ OS และส่วนพึ่งพาของแอปพลิเคชัน จากนั้นจึงส่งผ่านรีจิสทรีเข้าสู่คลัสเตอร์ ทุกขั้นตอนล้วนเป็นโอกาสให้เกิดการเจาะระบบ การโจมตีห่วงโซ่อุปทานจะแทรกโค้ดอันตรายเข้ามาก่อนที่โค้ดนั้นจะไปถึงระบบจริง
- อิมเมจพื้นฐานหรือส่วนพึ่งพาที่ถูกเจาะระบบ
- อิมเมจในรีจิสทรีที่ถูกแก้ไข
- ขั้นตอนอันตรายในกระบวนการ CI/CD
ช่องโหว่ในอิมเมจ
อิมเมจมักมาพร้อมแพ็กเกจที่ทราบว่ามีช่องโหว่ การสแกนช่วยตรวจพบสิ่งเหล่านี้ก่อนนำไปใช้งาน
- อิมเมจพื้นฐานรุ่นเก่าจะสะสม CVE
- อิมเมจที่มีขนาดใหญ่เกินจำเป็นจะเพิ่มพื้นผิวการโจมตี
- ข้อมูลลับที่ฝังอยู่ในชั้นของอิมเมจอาจทำให้ข้อมูลรับรองรั่วไหล
# Scan an image for vulnerabilities
trivy image myorg/app:1.4.2
# Scan filesystem and secrets too
trivy image --scanners vuln,secret myorg/app:1.4.2อิมเมจพื้นฐานขนาดเล็กและเชื่อถือได้
ลดพื้นผิวการโจมตีด้วยการเริ่มจากสิ่งที่มีขนาดเล็กและผ่านการตรวจสอบแล้ว
- ใช้อิมเมจพื้นฐานแบบ distroless หรือแบบขนาดเล็ก (ไม่มีเชลล์และไม่มีเครื่องมือจัดการแพ็กเกจ)
- ตรึงอิมเมจพื้นฐานด้วยไดเจสต์แทนการใช้แท็กที่เลื่อนไปได้
- เลือกใช้อิมเมจพื้นฐานที่เป็นทางการหรือผ่านการตรวจสอบภายใน
อิมเมจที่มีขนาดเล็กลงหมายถึงมี CVE น้อยลง และมีเครื่องมือให้ผู้โจมตีนำไปใช้ในทางที่ผิดหลังเจาะระบบได้น้อยลง
# Pin by digest for immutability
# FROM gcr.io/distroless/static@sha256:<digest>การลงลายเซ็นและแหล่งที่มาของอิมเมจ
การลงลายเซ็นพิสูจน์ว่าอิมเมจมาจากกระบวนการของคุณและไม่ได้ถูกแก้ไข แหล่งที่มา (SLSA) จะบันทึกวิธีการสร้างอิมเมจ
- Cosign ใช้ลงลายเซ็นและตรวจสอบอิมเมจ
- สร้าง SBOM เพื่อติดตามทุกองค์ประกอบ
- แนบเอกสารรับรองแหล่งที่มาของการสร้าง
# Sign and verify with cosign
cosign sign myorg/app:1.4.2
cosign verify --key cosign.pub myorg/app:1.4.2การตรวจสอบขณะอนุมัติ
บังคับให้อิมเมจที่ลงลายเซ็นและผ่านการสแกนเท่านั้นจึงจะทำงานได้ ตัวควบคุมการอนุมัติจะปฏิเสธอิมเมจที่ไม่มีลายเซ็นหรือมีช่องโหว่ขณะนำไปใช้งาน
# Kyverno policy: verify image signatures before admission
kubectl apply -f verify-image-signature.yaml
# Restrict pulls to a trusted registry only
kubectl apply -f allowed-registries.yamlการรักษาความปลอดภัยของกระบวนการ
ระบบ CI/CD เองมีความสำคัญสูง เพราะเก็บข้อมูลรับรองและสามารถส่งงานขึ้นระบบจริงได้
- จำกัดขอบเขตข้อมูลรับรองของกระบวนการให้มีสิทธิ์เท่าที่จำเป็นและมีอายุการใช้งานสั้น
- ตรึงเวอร์ชันและตรวจสอบการทำงานหรือปลั๊กอิน CI ของบุคคลที่สาม
- แยกเครื่องรันกระบวนการสร้างออกจากกัน และอย่านำเครื่องเหล่านี้กลับมาใช้ข้ามระดับความน่าเชื่อถือ
- ปกป้องรีจิสทรีด้วยการยืนยันตัวตนและการป้องกันไม่ให้ข้อมูลเปลี่ยนแปลง
ความเป็นจริงของข้อมูลลับใน Kubernetes
ข้อมูลลับของ Kubernetes จะถูกแปลงเป็นรหัส base64 แต่ไม่ได้เข้ารหัสลับโดยค่าเริ่มต้น ผู้ใดก็ตามที่อ่านข้อมูลเหล่านี้หรืออ่าน etcd ได้ จะเห็นข้อมูลในรูปแบบข้อความธรรมดา
# A 'Secret' is trivially decoded
kubectl get secret db -o jsonpath='{.data.password}' | base64 -dการเข้ารหัสข้อมูลลับขณะจัดเก็บ
ปกป้องเนื้อหาใน etcd เพื่อไม่ให้การขโมยข้อมูลสำรองหรือการเข้าถึง etcd ทำให้ข้อมูลทั้งหมดรั่วไหล
- เปิดใช้ การเข้ารหัสขณะจัดเก็บด้วย
EncryptionConfiguration - ใช้ผู้ให้บริการ KMS บนคลาวด์เพื่อรองรับการเข้ารหัสแบบซอง
- จำกัดและตรวจสอบการเข้าถึง etcd โดยตรง
ตัวจัดการข้อมูลลับภายนอก
รูปแบบที่รัดกุมที่สุดคือไม่นำข้อมูลลับไปเก็บไว้ในที่จัดเก็บของคลัสเตอร์เลย
- HashiCorp Vault หรือตัวจัดการข้อมูลลับบนคลาวด์จะเก็บแหล่งข้อมูลหลัก
- External Secrets Operator หรือไดรเวอร์ CSI จะนำข้อมูลลับเข้ามาใช้ขณะทำงาน
- ใช้ ข้อมูลระบุตัวตนของเวิร์กโหลด เพื่อให้พ็อดดึงข้อมูลลับผ่านโทเค็นคลาวด์อายุสั้น แทนการใช้คีย์แบบคงที่
แนวปฏิบัติที่ดีในการจัดการข้อมูลลับ
แนวปฏิบัติในการดำเนินงานช่วยลดการเปิดเผยข้อมูลลับ
- อย่าฝังข้อมูลลับไว้ในอิมเมจหรือส่งข้อมูลลับเข้า Git
- สแกนคลังโค้ดและอิมเมจเพื่อหาข้อมูลรับรองที่รั่วไหล
- เปลี่ยนข้อมูลลับเป็นระยะและเมื่อสงสัยว่ามีการเปิดเผย
- จำกัดสิทธิ์ RBAC
get/list secretsให้เหลือเท่าที่จำเป็น
# Detect committed secrets in source
gitleaks detect --source .การทดสอบห่วงโซ่อุปทาน
เมื่อตรวจประเมิน ให้ยืนยันว่าอิมเมจที่ไม่มีลายเซ็นหรือมีช่องโหว่ถูกบล็อกจริง ข้อมูลลับถูกเข้ารหัสขณะจัดเก็บ และไม่มีข้อมูลรับรองแบบข้อความธรรมดาอยู่ในอิมเมจหรือ Git แสดงหลักฐานที่พบโดยไม่นำข้อมูลลับจริงออกไปเกินกว่าที่จำเป็นต่อการพิสูจน์
รายงานช่องว่างแต่ละรายการพร้อมการควบคุมที่เป็นรูปธรรมซึ่งช่วยปิดช่องว่างนั้น เช่น นโยบายการลงลายเซ็น การเข้ารหัสด้วย KMS หรือตัวจัดการภายนอก
ตรวจสอบความเข้าใจ
ยืนยันความรู้เกี่ยวกับห่วงโซ่อุปทานและข้อมูลลับของคุณ
สรุปทบทวน
คุณได้เสริมความแข็งแกร่งให้ห่วงโซ่อุปทานของอิมเมจและการจัดการข้อมูลลับ
- สแกนอิมเมจ ใช้อิมเมจพื้นฐานขนาดเล็กที่ตรึงเวอร์ชันแล้ว และลงลายเซ็นด้วย cosign
- บังคับใช้อิมเมจที่ลงลายเซ็นและผ่านการสแกน รวมถึงรีจิสทรีที่เชื่อถือได้ตั้งแต่ขั้นตอนการอนุมัติ
- ข้อมูลลับของ Kubernetes มีเพียงการแปลงเป็นรหัส base64 เท่านั้น ให้เปิดใช้การเข้ารหัสด้วย KMS ขณะจัดเก็บ
- เลือกใช้ตัวจัดการข้อมูลลับภายนอกและข้อมูลระบุตัวตนของเวิร์กโหลด พร้อมปฏิบัติตามแนวทางการจัดการข้อมูลลับที่ดี
เนื้อหานี้เป็นการจบหลักสูตรความปลอดภัยของ Kubernetes และชุดบทเรียนนี้
คำถามที่พบบ่อย
บทเรียน “การรักษาความปลอดภัยห่วงโซ่อุปทานและข้อมูลลับ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การรักษาความปลอดภัยห่วงโซ่อุปทานและข้อมูลลับ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การรักษาความปลอดภัยห่วงโซ่อุปทานและข้อมูลลับ”
เสริมความแข็งแกร่งให้กับอิมเมจและข้อมูลลับ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การรักษาความปลอดภัยห่วงโซ่อุปทานและข้อมูลลับ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แบบจำลองภัยคุกคาม Kubernetes
- RBAC และบัญชีบริการ
- ความปลอดภัยของพ็อดและนโยบายเครือข่าย
- การรักษาความปลอดภัยห่วงโซ่อุปทานและข้อมูลลับ