GNU/Linux >> Belajar Linux >  >> Debian

Cara membuat Pengguna SSH yang Dipenjara dengan Jailkit di Debian 9 (Peregangan)

Dokumen ini menjelaskan cara menginstal dan mengonfigurasi Jailkit di Server Debian 9 (Stretch). Jailkit adalah seperangkat utilitas untuk membatasi akun pengguna ke file tertentu menggunakan chroot() dan atau perintah tertentu. Menyiapkan shell chroot, shell terbatas pada beberapa perintah tertentu, atau daemon di dalam chroot jail jauh lebih mudah dan dapat diotomatisasi menggunakan utilitas 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, shell atau proses daemon.

1 Catatan Awal

Tutorial ini didasarkan pada server Debian 9, jadi Anda harus menyiapkan penginstalan server Debian dasar sebelum melanjutkan tutorial ini. Sistem harus memiliki alamat IP statis. Saya menggunakan 192.168.0.100 sebagai alamat IP saya dalam tutorial ini dan server1.example.com sebagai nama host.

2 Instal Jailkit

Pertama-tama kita akan mendownload dan menginstal Jailkit. Pada saat penulisan panduan ini, versi Jailkit terbaru yang tersedia adalah 2.20. Saya akan mengunduh dan menginstalnya sebagai berikut:

cd /tmp    
wget http://olivier.sessink.nl/jailkit/jailkit-2.20.tar.gz
tar xvfz jailkit-2.20.tar.gz
cd jailkit-2.20

Jailkit membutuhkan beberapa paket sebelum instalasi, kami akan menginstalnya sebagai berikut:

apt-get install build-essential autoconf automake1.11 libtool flex bison debhelper binutils-gold python

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

echo 5 > debian/compat
./debian/rules binary
cd ..
dpkg -i jailkit_2.20-1_amd64.deb

Ini akan menginstal Jailkit di Server Debian, kita dapat menghapus paket tambahan dari /tmp:

rm -rf /tmp/jailkit*

3 Memenjarakan pengguna

Sekarang kita akan membuat pengguna yang akan dipenjara menggunakan Jailkit sebagai:

adduser srijan

[email protected]:~#adduser srijan
Menambahkan `srijan' pengguna ...
Menambahkan grup baru `srijan' (1001) ...
Menambahkan `srijan pengguna baru ' (1001) dengan grup `srijan' ...
Membuat direktori home `/home/srijan' ...
Menyalin file dari `/etc/skel' ...
Enter new Kata sandi UNIX:<--sandi
Ketik ulang sandi UNIX baru:<--sandi
passwd:sandi berhasil diperbarui
Mengubah informasi pengguna untuk srijan
Masukkan nilai baru, atau tekan ENTER untuk default
       Nama Lengkap []:<--ENTER
        Nomor Kamar []:<--ENTER
        Telepon Kantor []:<--ENTER
        Telepon Rumah []:<--ENTER
        Lainnya []:<--ENTER
Apakah informasi tersebut benar? [Y/n] <--Y
[dilindungi email]:~#

Dalam kasus saya, saya membuat pengguna srijan, Anda dapat menggunakan nama apa pun.

Selanjutnya kita akan mengecek informasi tentang user srijan di /etc/passwd sebagai:

egrep srijan /etc/passwd
[dilindungi email]:/tmp# egrep srijan /etc/passwd
srijan:x:1001:1001:,,,:/home/srijan:/bin/bash
[email dilindungi]:/tmp #

Selanjutnya, kami akan memenjarakan pengguna yang dibuat. Buat direktori /jail untuk lingkungan Jail:

mkdir /jail

Sekarang kami akan menyediakan Jail dengan beberapa lingkungan program default seperti:

jk_init -v /jail netutils basicshell jk_lsh openvpn ssh sftp

Kami juga dapat memberikan nilai lain, daftar lengkap lingkungan Jail dapat diperiksa di file

nano /etc/jailkit/jk_init.ini

Sekarang Penjara sudah siap, cukup tambahkan pengguna di dalam lingkungan:

jk_jailuser -m -j /jail/ srijan

Sekali lagi periksa nilai di /etc/passwd untuk pengguna srijan:

egrep srijan /etc/passwd
[dilindungi email]:/tmp# egrep srijan /etc/passwd
srijan:x:1001:1001:,,,:/jail/./home/srijan:/usr/sbin/jk_chrootsh
[ email dilindungi]:/tmp#

Sekarang pengguna kami telah ditambahkan di lingkungan Jailed. Saya akan menghubungkan server Debian dengan terminal bash dengan IP 192.168.0.100:

ssh [email protected]
[email protected]:~$ ssh [email protected]
Keaslian host '192.168.0.100 (192.168.0.100)' tidak dapat dibuat.
Sidik jari kunci ECDSA adalah 3d:ca:91:67:96:39:15:b4:0f:6e:c8:2c:92:ef:25:d7.
Yakin ingin melanjutkan koneksi (ya/tidak)? ya
sandi [email protected]:
Linux server1 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64

Program yang disertakan dengan sistem GNU/Linux Debian adalah perangkat lunak bebas;
istilah distribusi yang tepat untuk setiap program dijelaskan dalam
file individual di /usr/share/doc/*/copyright.

Debian GNU/Linux BENAR-BENAR TIDAK ADA JAMINAN, sejauh
diizinkan oleh hukum yang berlaku.
Koneksi ke 192.168.0.100 ditutup.
[email protected]:~$

Koneksi semakin tertutup karena pengguna tidak memiliki shell logging, mari tambahkan di file konfigurasi untuk Jail:

nano /jail/etc/passwd
root:x:0:0:root:/root:/bin/bash
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
#srijan:x:1001:1001:,,,:/home/srijan:/usr/sbin/jk_lsh
srijan:x:1001:1001:,,,:/home/srijan:/bin/bash

Ini akan menambahkan bash Prompt untuk srijan pengguna yang dipenjara. Sekarang coba lagi login ssh dengan pengguna srijan dan Anda akan bisa login:

ssh [email protected]

Sekarang periksa konten direktori root, Anda akan melihat isinya seperti ini:

ls /
[email protected]:~$ ls /
bin  dev  etc  home  lib  lib64  usr
[email protected]:~$

4 Menjalankan layanan dan perintah di lingkungan Jailed

Jail dapat digunakan untuk menjalankan layanan di lingkungan Jailed. Misalkan kita ingin menjalankan layanan apapun di lingkungan Jailed maka kita akan menggunakan perintah jk_chrootlaunch untuk itu:

jk_chrootlaunch -j /jail -u srijan -x 'service apache2 start'

Di sini saya memulai layanan Apache. Demikian pula, Anda dapat menjalankan layanan atau daemon apa pun dengannya di lingkungan Jail.

Misalkan kita ingin menjalankan perintah tertentu di lingkungan Jail maka kita akan menggunakan jk_cp. Mari kita uji di lingkungan Jailed ketika kita akan menjalankan cal maka tampilannya sebagai berikut:

cal
[dilindungi email]:~$ cal
bash:cal:perintah tidak ditemukan
[dilindungi email]:~$

Artinya lingkungan Jail tidak mengetahui perintah cal, sekarang saya akan menambahkannya di Server Debian sebagai berikut:

jk_cp  -v -j /jail/ /usr/bin/cal
[email protected]:~# jk_cp  -v -j /jail/ /usr/bin/cal
Membuat symlink /jail/usr/bin/cal ke ncal
Menyalin /usr/bin/ncal ke / jail/usr/bin/ncal
Membuat symlink /jail/lib/x86_64-linux-gnu/libncurses.so.5 ke libncurses.so.5.9
Menyalin /lib/x86_64-linux-gnu/libncurses .so.5.9 ke /jail/lib/x86_64-linux-gnu/libncurses.so.5.9
/jail/lib/x86_64-linux-gnu/libtinfo.so.5 sudah ada, tidak akan menyentuhnya
/jail/lib/x86_64-linux-gnu/libc.so.6 sudah ada, tidak akan menyentuhnya
/jail/lib/x86_64-linux-gnu/libdl.so.2 sudah ada, tidak akan menyentuhnya
/jail/lib64/ld-linux-x86-64.so.2 sudah ada, tidak akan menyentuhnya
/jail/lib/x86_64-linux-gnu/libtinfo.so.5 sudah ada, tidak akan menyentuhnya
/jail/lib/x86_64-linux-gnu/libc.so.6 sudah ada, tidak akan menyentuhnya
/jail/lib/x86_64-linux-gnu/libdl. so.2 sudah ada, tidak akan menyentuhnya
/jail/lib64/ld-linux-x86-64.so.2 sudah ada, tidak akan menyentuhnya

Sekali lagi jalankan perintah cal di lingkungan Jailed:

cal
[email protected]:~$ cal
  April 2019
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
                  
[email protected]:~$


Jadi kita telah menambahkan perintah untuk lingkungan Jailed. Selamat! Sekarang kita telah berhasil mengonfigurasi lingkungan Jail di Debian 9 :)

  • Debian:https://www.debian.org/
  • Jailkit: https://olivier.sessink.nl/jailkit/

Debian
  1. Cara Mengenkripsi direktori dengan EncFS di Debian 9 Stretch Linux

  2. Cara mengkonfigurasi server FTP di Debian 9 Stretch Linux

  3. Cara Membuat Pengguna Sudo Di CentOS, Ubuntu &Debian

  1. Cara Upgrade Debian 8 ke Debian 9 Stretch

  2. Cara Membuat Pengguna Sudo di Debian

  3. Bagaimana Cara Membuat Pengguna Baru Dengan Akses Ssh?

  1. Cara Membuat Pengguna Sudo di Debian

  2. Cara Membuat dan Menghapus Pengguna di Debian 9

  3. Cara Mengatur Kunci SSH di Debian