Cara membuat pengguna ssh yang sudah di-jailbreak dengan Jailkit di Debian/Ubuntu

Posted on

Cara membuat pengguna ssh yang sudah di-jailbreak dengan Jailkit di Debian/Ubuntu

Hai, hari ini kita akan membuat pengguna Jailkit ssh di kotak Debian Wheezy. Jailkit adalah seperangkat alat untuk membatasi akun pengguna ke file tertentu menggunakan chroot() atau perintah tertentu. Memulai chroot shell, shell command-limited, atau daemon di dalam chroot jail jauh lebih mudah dan dapat diotomatisasi menggunakan alat ini.

Jailkit diketahui digunakan dalam peralatan keamanan jaringan dari beberapa perusahaan keamanan TI terkemuka, server Internet dari beberapa organisasi perusahaan besar, server Internet dari penyedia layanan Internet, serta banyak perusahaan kecil dan pengguna pribadi yang perlu mengamankan cvs, sftp , memiliki cangkang, digunakan. atau proses daemon

1. Instal JailKit

Pertama, kita download dan install Jailkit.

$ cd /tmp
$ wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
$ tar xvfz jailkit-2.17.tar.gz
$ cd jailkit-2.17
Unduh dan ekstrak Jilkit

Catatan: Silakan ganti jailkit-2.17 dengan versi yang ingin Anda instal.

Karena Jailkit memerlukan sejumlah paket sebelum instalasi, kami akan menginstalnya sebagai berikut:

$ sudo apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold python
    Instal dependensi

Sekarang sistem kita siap untuk menginstal Jailkit, instal sebagai berikut:

$ ./debian/rules binary
$ cd ..
$ dpkg -i jailkit_2.17-1_i386.deb
Instal Jilkit

menginstal Jailkit di server Debian, kita dapat menghapus paket tambahan dari /tmp:

$ rm -rf /tmp/jailkit*

2. Konfigurasi lingkungan penjara

Harus ada direktori tempat seluruh lingkungan jailbreak akan diluncurkan. Mari kita lakukan di /opt/jail. Itu bisa apa saja.

$ sudo mkdir /opt/jail

Root harus memiliki direktori ini. Jadi biarkan saja

$ sudo chown root:root /opt/jail

3. Aktifkan program agar tersedia di dalam penjara

Semua program yang harus ada di jail harus disalin ke dalamnya menggunakan perintah jk_init.
Contoh

$ sudo jk_init -v /opt/jail netutils basicshell jk_lsh openvpn ssh sftp
Aktifkan aplikasi untuk pengguna penjara

Nama-nama seperti baseshell, editor, netutils adalah grup yang berisi banyak program. Setiap grup adalah satu set executable, library, dll. yang perlu disalin ke dalam shell. Sebagai contoh, basicshell menyediakan banyak program seperti bash, ls, cat, chmod, mkdir, cp, cpio, date, dd, echo, egrep dll di jail.

Lihat /etc/jailkit/jk_init.ini untuk daftar lengkap bagian yang dapat diinisialisasi.

4. Buat pengguna yang akan dipenjara

Perlu pengguna untuk dimasukkan ke dalam penjara. Ayo buat satu

$ sudo adduser arun

Perhatikan bahwa ini adalah pengguna biasa yang dibuat pada sistem file yang sebenarnya dan bukan di dalam jailbreak.
Pada langkah selanjutnya, pengguna ini harus dipenjara di dalam penjara.

Pada titik ini, jika Anda melihat /etc/passwd, Anda akan melihat entri di bagian akhir yang terlihat seperti ini.

arun:x:1006:1005:,,,:/home/arun:/bin/bash

Ini adalah pengguna baru kami, dan bagian terakhir dari /bin/bash menunjukkan bahwa pengguna memiliki akses shell normal ke sistem saat masuk.

5. Penjarakan pengguna

Sekarang saatnya untuk memenjarakan pengguna.

$ sudo jk_jailuser -m -j /opt/jail/ arun

Dengan melakukan ini, pengguna arun sekarang dipenjara.
Sekarang jika Anda melihat /etc/passwd, entri terakhir akan terlihat seperti ini

arun:x:1006:1005:,,,:/opt/jail/./home/arun:/usr/sbin/jk_chrootsh
Perhatikan bahwa 2 bidang terakhir yang mewakili pengguna rumahan dan tipe shell telah diubah. Direktori home pengguna sekarang berada di lingkungan jail di /opt/jail. Shell pengguna sekarang menjadi program khusus yang disebut jk_chrootsh yang menyediakan shell yang sudah di-jailbreak.

Ini adalah shell khusus yang disebut jk_chrootsh yang melakukan jailbreak pada pengguna setiap kali mereka masuk.

Pengaturan penjara sekarang hampir selesai. Tetapi jika Anda mencoba terhubung ke id melalui ssh, itu akan gagal seperti ini:

$ ssh arun@localhost
Sambungan ditutup

Sambungan harus ditutup. Ini karena pengguna sebenarnya memiliki cangkang terbatas.

6. Berikan bash shell kepada pengguna yang dipenjara

Sekarang, yang perlu kita lakukan adalah menyediakan shell bash yang tepat untuk pengguna, tetapi di dalam jail.
Buka file berikut

$ sudo nano /opt/jail/etc/passwd

File kata sandi ada di dalam penjara. Ini akan terlihat seperti ini

root:x:0:0:root:/root:/bin/bash
arunp:x:1006:1001:arun pyasi,001,,:/home/arunp:/usr/sbin/jk_lsh
Ubah jk_lsh menjadi bash

Ubah /usr/sbin/jk_lsh menjadi /bin/bash

root:x:0:0:root:/root:/bin/bash
arun:x:1006:1005:,,,:/home/arun:/bin/bash

Simpan file dan keluar.

7. Masuk penjara

Jadi sekarang saatnya masuk penjara lagi

$ ssh arun@localhost
berhasil masuk ssh

Sekarang kami memiliki bash shell yang berfungsi penuh tetapi di dalam penjara. Sekarang periksa lingkungan dengan bergerak. Lingkungan root / jail /opt/jail berasal dari sistem file asli. Tapi hanya kita yang tahu itu, bukan pengguna yang dipenjara.

juga Hanya perintah yang disalin melalui bagian jk_cp yang akan tersedia di penjara ini. Jika login gagal, periksa /var/log/auth.log untuk pesan kesalahan.

Sekarang jalankan beberapa perintah jaringan seperti wget atau yang serupa.

$ wget http://www.google.com/

Jika Anda mengalami kesalahan berikut:

$ wget http://www.google.com/
--2012-06-23 12:56:43-- http://www.google.com/
 Resolving www.google.com (www.google.com)... failed: Name or service not known.
 wget: unable to resolve host address `www.google.com'

Perbaiki dengan menjalankan 2 perintah berikut:

$ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_files.so.2
$ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_dns.so.2

Lokasi persis libnss_files.so dan libnss_dns.so bisa berbeda, jadi periksalah.

8. Pelaksanaan program atau pelayanan di Lapas

Penyiapan sekarang selesai. Penjara berguna untuk melaksanakan program atau layanan di lingkungan terbatas/aman. Gunakan perintah jk_chrootlaunch untuk meluncurkan program atau daemon di dalam jailbreak.

$ sudo jk_chrootlaunch -j /opt/jail -u arun -x /some/command/in/jail

Utilitas jk_chrootlaunch dapat digunakan untuk meluncurkan proses tertentu di dalam jailbreak dengan hak pengguna tertentu. Jika daemon tidak dimulai, periksa /var/log/syslog untuk pesan kesalahan.

Untuk menjalankan program di dalam jail, pertama-tama program harus benar-benar disalin di dalam jail menggunakan perintah jk_cp.

jk_cp – Alat untuk menyalin file termasuk izin dan pustaka ke jailbreak

Hasil

Akhirnya, kami telah membuat ssh yang sudah di-jailbreak di server Debian/Ubuntu kami dengan bantuan Jailkit. Ini terbatas pada perintah tertentu, atau daemon di dalam chroot jail dengan alat otomatis. Untuk informasi lebih lanjut tentang berbagai perintah kit, lihat dokumentasi di situs web olivier. Jika Anda memiliki pertanyaan atau pertanyaan, silakan komentar.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *