Cara membatasi akses pengguna ssh ke direktori tertentu menggunakan penjara chrooted
- 4430
- 784
- John Ratke
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, ttyMencantumkan 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 8Buat /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 /testAtur 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 /testKonfigurasikan 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 $ unameMenguji 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 $ riwayatPerintah 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/tecmintBuat 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.
- « 4 Perintah yang berguna untuk menghapus layar terminal Linux
- 6 Metrik Kinerja Utama untuk Dipantau di Server Linux - Bagian 1 »