Cara membatasi akses pengguna ssh ke direktori tertentu menggunakan penjara chrooted

Cara membatasi akses pengguna ssh ke direktori tertentu menggunakan penjara chrooted

Ada beberapa alasan untuk membatasi sesi pengguna SSH ke direktori tertentu, terutama di server web, tetapi yang jelas adalah keamanan sistem. Untuk mengunci pengguna SSH di direktori tertentu, kami dapat menggunakan chroot mekanisme.

mengubah root (chroot) dalam sistem seperti Unix seperti Linux, adalah cara memisahkan operasi pengguna spesifik dari seluruh sistem Linux; Mengubah direktori root yang jelas untuk proses pengguna yang sedang berjalan dan proses anak (induk) dengan direktori root baru yang disebut a Penjara Chrooted.

Dalam tutorial ini, kami akan menunjukkan kepada Anda cara membatasi akses pengguna SSH ke direktori yang diberikan di Linux. Perhatikan bahwa kami akan menjalankan semua perintah sebagai root, gunakan perintah sudo jika Anda masuk ke server sebagai pengguna normal.

Daftar isi

1
  • Langkah 1: Buat Penjara SSH Chroot
  • Langkah 2: Setup Shell Interaktif untuk Penjara SSH Chroot
  • Langkah 3: Buat dan Konfigurasikan Pengguna SSH
  • Langkah 4: Mengkonfigurasi SSH untuk menggunakan Penjara Chroot
  • Langkah 5: Menguji SSH dengan Penjara Chroot
  • Langkah 6. Buat direktori home pengguna ssh dan tambahkan perintah linux
  • Langkah 7. Menguji SFTP dengan Penjara Chroot

Langkah 1: Buat Penjara SSH Chroot

1. Mulailah dengan membuat Penjara Chroot menggunakan perintah MKDIR di bawah ini:

# mkdir -p /rumah /tes 

2. Selanjutnya, identifikasi file yang diperlukan, sesuai dengan sshd_config Halaman pria, Chrootdirectory Opsi Menentukan Pathname dari Direktori ke Chroot untuk Setelah Otentikasi. Direktori harus berisi file dan direktori yang diperlukan untuk mendukung sesi pengguna.

Untuk sesi interaktif, ini membutuhkan setidaknya satu shell, umumnya SH, dan dasar /dev node seperti null, nol, stdin, stdout, stderr, dan perangkat tty:

# ls -l /dev /null, nol, stdin, stdout, stderr, acak, tty 
Mencantumkan file yang diperlukan

3. Sekarang, buat /dev file sebagai berikut menggunakan Perintah mknod. Dalam perintah di bawah ini, -M Bendera digunakan untuk menentukan bit izin file, C berarti file karakter dan dua angka adalah nomor utama dan kecil yang ditunjuk file.

# mkdir -p/home/test/dev/ # cd/home/test/dev/ # mknod -m 666 null c 1 3 # mknod -m 666 tty c 5 0 # mknod -m 666 nol c 1 5 # mknod - m 666 acak c 1 8 
Buat /dev dan file yang diperlukan

4. Setelah itu, atur izin yang sesuai di Penjara Chroot. Perhatikan bahwa penjara chroot dan subdirektori serta subfilnya harus dimiliki oleh akar pengguna, dan tidak dapat ditulis oleh pengguna atau grup normal:

# chown root: root /home /test # chmod 0755 /home /test # ls -ld /home /test 
Atur izin di direktori

Langkah 2: Setup Shell Interaktif untuk Penjara SSH Chroot

5. Pertama, buat tempat sampah direktori dan kemudian salin /bin/bash file ke dalam tempat sampah Direktori menggunakan perintah CP sebagai berikut:

# mkdir -p/home/test/bin # cp -v/bin/bash/home/test/bin/ 
Salin file ke Direktori Bin

6. Sekarang, identifikasi pesta yang dibutuhkan untuk dibagikan Libs, seperti di bawah, dan salin ke lib direktori:

# ldd/bin/bash # mkdir -p/home/test/lib64 # cp -v/lib64/libtinfo.Jadi.5, libdl.Jadi.2, libc.Jadi.6, LD-Linux-X86-64.Jadi.2/home/test/lib64/ 
Salin file perpustakaan bersama

Langkah 3: Buat dan Konfigurasikan Pengguna SSH

7. Sekarang, buat pengguna SSH dengan perintah UserAdd dan atur kata sandi yang aman untuk pengguna:

# useradd tecmint # passwd tecmint 

8. Buat Direktori Konfigurasi Umum Penjara CHROOT, /home/test/dll dan salin file akun yang diperbarui (/etc/passwd Dan /etc/group) ke dalam direktori ini sebagai berikut:

# mkdir/home/test/etc # cp -vf/etc/passwd, grup/home/test/etc/ 
Salin file kata sandi Catatan: Setiap kali Anda menambahkan lebih banyak pengguna SSH ke sistem, Anda harus menyalin file akun yang diperbarui ke /home/test/dll direktori.

Langkah 4: Mengkonfigurasi SSH untuk menggunakan Penjara Chroot

9. Sekarang, buka sshd_config mengajukan.

# vi/etc/ssh/sshd_config 

dan tambahkan/ubah baris di bawah ini dalam file.

#define nama pengguna untuk menerapkan penjara chroot ke Cocokkan tecmint pengguna #specify Chroot Penjara Chrootdirectory /home /test 
Konfigurasikan Penjara Chroot SSH

Simpan file dan keluar, dan restart Layanan SSHD:

# Systemctl Restart SSHD atau # Service SSHD Restart 

Langkah 5: Menguji SSH dengan Penjara Chroot

10. Pada titik ini, uji apakah pengaturan penjara chroot berfungsi seperti yang diharapkan:

# ssh [email dilindungi] -Bash-4.1 $ ls -bash -4.1 $ Date -Bash -4.1 $ uname 
Menguji Penjara Chroot Pengguna SSH

Dari tangkapan layar di atas, kita dapat melihat bahwa pengguna SSH terkunci di penjara chrooted, dan tidak dapat menjalankan perintah eksternal (ls, tanggal, uname, dll).

Pengguna hanya dapat mengeksekusi Bash dan perintah builtinnya seperti (PWD, History, Echo, dll) seperti yang terlihat di bawah ini:

# ssh [email dilindungi] -Bash-4.1 $ pwd -bash -4.1 $ echo "tecmint -situs linux dengan pertumbuhan tercepat" -bash -4.1 $ riwayat 
Perintah SSH built-in

Langkah 6. Buat direktori home pengguna ssh dan tambahkan perintah linux

11. Dari langkah sebelumnya, kita dapat melihat bahwa pengguna terkunci di direktori root, kita dapat membuat direktori home untuk pengguna ssh seperti itu (lakukan ini untuk semua pengguna masa depan):

# mkdir -p/home/test/home/tecmint # chown -r tecmint: tecmint/home/test/home/tecmint # chmod -r 0700/home/test/home/tecmint 
Buat Direktori Rumah Pengguna SSH

12. Selanjutnya, instal beberapa perintah pengguna seperti LS, Date, dan MKDIR di tempat sampah direktori:

# cp -v/bin/ls/home/test/bin/ # cp -v/bin/date/home/test/bin/ # cp -v/bin/mkdir/home/test/bin/ 
Tambahkan perintah ke pengguna ssh

13. Selanjutnya, periksa perpustakaan yang dibagikan untuk perintah di atas dan pindahkan ke direktori Perpustakaan Penjara Chrooted:

# ldd /bin /ls # cp -v /lib64 /libselinux.Jadi.1, libcap.Jadi.2, libacl.Jadi.1, libc.Jadi.6, libpcre.Jadi.1, libdl.Jadi.2, LD-Linux-X86-64.Jadi.2, libattr.Jadi.1, libpthread.Jadi.0/home/test/lib64/ 
Salin Perpustakaan Bersama

Langkah 7. Menguji SFTP dengan Penjara Chroot

14. Lakukan tes akhir menggunakan SFTP; Periksa apakah perintah yang baru saja Anda instal sedang berfungsi.

Tambahkan baris di bawah ini di /etc/ssh/sshd_config mengajukan:

#Enable sftp ke penjara chrooted forcecomand internal-sftp 

Simpan file dan keluar. Kemudian restart layanan SSHD:

# Systemctl Restart SSHD atau # Service SSHD Restart 

15. Sekarang, uji menggunakan SSH, dan Anda akan mendapatkan kesalahan berikut:

# ssh [email dilindungi] 
Uji Penjara Chroot SSH

Coba gunakan SFTP sebagai berikut:

# sftp [email dilindungi] 
Menguji pengguna sft ssh

Anda mungkin juga suka:

  • Cara membatasi pengguna SFTP ke direktori rumah menggunakan penjara chroot
  • Penggunaan dan Konfigurasi Perintah SSH Dasar di Linux
  • 5 Praktik Terbaik Untuk Mencegah Serangan Login Brute-Force SSH di Linux
  • 5 Praktik Keamanan Terbaik Server Terbaik

Itu saja untuk saat ini! Dalam artikel ini, kami menunjukkan kepada Anda cara membatasi pengguna SSH di direktori yang diberikan (Penjara Chrooted) di Linux. Gunakan bagian komentar di bawah ini untuk menawarkan kepada kami pemikiran Anda tentang panduan ini.