Mengapa chroot dianggap tidak aman?

12

Saya telah bermain-main dengan kotak CentOS selama beberapa tahun sekarang. Jadi saya cukup nyaman dengan terminal. Namun, saya membaca banyak posting blog mengklaim bahwa chroot tidak aman dan jumlah posting itu menakutkan. Benarkah begitu? Mengapa?

Saya menggunakan chroot untuk mengunci pengguna SFTP-only dalam konteks tertentu, tanpa shell atau perintah sama sekali. Jadi sungguh, apa masalah keamanan dengan itu?

Pertanyaan diasingkan dari StackOverflow .

Aleksandr Makov
sumber
1
Pertama: Pertanyaannya belum ditutup / dimigrasikan di Stack Overflow , tetapi jelas PL di sana. Tindakan yang sesuai adalah menunggu sampai dimigrasikan atau menandai dan meminta mod untuk melakukannya, bukan mem-posting silang di situs lain. Tetapi kedua: Jika Anda "bermain-main dengan CentOS", Anda juga salah di sini. Situs ini untuk administrator sistem profesional, bukan penggemar - silakan lihat FAQ kami .
Sven
2
@VenW terima kasih, saya akan mengingat tip Anda untuk masa depan. Dan tentang 'kedua', well, maaf, tapi saya tidak melihat bagaimana pertanyaan saya melanggar FAQ. Setelah membacanya dua kali sekarang, saya dapat mengatakan tidak. Pada ungkapan "bermain-main dengan CentOS", well, saya pikir cukup jelas bahwa pengguna chroot dan SFTP-saja dan sedang dipertimbangkan tentang keamanan adalah topik yang sangat serius yang dapat dimanfaatkan oleh para profesional juga di perusahaan mereka atau di perusahaan lain " lingkungan "profesional.
Aleksandr Makov
1
@ bahkan jika Anda tidak tahu, SF telah dihapus dari daftar migrasi SO karena banyaknya pertanyaan buruk yang mereka kirimkan kepada kami.
MDMarra

Jawaban:

9

Karena, dalam banyak kasus, proses root dapat dengan mudah keluar dari chroot. Ini dirancang, karena chroot tidak pernah dimaksudkan sebagai perangkat keamanan.

Alan Cox dengan agak terkenal memarahi pengembang yang mengirimkan tambalan kernel untuk "memperbaiki" perilaku ini, mengklaim bahwa chroot telah disalahgunakan sebagai perangkat keamanan, tetapi tidak pernah dimaksudkan untuk menjadi salah satunya.

MDMarra
sumber
Sempurna! Terima kasih banyak. Jadi ini adalah masalah proses root yang ada di root atau dapat diakses darinya. Terima kasih.
Aleksandr Makov
Saya baru saja memverifikasi bahwa dengan menjalankan program C yang ditampilkan di unixwiz.net/techtips/mirror/chroot-break.html sebagai root di Linux 4.18 dimungkinkan untuk keluar dari chroot.
Poin
Jadi jangan membagikan hak root. Bahkan sistem "aman" reguler memiliki akun root.
Cees Timmerman
6

Saya tahu setidaknya satu contoh mengapa itu dianggap tidak aman. Lingkungan chroot /proctidak terisolasi, jadi cukup mudah untuk mengakses sumber daya yang tidak dimiliki oleh proses yang dimulai di chroot Anda.

Menggunakan lingkungan chroot untuk SFTP baik-baik saja dan meningkatkan tingkat keamanan secara signifikan. Hanya saja, jangan menyalahgunakannya sebagai virtualisasi berbasis wadah, yang memang memberikan lebih banyak tingkat keamanan. Dalam hal ini, saya menggarisbawahi apa yang ada dalam jawaban @ MDMarra.

gertvdijk
sumber
Terima kasih. Jadi sekarang menjadi lebih jelas, bahwa chroot itu sendiri tidak buruk pada keamanan melainkan keamanan itu tergantung pada lingkungan di mana ia diatur.
Aleksandr Makov
Sebenarnya, chroot tidak buruk dalam hal keamanan, karena itu tidak pernah dimaksudkan sebagai perangkat keamanan. Itu dimaksudkan sebagai alat pengembangan untuk menjalankan beberapa versi dari binari yang sama secara berdampingan dengan dependensi yang berbeda. Ini bukan pengganti layanan pengamanan yang benar - meskipun dapat membantu dalam situasi tertentu selama Anda memahami apa itu dan apa yang tidak.
MDMarra
MDMarra, jadi pada dasarnya, chroot tidak dimaksudkan untuk digunakan untuk menangkap koneksi SSH. Lalu, menurut Anda, apakah "chroot koneksi SSH yang masuk" terdengar agak tidak profesional untuk Anda dan haruskah itu dihindari?
Aleksandr Makov
Tidak, tidak harus, hanya menyadari bahwa setiap eksploitasi yang dapat menyebabkan peningkatan hak istimewa atau proses apa pun yang berjalan sebagai root di chroot akan sepele untuk keluar. Pasti bisa menjadi bagian dari teka-teki, tetapi seharusnya tidak menjadi keseluruhan.
MDMarra