SELinux vs AppArmor vs. grsecurity [ditutup]

14

Saya harus mengatur server yang seaman mungkin. Peningkatan keamanan apa yang akan Anda gunakan dan mengapa, SELinux, AppArmor atau grsecurity? Bisakah Anda memberi saya beberapa tips, petunjuk, pro / kontra untuk ketiganya?

AFAIK:

  • SELinux: paling kuat tetapi paling kompleks
  • AppArmor: konfigurasi / manajemen yang lebih sederhana daripada SELinux
  • grsecurity: konfigurasi sederhana karena pelatihan otomatis, lebih banyak fitur dari sekadar kontrol akses

sumber
"Server" untuk menyediakan layanan seperti apa? Untuk audiens apa, di lingkungan apa? Apa yang dimaksud "aman" bagi Anda dalam konteks ini? Banyak informasi lebih lanjut diperlukan untuk memberikan jawaban yang bermanfaat. Misalnya, server IP Time-of-Day murni dapat sangat aman - semua firmware ROM, radio imput, daya baterai mandiri dengan pengisian otomatis. Tapi itu mungkin bukan jawaban yang berguna untuk Anda. Jadi, layanan seperti apa? Luas Internet, lebar perusahaan, tim kerja tepercaya, jaringan titik-ke-titik khusus, dll.? Apakah ketersediaan tinggi dibutuhkan? Keandalan? Integritas data? Kontrol akses? Give
mpez0

Jawaban:

7

Saya telah melakukan banyak penelitian di bidang ini. Saya bahkan telah mengeksploitasi aturan AppArmor untuk MySQL . AppArmor adalah bentuk proses pemisahan terlemah. Properti yang saya eksploitasi adalah bahwa semua proses memiliki hak istimewa menulis ke beberapa direktori yang sama seperti /tmp/. Apa yang baik tentang AppArmor adalah ia merusak beberapa eksploitasi tanpa mengganggu pengguna / administrator. Namun AppArmor memiliki beberapa kelemahan mendasar yang tidak akan diperbaiki dalam waktu dekat.

SELinux sangat aman, juga sangat mengganggu. Tidak seperti AppAmoror, sebagian besar aplikasi yang sah tidak akan berjalan sampai SELinux telah dikonfigurasi ulang. Paling sering ini menghasilkan kesalahan konfigurasi administrator SELinux atau menonaktifkan semuanya bersamaan.

grsecurity adalah paket alat yang sangat besar. Yang paling saya sukai adalah chroot grsecuirty yang ditingkatkan. Ini bahkan lebih aman daripada SELinux, meskipun dibutuhkan beberapa keterampilan dan waktu untuk mengatur jail chroot di mana SELinux dan AppAprmor "hanya bekerja".

Ada sistem ke-4, Mesin Virtual. Kerentanan telah ditemukan di lingkungan VM yang memungkinkan penyerang untuk "keluar". Namun VM memiliki pemisahan yang lebih besar daripada chroot karena VM Anda berbagi sumber daya lebih sedikit antara proses. Sumber daya yang tersedia untuk VM adalah virtual, dan dapat memiliki sedikit atau tidak ada tumpang tindih antara VM lain. Ini juga berkaitan dengan <buzzword>" komputasi awan " </buzzword>. Dalam lingkungan cloud Anda bisa memiliki pemisahan yang sangat bersih antara database dan aplikasi web Anda, yang penting untuk keamanan. Mungkin juga 1 eksploit dapat memiliki seluruh cloud dan semua VM berjalan di atasnya.

Benteng
sumber
alih-alih <buzzword>tag Anda hanya dapat menulis "pantatku", semua orang akan tahu apa yang Anda maksud;)
Daniel Dinnyes
Maksud Anda Xen, KVM, atau LXC / Docker? Juga, silakan referensi evaluasi Anda.
Daniel Dinnyes
1
@Daniel Dinnyes tidak ada referensi di sini, ini semua pendapat pribadi sebagai seorang peretas yang menyerang aplikasi modern yang dilindungi dengan teknik mitigasi ini - yang paling penting adalah tidak ada yang sempurna.
Benteng
1
@Daniel Dinnyes Jika Anda tertarik dengan kasus penyalahgunaan, mulailah dengan kasus penggunaan yang dimaksud. Instal distro yang menggunakan teknologi ini, dan sebarkan aplikasi pada mereka. Baca tentang penggunaan dan konfigurasi sistem keamanan ini, dan kemudian cari kelemahannya.
Benteng
1
@Daniel Dinnyes melihat CVEs yang dikeluarkan dan terutama segala eksploitasi publik untuk setiap platform. Ada bypass SELinux yang benar-benar bagus yang ditemukan baru-baru ini: exploit-db.com/exploits/40419
Rook
1

Secara pribadi, saya akan menggunakan SELinux karena saya akhirnya menargetkan beberapa rasa RHEL yang sebagian besar sudah diatur di luar kotak ini. Ada juga satu set pengelola responsif di Red Hat dan banyak dokumentasi yang sangat bagus di luar sana tentang konfigurasi SELinux. Tautan yang bermanfaat di bawah ini.

Ophidian
sumber
ya tapi yum dan selinux sangat menyebalkan.
Benteng
1
Saya menemukan CLI yum secara signifikan lebih intuitif daripada apt. SELinux menjengkelkan ketika Anda mencoba mengikuti keinginan Anda sendiri dengan aplikasi non-stok, tetapi saya tidak pernah memiliki masalah dengan persediaan barang di luar perlu mengaktifkan beberapa sebool untuk mengaktifkan fungsi non-default (mis. Biarkan skrip http http php terhubung ke database)
Ophidian