Pendahuluan
Istilah penjara chroot tanggal sepanjang jalan kembali ke tahun 1992 dan sering digunakan hari ini. Tapi apa arti istilah ini, dan untuk apa operasi ini digunakan?
Dalam tutorial ini, kami akan membahas dasar-dasar penggunaan chroot jail dan menunjukkan cara menyiapkannya.
Prasyarat
- Sistem yang menjalankan sistem operasi Linux atau Unix
- Akun pengguna dengan hak istimewa tingkat sudo
- Akses ke terminal/baris perintah
Apa itu chroot jail?
Sebuah chroot (kependekan dari ubah root ) adalah operasi Unix yang mengubah direktori root yang terlihat menjadi direktori yang ditentukan oleh pengguna.
Setiap proses yang Anda jalankan setelah operasi chroot hanya memiliki akses ke direktori root yang baru ditentukan dan subdirektorinya. Operasi ini dalam bahasa sehari-hari dikenal sebagai penjara chroot karena proses ini tidak dapat membaca atau menulis di luar direktori root yang baru.
Untuk apa chroot jail Digunakan?
Penjara Chroot digunakan untuk membuat kotak pasir terbatas untuk menjalankan proses. Ini berarti proses tidak dapat mengubah data secara berbahaya di luar pohon direktori yang ditentukan.
Penggunaan lain dari chroot jail adalah sebagai pengganti mesin virtual. Metode ini disebut virtualisasi tingkat kernel dan membutuhkan lebih sedikit sumber daya daripada mesin virtual. Operasi ini memungkinkan pengguna untuk membuat beberapa instance terisolasi pada sistem yang sama.
Cara Menggunakan chroot jail
Contoh ini membawa Anda melalui pembuatan dan pengaturan chroot jail sehingga dapat menjalankan bash
dan ls
perintah.
Ikuti langkah-langkah berikut:
1. Buat direktori baru bernama chroot_jail :
mkdir chroot_jail
Jika kita mencoba chroot
ke direktori baru, kita mendapatkan output berikut:
Anda harus mengaktifkan bash
perintah sebelum Anda dapat chroot
ke direktori baru. Ini memerlukan penyalinan file perintah dan semua pustaka terkait ke direktori root baru.
2. Buat pohon subdirektori baru di dalam chroot_jail :
mkdir -p chroot_jail/bin chroot_jail/lib64/x86_64-linux-gnu chroot_jail/lib/x86_64-linux-gnu
Subdirektori ini akan menyimpan semua elemen yang diperlukan dari bash
dan ls
perintah.
3. Menggunakan cp
perintah dengan which
perintah mari salin bash
dan ls
perintah tanpa menentukan jalur tempat Anda menyalin.
Untuk melakukannya, gunakan:
cp $(which ls) chroot_jail/bin/
cp $(which bash) chroot_jail/bin/
4. Untuk bash
dan ls
untuk bekerja di folder root baru, tambahkan semua perpustakaan terkait ke chroot_jail/libraries . Gunakan ldd
perintah untuk mengetahui perpustakaan mana yang terkait dengan perintah mana:
ldd $(which bash)
ldd $(which ls)
5. Salin pustaka yang sesuai ke chroot_jail subdirektori lib dan lib64 .
Untuk bash
perintah:
cp /lib/x86_64-linux-gnu/libtinfo.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/
Untuk ls
perintah:
cp /lib/x86_64-linux-gnu/libselinux.so.1 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libpcre2-8.so.0 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/
cp /lib/x86_64-linux-gnu/libpthread.so.0 chroot_jail/lib/x86_64-linux-gnu/
6. Gunakan chroot
perintah untuk mengubah root menjadi chroot_jail direktori:
sudo chroot chroot_jail
Gunakan ls
perintah untuk membuat daftar semua file dan direktori di pohon direktori root baru:
ls -R
7. Setelah Anda selesai menggunakan folder root baru, keluar dari shell:
exit