ใช่ SELinux ทำให้ Red Hat (และการกระจาย Linux อื่น ๆ ที่ใช้งานจริง) ปลอดภัยยิ่งขึ้นโดยสมมติว่าใช้งานจริง
SELinux การดำเนินการควบคุมการเข้าถึงบังคับ สิทธิ์ปกติ Unix, ACL ของ ฯลฯ ดำเนินการควบคุมการเข้าถึงการตัดสินใจ ทั้งสองช่วยเติมเต็มซึ่งกันและกัน
เพื่อให้สามารถทำงานได้ SELinux จำเป็นต้องมีนโยบายกำหนดว่าการกระทำใดในระบบอาจได้รับอนุญาต ในขณะที่มันเป็นไปได้ในการสร้างนโยบายของระบบทั้งจากรอยขีดข่วน, ลินุกซ์ส่วนใหญ่จัดส่งนโยบายขึ้นอยู่กับสิ่งที่เรียกว่านโยบายการอ้างอิง ซึ่งหมายความว่าเหนือสิ่งอื่นใดการกำหนดค่า SELinux ข้ามการแจกแจงจะคล้ายคลึงกันมาก (การแจกแจง Linux ส่วนใหญ่ทำให้นโยบายการอ้างอิงของ SELinux พร้อมใช้งานในที่เก็บของแพ็คเกจแม้ว่าอาจไม่ได้ติดตั้งตามค่าเริ่มต้น)
SELinux ทำงานโดยการ จำกัด ผู้ใช้และกระบวนการเพื่อดำเนินการเฉพาะการกระทำที่ได้รับอนุญาตในนโยบาย โดยค่าเริ่มต้นนโยบายคือการปฏิเสธดังนั้นหากนโยบายไม่อนุญาตการกระทำอย่างชัดเจนนโยบายจะไม่เกิดขึ้น นี่คือสาเหตุที่คุณมักประสบปัญหากับ SELinux ไม่อนุญาตให้บางสิ่งที่คุณพยายามทำ
ในด้านที่สว่างไสวสิ่งนี้ยังช่วยป้องกันการเอารัดเอาเปรียบแม้กระทั่งการหาประโยชน์ 0 วันจากการออกไปจากมือ ตัวอย่างเช่นหากเว็บเซิร์ฟเวอร์ของคุณ (Apache) ถูกโจมตีความเสียหายนั้น จำกัด เฉพาะสิ่งที่ Apache สามารถเข้าถึงได้เท่านั้น มันจะไม่สามารถอ่าน/etc/shadow
ไฟล์ของคุณได้แม้ว่าจะใช้ประโยชน์จาก root จากระยะไกลก็ตาม ในขณะที่สิทธิ์ Unix (DAC) อนุญาตให้รูทอ่านไฟล์ SELinux (MAC) จะไม่อนุญาตให้กระบวนการที่ถูกบุกรุกก้าวออกจากขอบเขต
gotcha ขนาดใหญ่คือจะต้องมีโมดูลนโยบาย SELinux ที่โหลดสำหรับบริการ หากคุณติดตั้งบริการลงในกล่องซึ่งไม่มีโมดูลนโยบายของ SELinux บริการดังกล่าวจะทำงานโดยไม่มีการกำหนดค่าและสามารถทำสิ่งที่ต้องการได้ SELinux จะไม่ใช้กับมัน
อีกสิ่งที่คุณควรรู้คือเกี่ยวกับบูลีน พารามิเตอร์ที่ปรับค่าได้เหล่านี้จัดทำโดยนโยบาย SELinux เพื่อกำหนดค่าเองสำหรับการติดตั้งเฉพาะและอนุญาตหรือปฏิเสธการเข้าถึงตามความต้องการของการกำหนดค่าท้องถิ่น ตัวอย่างเช่นคุณสามารถให้สิทธิ์การเข้าถึง Apache แก่ Samba เพื่อเปิดใช้งาน Samba เพื่อแบ่งปันไดเรกทอรีบ้านของผู้ใช้และสิ่งที่อาจเป็นประโยชน์อื่น ๆ อีกมากมายที่จำเป็นสำหรับการตั้งค่าบางอย่าง แต่ไม่ใช่อื่น ๆ
แนวทางที่ดีที่สุดที่จะ SELinux ที่ผมเคยเห็นในปัจจุบันคือหมวกสีแดงของการรักษาความปลอดภัยที่เพิ่มขึ้นคู่มือผู้ใช้ลินุกซ์ มันจะช่วยให้คุณตื่นขึ้นและทำงานได้อย่างรวดเร็วรวมทั้งกรอกรายละเอียดเบื้องหลังของสิ่งที่เกิดขึ้น นอกจากนี้ยังมีคู่มือการแก้ไขปัญหาที่ครอบคลุมซึ่งจะช่วยให้กระบวนการทำงานของคุณภายใต้ SELinux
มันมีประโยชน์หรือไม่
SELinux ป้องกันกระบวนการ (และผู้ใช้หากคุณ จำกัด ผู้ใช้) ทำสิ่งที่ไม่คาดคิด มันจำกัดความเสียหายอย่างรุนแรงที่สามารถใช้ประโยชน์จากระยะไกลได้ หากคุณไม่เคยได้รับการประนีประนอมจากระยะไกลคุณเป็น (1) โชคดีและ (2) อาจเป็นคนใหม่ ถ้าคุณได้ทำงานประนีประนอมระยะไกลคุณอย่างแน่นอนไม่อยากให้มันเคยเกิดขึ้นอีกครั้ง
มันไม่มีประโยชน์ในการตั้งค่าบ้านเว้นแต่ว่าคุณกำลังใช้บริการอินเทอร์เน็ตที่บ้าน (และบางคนทำ) ในกรณีนั้นทุกอย่างที่กล่าวไว้ข้างต้นมีผลบังคับใช้
SELinux อาจเป็นสิ่งสุดท้ายที่อยู่ระหว่างข้อมูลของคุณและผู้โจมตีด้วยการเอาเปรียบแบบ 0 วันที่ต้องการจริงๆ หากคุณสามารถใช้มันทำไมคุณจะไม่