10 คะแนน โดย xguru 2026-02-03 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • ชุดอิมเมจคอนเทนเนอร์แบบน้ำหนักเบาที่ออกแบบมาเพื่อ ลดช่องโหว่ด้านความปลอดภัย (CVE) ในสภาพแวดล้อมโปรดักชันให้เหลือน้อยที่สุด
  • รีบิลด์ทุกวันบนพื้นฐานของ apko ของ Chainguard และ แพ็กเกจ Wolfi เพื่อให้รวมแพตช์ความปลอดภัยล่าสุด
  • ตัดแพ็กเกจที่ไม่จำเป็นออกเพื่อ ลดพื้นที่ผิวการโจมตี และอิมเมจส่วนใหญ่มี CVE เพียง 0~5 รายการหรือน้อยกว่า
  • มี อิมเมจสำหรับรันไทม์และบริการหลัก เช่น Python, Node.js, Bun, Go, Nginx, HTTPD, Jenkins, Redis, PostgreSQL, SQLite
    • แต่ละอิมเมจทำงานด้วย ผู้ใช้ที่ไม่ใช่รูท (non-root) และโดยค่าเริ่มต้น ไม่มีเชลล์รวมมาให้
  • การออกแบบที่เน้นความปลอดภัย
    • หากไม่ผ่าน CVE gate จะถือว่าบิลด์ล้มเหลว
    • มี การลงนามด้วย cosign และสร้าง SBOM (Software Bill of Materials) อัตโนมัติ
    • ทุกอิมเมจสามารถตรวจสอบความถูกต้องได้ด้วย ลายเซ็นแบบ keyless ของ Sigstore
  • โครงสร้างของบิลด์ไปป์ไลน์
    • แพ็กเกจ Wolfi → สร้างอิมเมจ OCI ด้วย apko → สแกน CVE ด้วย Trivy → ลงนามและเผยแพร่ด้วย cosign+SBOM
    • Jenkins, Redis และอื่น ๆ ถูกรวมเข้ามาหลังบิลด์จากซอร์สผ่าน melange
  • แนวทางการอัปเดตอัตโนมัติและการบำรุงรักษา
    • บิลด์อัตโนมัติทุกวันเวลา 02:00 UTC เพื่อรวมแพตช์ CVE ล่าสุด
    • เมื่อมีการ merge เข้า main branch จะปรับใช้การเปลี่ยนแปลงคอนฟิกอัตโนมัติ
    • รองรับการรีบิลด์ฉุกเฉินผ่านการทริกเกอร์แบบแมนนวล
  • ผลลัพธ์ด้านความปลอดภัยและการรองรับคอมพลายแอนซ์
    • ช่วยให้ผ่าน การตรวจสอบความปลอดภัยและข้อกำกับดูแล เช่น SOC2, FedRAMP, PCI-DSS ได้ง่ายขึ้น
    • ความเร็วในการออกแพตช์ดีขึ้นมากกว่า 10 เท่า (ภายใน 48 ชั่วโมง) เมื่อเทียบกับ Debian/Ubuntu
    • การตรวจสอบลายเซ็นและการมี SBOM ให้ใช้งาน ช่วยเสริมความปลอดภัยของซัพพลายเชน
  • เผยแพร่ภายใต้ MIT License
    • แพ็กเกจ third-party ที่รวมอยู่ในแต่ละอิมเมจระบุ ไลเซนส์แยกต่างหาก เช่น Apache-2.0, MIT, GPL, BSD
    • สามารถตรวจสอบข้อมูลไลเซนส์ของทุกแพ็กเกจได้ผ่าน SBOM

2 ความคิดเห็น

 
click 2026-02-03

ช่วงนี้การโจมตีซัพพลายเชนของไลบรารีก็มีเยอะ เลยรู้สึกว่าการอัปเดตเป็นเวอร์ชันล่าสุดทุกวันอาจไม่ได้ปลอดภัยกว่าเสมอไป

 
t7vonn 2026-02-03

https://github.com/GoogleContainerTools/distroless ผมยังไม่ค่อยเข้าใจว่ามันต่างจากอันนี้อย่างไร