‫คุณคิดอย่างไรเกี่ยวกับภาพที่ปราศจากการกระจัดกระจาย?
‫เป็นการแลกเปลี่ยนที่ดีระหว่างขนาดและความปลอดภัยหรือไม่?
‫ฉันจะบอกว่าถ้าคุณสามารถสร้างภาพที่ปราศจากการกระจัดกระจายได้
‫และสิ่งที่เราหมายถึงสิ่งนี้ คำนี้อยู่ในกระแส
‫ฉันรู้สึกว่าภาพที่ปราศจากการรบกวนนั้นซับซ้อน
‫ฉันรู้สึกว่าแค่พูดว่าภาพเริ่มต้นอาจเป็นวิธีที่ง่ายกว่าในการพูด
‫แต่มันถูกต้องแล้วที่จะบอกว่าอิมเมจ distroless
‫หมายความว่าไม่มีระบบแพ็คเกจพื้นฐาน
‫ไม่มีความฉลาด ไม่มียัม
‫ไม่มีคำสั่งที่แตกต่างกันทั้งหมดที่คุณถือว่าอยู่ในคอนเทนเนอร์หากคุณใช้หนึ่งในอิมเมจที่เป็นทางการ
‫ประเด็นก็คือ
‫ภาพที่ไม่มีการกระจายภาพนั้นไม่ธรรมดาเพราะเหตุผลสองประการ
‫หนึ่ง โปรแกรมส่วนใหญ่ต้องการทุกสิ่งนั้นจึงจะใช้งานได้
‫พวกเขาต้องการการพึ่งพาแพ็คเกจ apt
‫พวกเขาต้องการไลบรารี
‫SSL แบบเปิดของตนเอง พวกเขาต้องการทุกสิ่งนอกเหนือจากโปรแกรมที่อยู่ในนั้นใช่ไหม
‫นั่นคือแอปพลิเคชั่นส่วนใหญ่ในปัจจุบัน
‫Golang, C, ภาษาอื่นบางภาษาสามารถสร้างไบนารีเดี่ยวที่มีทุกอย่างที่จำเป็นในการรัน
‫นอกเหนือจากเคอร์เนล
‫สิ่งเหล่านั้นในทางเทคนิคสามารถลบทุกสิ่งที่อยู่ด้านล่างออกได้
‫เลเยอร์ทั้งหมดและรูปภาพของคุณอาจหายไป
‫ฉันไม่เห็นพวกเขามากนักในป่าเพราะฉันไม่ได้ทำงานกับ
‫Google และ Netflix และทีมงานขนาดใหญ่ที่มีความเป็นมืออาชีพในเรื่องนี้
‫เหตุผลสองประการที่นี่คือ หนึ่ง คุณต้องมีภาษาที่สนับสนุน
‫และคุณต้องมีทีมที่เข้าใจวิธีสร้างสิ่งเหล่านี้อย่างเหมาะสม
‫จากนั้น คุณต้องเก่งในการแก้ไขปัญหาและวิธีการทำงานของคอนเทนเนอร์ในเนมสเปซ
‫เนื่องจากนาทีที่อิมเมจแบบ distroless ทำงานในคอนเทนเนอร์
‫และคุณมีปัญหา คุณไม่สามารถแม้แต่จะเชลล์เข้าไปข้างใน
‫ไม่มีเปลือก คุณไม่สามารถเข้าไปได้
‫คุณไม่สามารถดูมัน ดังนั้น ตอนนี้เครื่องมือของคุณมีจำกัด
‫และคุณต้องเริ่มมองหาวิธีอื่นๆ ในการเชื่อมต่อเครื่องมือของคุณเข้ากับคอนเทนเนอร์เหล่านั้น
‫ที่มีอยู่. มีสิ่งเหล่านั้นที่จะทำเพื่อคุณ
‫แต่ส่วนใหญ่ขึ้นอยู่กับทักษะของคุณในแง่ของวิธีจัดการกับเนมสเปซของคุณ
‫คุณจะกระโดดเข้ามาในฐานะรถไซด์คาร์ในคอนเทนเนอร์ที่กำลังทำงานอยู่ในเนมสเปซจากบรรทัดคำสั่งโดยไม่ต้องใช้
‫Docker ได้อย่างไร
‫นี่เป็นปัญหาประเภทหนึ่งที่คืบคลานเข้ามาเมื่อคุณต้องรับมือกับการแก้ไขปัญหาหรือการตรวจสอบและบำรุงรักษาระบบเมื่อคุณมีอิมเมจแบบ
‫distroless
‫สำหรับทุกคนที่ฉันทำงานด้วยนั้นเริ่มต้นด้วยคอนเทนเนอร์
‫สองโครงการแรกของพวกเขาในคอนเทนเนอร์
‫ฉันไม่พูดถึงสิ่งนี้เพราะขนาดเป็นเพียงขนาด
‫คุณสามารถเพิ่มพื้นที่ดิสก์ให้กับเซิร์ฟเวอร์ได้ตลอดเวลาใช่ไหม
‫ไม่มีเหตุผลที่จะทำให้ทั้งทีมต้องเรียนรู้เกี่ยวกับเครื่องมือและสิ่งต่างๆ
‫ใหม่ๆ เพียงเพื่อที่คุณจะได้ใช้พื้นที่ดิสก์น้อยลงบนเซิร์ฟเวอร์
‫ส่วนตัวผมไม่ค่อยสนใจเรื่องขนาด
‫ความปลอดภัยเป็นเรื่องทางทฤษฎี
‫ตามทฤษฎีแล้ว การนำสิ่งเหล่านั้นออกจากอิมเมจคอนเทนเนอร์อาจทำให้ปลอดภัยยิ่งขึ้น
‫มาคุยกันเรื่องป่ากันเถอะ
‫มีคนมีโอกาสยุ่งกับเครื่องมืออื่น ๆ ในคอนเทนเนอร์ของคุณนอกแอพของคุณกี่ครั้ง?
‫สมมติว่า
‫cURL มีช่องโหว่อยู่ แต่แอปของคุณไม่ได้ใช้ cURL
‫มันเกิดขึ้นเพียงแค่ในภาพ
‫ใครบางคนจะเข้าถึงสิ่งนั้นได้อย่างไร?
‫พวกเขาจะต้องทำลายแอปของคุณ
‫ดังนั้น แอปของคุณต้องมีช่องโหว่
‫ตามทฤษฎีแล้ว พวกเขาสามารถรันคำสั่ง cURL
‫ในคอนเทนเนอร์ได้ นั่นคือสิ่งที่เป็นเรื่องเกี่ยวกับ
‫distroless คือโบนัสความปลอดภัยทางทฤษฎีที่ไม่รวมถึงแอปพลิเคชันอื่น
‫ๆ
‫ความจริงก็คือ เมื่อคุณสร้างไบนารีแบบสแตติก
‫คุณได้รวมไลบรารีเหล่านั้นจำนวนมากที่อาจมีความเสี่ยง
‫เช่น SSL แบบเปิด ซึ่งเป็นวิธีทั่วไปในการเชื่อมต่อแอปพลิเคชันที่มีการรักษาความปลอดภัย SSL ใช่ไหม
‫หากมีช่องโหว่ และคุณสร้างมันลงในแอปของคุณแบบสแตติก
‫มันก็ยังคงอยู่ที่นั่น
‫ไม่ใช่ไฟล์แยกต่างหากในคอนเทนเนอร์
‫อยู่ในแอปของคุณในไบนารีเดียว
‫อันที่จริง มันทำให้การสแกนความปลอดภัยยากขึ้น
‫เพราะตอนนี้สแกนเนอร์ทุกตัวที่ฉันรู้จักจะไม่จับไบนารี
‫SSL แบบเปิดนั้นหากมีอยู่ภายใน
‫ดังนั้น สิ่งนี้หลายๆ อย่างจึงเป็นทฤษฎี
‫ฉันไม่มีแนวโน้มที่จะผลักดันทีมไปสู่คุณลักษณะด้านความปลอดภัยตามทฤษฎี
‫ฉันมองดูสิ่งที่เกิดขึ้นในป่ามากขึ้นใช่ไหม
‫Docker daemons กำลังถูกเปิดเผย
‫Kubernetes ไม่มีการตรวจสอบสิทธิ์ที่เหมาะสม
‫ดังนั้นจึงถูกเปิดเผย นี่คือปัญหาจริงๆ ที่ผมเห็นคือ
‫สิ่งที่เน้นคือสิ่งที่เราได้ยินบ่อยๆ ในข่าวที่ผู้คนกำลังถูกแฮ็ก
‫ใช่ไหม
‫สิ่งนี้มีความปลอดภัยตามทฤษฎีในการลบไฟล์ออกจากรูปภาพ
‫นั่นเป็นเพียงมากกว่าในขอบเขตทางทฤษฎี
‫ไม่ใช่เหตุผลที่จะไม่ทำ
‫เช่นเดียวกับรายการนี้ ทุกสิ่งทุกอย่างในรายการนี้
‫ฉันจะทำก่อนที่ฉันจะเริ่มลงถนนที่ยาก
‫ฉันคิดว่าภาพที่ปราศจากการกระจัดกระจายค่อนข้างยาก
‫เว้นแต่คุณจะเป็นโปรแกรมเมอร์ Go อยู่แล้ว
‫และทั้งทีมของคุณก็เก่งเรื่องเนมสเปซ และคำสั่ง Docker และอะไรทำนองนั้น
‫ฉันไม่ได้หมายถึงคำสั่ง Docker ปกติเท่านั้น
‫ฉันหมายถึงสิ่งที่ซับซ้อนที่ช่วยคุณแก้ปัญหาคอนเทนเนอร์ที่ไม่มีเชลล์ในตัว
‫เป็นต้น
‫ดังนั้นจึงเป็นคำถามที่ดี
‫มันขึ้นมาตลอดเวลา
‫ทุกคนถามฉันเกี่ยวกับเรื่องนี้เมื่อเรามีการอภิปรายด้านความปลอดภัยเนื่องจากเป็นหัวข้อยอดนิยม
‫แต่ยังไม่ถึงสิบอันดับแรกของฉัน
‫ฉันหวังว่าจะช่วย