Saya membaca atau mendengar di suatu tempat (mungkin dalam kursus SELinux LinuxCBT ; tetapi saya tidak yakin) bahwa ada server Linux online, yang juga diberikan kata sandi pengguna root. Server Linux diperkeras menggunakan aturan SELinux, sehingga setiap orang dapat login dengan pengguna root, tetapi tidak dapat membahayakan OS.
Tampaknya seperti mitos bagi saya, tetapi saya ingin memastikan: Apakah mungkin untuk mengeraskan kotak Linux (mungkin dengan SELinux), sehingga bahkan pengguna root tidak dapat melakukan kegiatan jahat tertentu di atasnya? (Contoh: menghapus file sistem, menghapus file log, menghentikan layanan penting, dll.)
Kotak Linux semacam itu akan menjadi titik awal yang bagus untuk membangun honeypot .
Sunting: Berdasarkan jawaban (sekarang dihapus), dan sedikit Googling, saya mendapatkan setidaknya dua tautan yang menunjuk ke server Linux yang mengeras. Sayangnya, kedua server sedang down. Sebagai catatan, saya akan menyalin-tempel deskripsi di sini:
1) Dari http://www.coker.com.au/selinux/play.html :
Akses root gratis pada mesin Linux SE!
Untuk mengakses mesin bermain Debian saya ssh untuk bermain.coker.com.au sebagai root, kata sandinya adalah ...
Perhatikan bahwa mesin seperti itu membutuhkan banyak keterampilan jika Anda ingin menjalankannya dengan sukses. Jika Anda harus bertanya apakah Anda harus menjalankannya maka jawabannya adalah "tidak".
Tujuan dari ini adalah untuk menunjukkan bahwa semua keamanan yang diperlukan dapat disediakan oleh SE Linux tanpa izin Unix (namun masih disarankan agar Anda menggunakan izin Unix juga untuk server nyata). Juga memberi Anda kesempatan untuk masuk ke mesin SE dan melihat seperti apa rasanya.
Saat Anda masuk ke mesin SE Linux play, pastikan Anda menggunakan opsi -x untuk menonaktifkan penerusan X11 atau menyetel ForwardX11 no di file / etc / ssh / ssh_config Anda sebelum Anda masuk. Juga pastikan bahwa Anda menggunakan opsi -a untuk menonaktifkan penerusan ssh agent atau menyetel ForwardAgent no di file / etc / ssh / ssh_config Anda sebelum Anda masuk. Jika Anda tidak menonaktifkan pengaturan ini dengan benar maka masuk ke mesin bermain akan membuat Anda berisiko diserang melalui klien SSH Anda.
Ada saluran IRC untuk membahas hal ini, yaitu #selinux di irc.freenode.net .
Berikut ini adalah FAQ cepat
2) Dari http://www.osnews.com/comments/3731
Tujuan Hardened Gentoo adalah menjadikan Gentoo layak untuk keamanan tinggi, lingkungan server produksi dengan stabilitas tinggi. Proyek ini bukan proyek mandiri yang terpisah dari Gentoo; itu dimaksudkan untuk menjadi tim pengembang Gentoo yang berfokus untuk memberikan solusi kepada Gentoo yang memberikan keamanan dan stabilitas yang kuat. Mesin ini adalah mesin demo SELinux Hardened Gentoo . Penggunaan utamanya adalah untuk menguji dan mengaudit integrasi, dan kebijakan SELinux.
sumber
Jawaban:
Kenyataan: ya, SELinux dapat membatasi pengguna root.
Ini dimungkinkan karena SELinux tidak benar-benar peduli tentang pengguna Unix saat ini: semua yang dilihatnya adalah metadata tambahan yang disebut konteks (yang mencakup, di antara bidang lain, bidang domain ) dan yang memungkinkan SELinux memutuskan apakah tindakan yang diminta dapat disahkan atau tidak.
Apa yang biasanya dipahami sebagai pengguna root akan dipetakan di SELinux sebagai pengguna Unix root yang menjalankan domain
unconfined_t
atausysadm_t
SELinux. Ini adalah pengguna root mahakuasa klasik berkekuatan penuh.Namun, seseorang dapat dengan sempurna mengatur sistemnya untuk menelurkan shell root (maksud saya root Unix shell pengguna) menjalankan
user_t
domain SELinux pengguna terbatas . Sesuai kebijakan SELinux, shell seperti itu tidak akan berbeda dari shell pengguna terbatas lainnya dan tidak akan memiliki hak istimewa pada sistem, sehingga secara efektif membatasi pengguna root.Appart dari sudut pandang eksperimental, melakukan hal seperti itu secara harfiah tidak ada gunanya, namun praktik serupa menemukan jalan mereka di dunia nyata. Contoh klasik adalah administrator basis data yang harus dapat menghentikan / memulai daemon basis data, mengedit file konfigurasi, dll. Tanpa SELinux, semua tindakan ini akan mengharuskan pengguna untuk meningkat ke arah privilege root (bahkan jika itu biasanya untuk satu baris perintah melalui
sudo
alat misalnya, namun bahkan itu mungkin rentan terhadap kebocoran).Berkat SELinux, kami dapat memberikan pengguna ini shell root asli, tetapi alih-alih menjalankan
unconfined_t
atausysadm_t
domain itu akan menjalankandbadm_t
domain. Ini berarti bahwa ia akan memiliki lebih banyak hak istimewa daripada pengguna terbatas, tetapi hak-hak baru ini akan terbatas pada apa yang diperlukan untuk mengelola server basis data: pengguna ini tidak akan dapat mengutak-atik layanan lain, file atau menjalankan perintah administratif lain daripada yang sangat dituntut untuk melakukan pekerjaannya.Dengan cara yang sama, server web dan administrator layanan lain juga dapat memiliki shell root lain yang berjalan secara paralel pada sistem yang sama, setiap orang akan melihat pengguna Unix mereka saat ini menjadi root , tetapi berkat SELinux masing-masing akan memiliki hak istimewa yang berbeda secara efektif terbatas pada apa diperlukan untuk keperluan mereka sendiri .
sumber
Iya itu mungkin. Tapi tidak terlalu berguna.
Anda secara teoritis dapat melarang pengguna root dari menjalankan binari yang dapat digunakan untuk tujuan jahat, menegakkan kebijakan melalui sesuatu seperti SELinux. Namun, ini menghadirkan masalah, yaitu bahwa bahkan jika pengguna root pada awalnya dilarang melakukan sesuatu, ia hanya bisa menggunakan metode lain untuk mengubah atau menghapus kebijakan SELinux. Karena masalah ini, Anda harus secara efektif melarang pengguna root dari melakukan tindakan apa pun, membuatnya tidak terlalu berguna.
sumber
Ini mungkin terdengar murah, tetapi mudah: ubah uid dari root pengguna menjadi non-nol. Cukup masuk ke / etc / passwd dan / etc / shadow, modifikasi entri uid = 0 yang ada dari "root" ke sesuatu yang lain, dan kemudian tambahkan akun bernama "root" yang usidnya bukan nol dan tidak digunakan.
Itu mencapai tujuan tanpa. Ini juga cara untuk mengklaim bahwa siapa pun mungkin memiliki "akses root" tanpa benar-benar memberikan hak istimewa yang ditingkatkan.
sumber
root
pengguna sebenarnya bukan pengguna root. Pertanyaannya adalah bertanya apakah pengguna super yang sebenarnya dapat dibatasi sedemikian rupa.root
dapat dibatasi sedemikian rupa.