GNU/Linux >> Belajar Linux >  >> Linux

CentOS / RHEL :Cara Mengatur SFTP ke Chroot Jail hanya untuk Grup Tertentu

Untuk mengizinkan fungsionalitas ChrootDirectory pada basis per pengguna, gunakan konfigurasi sshd yang dijalankan bersyarat (menggunakan "Match ” kata kunci) di sshd_config mengajukan. Menyetel ChrootDirectory pada Grup tertentu, memastikan bahwa pengguna grup tersebut tidak dapat keluar dari direktori beranda mereka, yang pada gilirannya memastikan tidak ada pengguna lain yang terpengaruh.

1. Buat grup untuk pengguna yang akan di-chroot.

# groupadd sftp_group

2. Buat pengguna untuk grup SFTP &atur kata sandi.

# useradd sftp_test1
# passwd sftp_test1
Changing password for user sftp_test1.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

3. Tambahkan pengguna sftp_test1 ke grup sftp_group. Biarkan shell pengguna menjadi /bin/false karena pengguna hanya boleh melakukan sftp dan bukan ssh/scp.

# usermod -g sftp_group -s /bin/false sftp_test1
# id sftp_test1
uid=1000(sftp_test1) gid=1001(sftp_test1) groups=1001(sftp_test1),1000(sftp_group)
CATATAN :Pengguna yang tidak berada dalam grup ini masih dapat masuk ke host melalui ssh dan berinteraksi dengan openssh secara normal.

4. Edit konfigurasi sshd untuk mengkonfigurasi sftp. Hapus /usr/libexec/openssh/sftp-server baris dan tambahkan baris internal-sftp seperti yang ditunjukkan di bawah ini:
Hapus atau hash baris:

# vi /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server

tambahkan baris di bawah ini:

# vi /etc/ssh/sshd_config
Subsystem sftp internal-sftp

5. Tambahkan konten di bawah ini ke akhir file /etc/ssh/sshd_config untuk menambahkan lingkungan chroot sftp:

# vi /etc/ssh/sshd_config
Match Group sftp_group
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /home
ForceCommand internal-sftp

5. Mulai ulang layanan sshd untuk menerapkan konfigurasi sftp.

# systemctl restart sshd

Verifikasi

1. Sekarang coba akses sistem dengan layanan SSH &SFTP dari klien lain:
a. SSH

# ssh [email protected]
The authenticity of host 'x.x.x.x (x.x.x.x)' can't be established.
ECDSA key fingerprint is 07:1c:34:30:f4:81:e1:e0:b3:13:30:b8:57:d9:d9:58.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'x.x.x.x' (ECDSA) to the list of known hosts.
[email protected]'s password:
Could not chdir to home directory /home/sftp_test1: No such file or directory
This service allows sftp connections only.
Connection to x.x.x.x closed.

Seperti yang Anda lihat di atas, koneksi ditutup dan tidak diizinkan untuk masuk ke SSH.

b. SFTP

# sftp [email protected]
[email protected]'s password:
Connected to x.x.x.x.
sftp> pwd
Remote working directory: /
sftp> ls
sftp_test1
sftp> cd /home
Couldn't canonicalize: No such file or directory
sftp>

Akibatnya pengguna sftp_test1 di atas masuk melalui SFTP dan tidak dapat mengubah direktori karena lingkungan chroot

3. Anda juga dapat menguji fungsi SFTP-Server dari klien windows dengan menggunakan software “WinSCP” atau “Filezilla”.


Linux
  1. CentOS / RHEL 7 :Cara menambahkan parameter kernel hanya ke kernel tertentu

  2. CentOS / RHEL 7 :Cara mengaktifkan telnet untuk sekelompok pengguna

  3. Cara mengaktifkan SFTP Logging tanpa chroot di CentOS/RHEL

  1. Cara mengatur children-max untuk Layanan udev di CentOS/RHEL 7

  2. CentOS / RHEL 7 :Cara mengatur target default (runlevel default)

  3. CentOS / RHEL 6:Cara Mengubah Nama Grup Volume untuk Perangkat Root Disk

  1. CentOS / RHEL 7 :Cara menonaktifkan IPv6 hanya pada antarmuka tertentu

  2. Cara Mengkonfigurasi Port Terpisah Untuk SSH dan SFTP Di CentOS/RHEL

  3. CentOS / RHEL :Cara mengatur SFTP jail chroot