Mengapa kita membutuhkan SELinux?

14

Saya tidak bisa mendapatkan banyak ide di mana SELinux telah digunakan dan apa yang disimpannya dari penyerang. Saya telah melalui situs web SELinux dan membaca dasarnya tetapi masih belum mendapatkan petunjuk tentang SELinux. Untuk sistem Linux yang menyediakan shell SSH, front end Apache, aplikasi web berbasis peran, MySQL DB, memcached, hampir semua sistem dilindungi kata sandi, lalu mengapa kita perlu SELinux?

Krish
sumber

Jawaban:

14

Anda dapat melihat SELinux sebagai firewall sistem panggilan : Kebijakan untuk setiap aplikasi menentukan apa yang masuk akal untuk dilakukan aplikasi: Server nama dapat mendengarkan pada port 53, bekerja dengan beberapa file zona dalam direktori tertentu, mengirim syslog, .. ., tetapi tidak masuk akal untuk mencoba bekerja dengan file di / home, misalnya. Penegakan SELinux atas kebijakan seperti itu berarti bahwa akan jauh lebih sulit untuk kelemahan dalam server nama untuk menyebar ke bagian lain dari sistem.

Saya menemukan bahwa SELinux memberikan nilai keamanan nyata. Tetapi sementara itu tentu saja menjadi lebih mudah untuk dikerjakan selama bertahun-tahun, itu - sayangnya - masih merupakan sistem yang agak rumit. Hal yang baik adalah Anda dapat dengan mudah mematikannya untuk beberapa layanan, tanpa harus mematikannya untuk keseluruhan sistem. Terlalu banyak pergantian sysadmin (junior?) SELinux di seluruh papan, segera setelah mereka mengalami masalah sekecil apa pun dengan satu layanan - alih-alih secara selektif mematikannya untuk layanan yang menyebabkan masalah.

Troels Arvin
sumber
Penasaran: "mudah mematikannya untuk beberapa layanan" bagaimana?
Belmin Fernandez
man -k selinuxadalah tempat yang bagus untuk memulai. Biasanya, ada * _disable_trans sebools yang dapat diatur untuk menonaktifkan SELinux pada layanan tertentu.
jgoldschrafe
2
@ jgoldschrafe Dan begitulah "mudah" itu.
Jürgen A. Erhard
1
"Tidak masuk akal untuk mencoba bekerja dengan file di / home" - dan Anda tidak dapat membatasi akses server DNS ke file-file dengan izin?
symcbean
8

Tidak semua masalah keamanan dapat diprediksi sebelumnya. Jika seorang penyerang berhasil mengeksploitasi kelemahan dalam misalnya modul httpd pihak ketiga maka mereka memiliki akses ke file yang sama dengan yang dijalankan oleh pengguna httpd. SELinux lebih lanjut membatasi ini dengan membatasi mereka pada tindakan dan file konteks yang domain SELinux mereka memiliki akses.

Ignacio Vazquez-Abrams
sumber
2

Saya pikir istilah Kontrol Akses Wajib merangkum dengan cukup baik. SELinux memberi Anda sistem yang lebih aman melalui kernel yang lebih aman, sebagian besar karena implementasi MAC.

pengguna32302
sumber
2

SELinux melakukan pekerjaan yang baik dalam mengekspos kompleksitas belaka dari keseluruhan sistem Linux.
Aspek keamanan yang menarik adalah pertanyaan "apa yang dilakukannya?"
Nah jika itu berhasil Anda mungkin tidak akan pernah tahu. Jika Anda menjalankan server web dan itu baru saja begadang, maka Anda mungkin tidak tahu beberapa eksploitasi bahkan dicoba terhadap sistem Anda.
Sedangkan untuk perusahaan swasta, saya tidak tahu. Jika mereka membutuhkan integritas yang dibawa oleh SELinux, maka mereka harus melakukannya.
Adapun Pemerintah, ada sumber publik (daftar proyek pemerintah dan sejenisnya) yang tampaknya menunjukkan bahwa MAC sedang digunakan, dan mungkin sangat banyak. Sistem pemerintah, tergantung pada penyebaran dan informasi apa yang dimiliki sistem, harus memenuhi kriteria tertentu sebelum digunakan.
Pada akhirnya keamanan adalah manajemen risiko dan memilih tingkat upaya yang tepat.
Keamanan juga merupakan upaya berkelanjutan, bukan sesuatu yang Anda nyalakan.

Ansari
sumber