Keselamatan

Cara Menyiapkan Jaringan Chroot Linux

Cara Menyiapkan Jaringan Chroot Linux
Terutama yang dikhaskan untuk perkhidmatan kritikal, sistem Linux memerlukan pengetahuan peringkat pakar untuk digunakan dan langkah-langkah keselamatan utama.

Malangnya, walaupun setelah mengambil langkah keselamatan yang penting, kerentanan keselamatan masih dapat memasuki sistem yang selamat. Salah satu cara untuk mengurus dan melindungi sistem anda adalah dengan membatasi kerosakan yang mungkin berlaku setelah serangan berlaku.

Dalam tutorial ini, kita akan membincangkan proses menggunakan chroot jail untuk menguruskan kerosakan sistem sekiranya berlaku serangan. Kami akan melihat bagaimana mengasingkan proses dan subproses ke persekitaran tertentu dengan hak root palsu. Melakukan ini akan menghadkan proses ke direktori tertentu dan menolak akses ke kawasan sistem lain.

Pengenalan Ringkas ke penjara chroot

Penjara chroot adalah kaedah mengasingkan proses dan subprosesnya dari sistem utama menggunakan hak root palsu.

Seperti disebutkan, mengasingkan proses tertentu menggunakan hak root palsu membatasi kerosakan sekiranya terjadi serangan jahat. Perkhidmatan chroot terhad kepada direktori dan fail dalam direktori mereka dan tidak berterusan semasa perkhidmatan dimulakan semula.

Mengapa menggunakan penjara chroot

Tujuan utama penjara chroot adalah sebagai langkah keselamatan. Chroot juga berguna ketika memulihkan kata laluan yang hilang dengan memasang peranti dari media langsung.

Terdapat pelbagai kelebihan dan kekurangan menetapkan chroot jail. Ini termasuk:

Kelebihan

Kekurangan

Cara Membuat Penjara Chroot Asas

Dalam proses ini, kami akan membuat penjara chroot asas dengan 3 perintah terhad pada folder itu. Ini akan membantu menggambarkan bagaimana membuat penjara dan memberikan pelbagai arahan.

Mulakan dengan membuat folder utama. Anda boleh menganggap folder ini sebagai / folder dalam sistem utama. Nama folder boleh menjadi apa sahaja. Dalam kes kami, kami memanggilnya / chrootjail

sudo mkdir / chrootjail

Kami akan menggunakan direktori ini sebagai root palsu yang berisi perintah yang akan kami tetapkan kepadanya. Dengan perintah yang akan kita gunakan, kita memerlukan direktori bin (mengandungi perintah yang dapat dilaksanakan) dan, dll., direktori (mengandungi fail konfigurasi untuk perintah).

Di dalam folder / chrootjail, buat dua folder ini:

sudo mkdir / chrootjail / etc, bin

Langkah seterusnya adalah membuat direktori untuk perpustakaan yang dipaut secara dinamik untuk arahan yang ingin kita sertakan di penjara. Untuk contoh ini, kami akan menggunakan perintah bash, ls, dan grep.

Gunakan perintah ldd untuk menyenaraikan kebergantungan perintah ini, seperti yang ditunjukkan di bawah:

sudo ldd / bin / bash / bin / ls / bin / grep

Sekiranya anda tidak berada di dalam folder tong sampah, anda perlu meneruskan laluan penuh untuk arahan yang ingin anda gunakan. Contohnya, ldd / bin / bash atau ldd / bin / grep

Dari output ldd di atas, kita memerlukan direktori lib64 dan / lib / x86_64-linux-gnu. Di dalam direktori penjara, buat folder ini.

sudo mkdir -p / chrootjail lib / x86_64-linux-gnu, lib64

Setelah kami membuat direktori perpustakaan dinamik, kami dapat menyenaraikannya menggunakan pohon, seperti yang ditunjukkan di bawah:

Semasa kami maju, anda akan mula mendapat gambaran yang jelas tentang apa yang dimaksud dengan penjara chroot.

Kami membuat persekitaran yang serupa dengan direktori root biasa dari sistem Linux. Perbezaannya adalah, di dalam lingkungan ini, hanya perintah khusus yang diperbolehkan, dan aksesnya terbatas.

Sekarang kita telah membuat tong sampah. dan lain-lain., lib, dan lib64, kita dapat menambahkan fail yang diperlukan di dalam direktori masing-masing.

Mari kita mulakan dengan binari.

sudo cp / bin / bash / chrootjail / bin && sudo cp / bin / ls / chrootjail / bin && sudo cp / bin / grep / chrootjail / bin

Setelah menyalin binari untuk perintah yang kami perlukan, kami memerlukan perpustakaan untuk setiap perintah. Anda boleh menggunakan perintah ldd untuk melihat fail yang akan disalin.

Mari kita mulakan dengan bash. Untuk bash, kami memerlukan perpustakaan berikut:

/ lib / x86_64-linux-gnu / libtinfo.begitu.6
/ lib / x86_64-linux-gnu / libdl.begitu.2
/ lib / x86_64-linux-gnu / libc.begitu.6
/ lib64 / ld-linux-x86-64.begitu.2

Daripada menyalin semua fail ini satu persatu, kita dapat menggunakan loop for simple untuk menyalin setiap perpustakaan di semua perpustakaan ke / chrootjail / lib / x86_64-linux-gnu

Mari kita ulangi proses ini untuk arahan ls dan grep:

Untuk arahan ls:

Untuk arahan grep:

Seterusnya, di dalam direktori lib64, kami mempunyai satu pustaka bersama di semua binari. Kita boleh menyalinnya dengan menggunakan perintah cp sederhana:

Seterusnya, mari kita edit fail login bash utama (terletak di / etc / bash.bashrc dalam Debian) supaya kami dapat mengubah bash prompt mengikut keinginan kami. Menggunakan perintah gema dan tee sederhana seperti yang ditunjukkan:

sudo echo 'PS1 = "CHROOTJAIL #"' | sudo tee / chrootjail / etc / bash.bashrc

Setelah kami menyelesaikan semua langkah di atas, kami dapat masuk ke persekitaran penjara menggunakan perintah chroot seperti yang ditunjukkan.

sudo chroot / chrootjail / bin / bash

Anda akan mendapat hak root dengan prompt yang serupa dengan yang dibuat dalam arahan echo and tee di atas.

Setelah anda log masuk, anda akan melihat bahawa anda hanya mempunyai akses ke perintah yang anda sertakan semasa anda membuat penjara. Sekiranya anda memerlukan lebih banyak arahan, anda harus menambahkannya secara manual.

NOTA: Oleh kerana anda memasukkan bash shell, anda akan mendapat akses ke semua perintah bash built-in. Itu membolehkan anda keluar dari penjara menggunakan perintah keluar.

Kesimpulannya

Tutorial ini merangkumi apa itu chroot jail dan bagaimana kita dapat menggunakannya untuk membuat persekitaran terpencil dari sistem utama. Anda boleh menggunakan teknik yang dibincangkan dalam panduan kaleng untuk membuat persekitaran terpencil untuk perkhidmatan kritikal.

Untuk mempraktikkan apa yang telah anda pelajari, cuba buat penjara apache2.

Petunjuk: Mulakan dengan membuat direktori root, tambahkan file config (etc / apache2), tambahkan root dokumen (/ var / www / html), tambahkan binary (/ usr / sbin / apache2) dan akhirnya tambahkan library yang diperlukan (ldd usr / sbin / apache2)

Enjin Permainan Sumber Percuma dan Terbuka untuk Membangunkan Permainan Linux
Artikel ini akan merangkumi senarai enjin permainan sumber percuma dan terbuka yang dapat digunakan untuk mengembangkan permainan 2D dan 3D di Linux. ...
Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah penambahan kedua belas untuk siri Tomb Raider - francais permainan aksi-pengembaraan yang dibuat oleh Eidos Montreal....
Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...