SELinux กับ AppArmor vs. grsecurity [ปิด]


14

ฉันต้องตั้งค่าเซิร์ฟเวอร์ที่ปลอดภัยที่สุดเท่าที่จะเป็นไปได้ คุณต้องการใช้การปรับปรุงด้านความปลอดภัยใดและทำไม SELinux, AppArmor หรือ grsecurity คุณสามารถให้คำแนะนำคำแนะนำข้อดี / ข้อเสียสำหรับฉันได้ไหม

AFAIK:

  • SELinux: ทรงพลังที่สุด แต่ซับซ้อนที่สุด
  • AppArmor: การกำหนดค่า / การจัดการที่ง่ายกว่า SELinux
  • grsecurity: การกำหนดค่าอย่างง่าย ๆ เนื่องจากการฝึกอบรมอัตโนมัติคุณสมบัติมากกว่าการควบคุมการเข้าถึง

"เซิร์ฟเวอร์" เพื่อให้บริการประเภทใด สำหรับผู้ชมในสภาพแวดล้อมใด สิ่งใดที่ถือว่า "ปลอดภัย" สำหรับคุณในบริบทนี้ จำเป็นต้องให้ข้อมูลมากขึ้นเพื่อให้คำตอบที่เป็นประโยชน์ ตัวอย่างเช่นเซิร์ฟเวอร์ IP หมดเวลาประจำวันที่มีความปลอดภัยสูง - เฟิร์มแวร์ ROM ทั้งหมด, อินพุตวิทยุ, พลังงานแบตเตอรี่ในตัวเองพร้อมการชาร์จอัตโนมัติ แต่นั่นอาจไม่ใช่คำตอบที่มีประโยชน์สำหรับคุณ ดังนั้นบริการแบบไหน ทั้งอินเทอร์เน็ตองค์กรที่มีทีมงานที่เชื่อถือได้การเชื่อมต่อเครือข่ายแบบจุดต่อจุดโดยเฉพาะเป็นต้น? ความพร้อมใช้งานสูงเป็นสิ่งจำเป็นหรือไม่? ความน่าเชื่อถือ? ความสมบูรณ์ของข้อมูล? การควบคุมการเข้าถึง? ให้
mpez0

คำตอบ:


7

ฉันได้ทำการวิจัยมากมายในด้านนี้ ฉันได้ใช้ประโยชน์แม้rulesets AppArmor สำหรับ MySQL AppArmor เป็นรูปแบบที่อ่อนแอที่สุดของการแยกกระบวนการ /tmp/ทรัพย์สินที่ฉันใช้ประโยชน์คือว่ากระบวนการทั้งหมดที่มีสิทธิ์เขียนบางส่วนของไดเรกทอรีเดียวกันเช่น สิ่งที่ดีเกี่ยวกับ AppArmor คือมันเป็นการทำลายช่องโหว่บางอย่างโดยไม่ได้รับความเห็นชอบจากผู้ใช้ / ผู้ดูแลระบบ อย่างไรก็ตาม AppArmor มีข้อบกพร่องพื้นฐานบางประการที่จะไม่ได้รับการแก้ไขได้ตลอดเวลาในไม่ช้า

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

grsecurity เป็นชุดเครื่องมือที่มีขนาดใหญ่มาก คนที่ฉันชอบมากที่สุดคือ chroot ที่ปรับปรุงแล้วของ grsecuirty นี่คือความปลอดภัยที่มากกว่าเดิมของ SELinux ถึงแม้ว่ามันจะต้องใช้ทักษะและเวลาในการติดตั้ง chroot jail ซึ่งเป็น SELinux และ AppAprmor "เพียงแค่ใช้งาน"

มีระบบที่ 4 คือ Virtual Machine พบช่องโหว่ในสภาพแวดล้อมของ VM ที่สามารถอนุญาตให้ผู้โจมตี "แตกออก" อย่างไรก็ตาม VM มีการแยกที่ยิ่งใหญ่กว่า chroot เนื่องจากใน VM คุณกำลังแบ่งปันทรัพยากรน้อยลงระหว่างกระบวนการ ทรัพยากรที่มีให้กับ VM เป็นเสมือนจริงและอาจมีการเหลื่อมกันเล็กน้อยหรือไม่มีเลยระหว่าง VM อื่น ๆ นอกจากนี้ยังเกี่ยวข้องกับ<buzzword>" คอมพิวเตอร์เมฆ</buzzword> " ในสภาพแวดล้อมแบบคลาวด์คุณสามารถแยกได้อย่างชัดเจนระหว่างฐานข้อมูลและเว็บแอปพลิเคชันซึ่งมีความสำคัญต่อความปลอดภัย อาจเป็นไปได้ว่า 1 ช่องโหว่นั้นสามารถเป็นเจ้าของคลาวด์ทั้งหมดและ VM ทั้งหมดทำงานอยู่


แทน<buzzword>แท็กที่คุณสามารถเขียน "ก้นของฉัน" ทุกคนจะรู้ว่าคุณหมายถึงอะไร)
Daniel Dinnyes

โดย VM คุณหมายถึง Xen, KVM หรือ LXC / Docker หรือไม่ นอกจากนี้โปรดอ้างอิงการประเมินของคุณ
Daniel Dinnyes

1
@Daniel Dinnyes ไม่มีการอ้างอิงที่นี่นี่เป็นความเห็นส่วนตัวในฐานะแฮ็กเกอร์ที่โจมตีแอปพลิเคชั่นที่ทันสมัยซึ่งได้รับการปกป้องด้วยเทคนิคการลดผลกระทบเหล่านี้
โกง

1
@Daniel Dinnyes หากคุณสนใจในการใช้งานในทางที่ผิดให้เริ่มต้นด้วยการใช้งานที่ตั้งใจ ติดตั้ง distros ที่ใช้เทคโนโลยีเหล่านี้และปรับใช้แอพในนั้น อ่านเกี่ยวกับการปรับใช้และกำหนดค่าระบบความปลอดภัยเหล่านี้แล้วมองหาจุดอ่อน
โกง

1
@Daniel Dinnyes ดู CVE ที่ออกและโดยเฉพาะอย่างยิ่งการหาประโยชน์สาธารณะสำหรับแต่ละแพลตฟอร์ม พบว่ามีการเลี่ยงผ่านของ SELinux ที่ดีมากเมื่อเร็ว ๆ นี้: exploit-db.com/exploits/40419
Rook

1

โดยส่วนตัวแล้วฉันจะใช้ SELinux เพราะฉันจะจบลงที่การกำหนดเป้าหมายรสชาติของ RHEL ซึ่งตั้งค่าไว้ในส่วนนี้ นอกจากนี้ยังมีชุดบำรุงรักษาที่ตอบสนองได้ที่ Red Hat และเอกสารที่ดีมากมายเกี่ยวกับการกำหนดค่า SELinux ลิงค์ที่มีประโยชน์ด้านล่าง


ใช่ แต่ yum และ selinux น่ารำคาญมาก
โกง

1
ฉันพบว่า CLI ของ yum นั้นเข้าใจง่ายกว่าฉลาดมาก SELinux น่ารำคาญเมื่อคุณพยายามใช้แอพที่ไม่ใช่สต็อค แต่ฉันไม่เคยมีปัญหาเกี่ยวกับสต็อคเกินกว่าที่จำเป็นต้องเปิด sebool เพื่อเปิดใช้งานการทำงานที่ไม่ใช่ค่าเริ่มต้น (เช่นให้สคริปต์ httpd php เชื่อมต่อ ไปยังฐานข้อมูล)
Ophidian
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.