SELinux ทำให้ Redhat ปลอดภัยยิ่งขึ้นหรือไม่


10

SELinux ทำให้ Redhat ปลอดภัยยิ่งขึ้นหรือไม่

ฉันจำไม่ได้ว่าจำนวนครั้งที่ฉันปิดการใช้งาน SELinux เพราะมันทำให้ฉันไม่สามารถทำงานได้ หลายครั้งที่ไม่มีเหตุผลที่ชัดเจนว่าทำไมสิ่งต่าง ๆ ไม่ทำงานและฉันต้องไปที่ Google เพื่อค้นหาว่าทำไม

ระบุว่าผู้ใช้ที่ไม่เป็นทางการส่วนใหญ่จะปิดหรือลดความปลอดภัยลงเมื่อดูเหมือนจะเข้ามาขวางกั้นผู้ใช้ที่จริงจังจริงจังผู้ใช้ Redhat, SELinux มีประโยชน์จริงหรือไม่

PS มีเครื่องมือบางอย่างที่ช่วยให้คุณบันทึกติดตามและจัดการปัญหา SELinux ในทุกแอปพลิเคชันหรือไม่

คำตอบ:


9

ใช่ Selinux ทำให้ระบบปลอดภัยยิ่งขึ้น แต่คุณจะต้องยกเลิกแนวคิดและมีความรู้พื้นฐานอย่างน้อยเกี่ยวกับ selinux และเครื่องมือตรวจสอบ

Selinux กำลังเข้าสู่ /var/log/audit/audit.log (แต่ตรวจสอบให้แน่ใจว่า auditd กำลังทำงานอยู่) และมีเครื่องมือจำนวนมากในการแก้ปัญหา selinux วิธีที่ง่ายที่สุดน่าจะใช้คือaudit2allow


17

ใช่ 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 วันที่ต้องการจริงๆ หากคุณสามารถใช้มันทำไมคุณจะไม่


3

ฉันคิดว่า SELinux เพิ่งขยายระบบการอนุญาตแบบดั้งเดิมโดยการแนะนำการตั้งค่าแบบขยายผ่านการอนุญาต มันทำให้ระบบของคุณปลอดภัยยิ่งขึ้นหรือไม่? ฉันคิดว่ามันขึ้นอยู่กับวิธีที่คุณใช้ SELinux ในแอปพลิเคชันของคุณ นอกจากนี้ฉันไม่เก่งใน SELinux แต่การกำหนดค่าต้องการความรู้เพิ่มเติมเกี่ยวกับข้อ จำกัด ที่สามารถให้คุณได้ แต่มันยังแนะนำปัญหามากมายที่คุณต้องทำการตรวจสอบด้วยตนเองเพื่อเอาชนะ


1
SELinux ทำอะไรได้มากกว่าเพียงแค่ขยายสิทธิ์ POSIX ดั้งเดิม ตัวอย่างเช่น SELinux สามารถ จำกัด การเข้าถึงพอร์ตเครือข่ายบางอย่างได้
wzzrd

3

มีแพ็คเกจที่ช่วยให้ผู้ใช้พบปัญหาที่เกิดจาก SELinux ชื่อ setroubleshoot ติดตั้งตั้งให้ทำงานเมื่อเริ่มต้น จากนั้นเมื่อคุณได้รับการปฏิเสธ SELinux /var/log/messagesก็จะถูกบันทึกไว้ใน หากคุณลงชื่อเข้าใช้ GUI ด้วยคุณจะได้รับการแจ้งเตือน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.