SFTP Jailed Environment (chroot)
Isi kandungan:
- Mewujudkan Kumpulan SFTP
- Menambah Pengguna ke Kumpulan SFTP
- Mengkonfigurasi SSH
- Menguji Konfigurasi
- Kesimpulannya
Dalam tutorial ini, kami akan menerangkan cara membuat persekitaran SFTP Chroot Jail yang akan menyekat pengguna ke direktori rumah mereka. Pengguna hanya akan mempunyai akses SFTP, akses SSH akan dilumpuhkan. Arahan ini harus berfungsi untuk mana-mana pengedaran Linux moden termasuk Ubuntu, CentOS, Debian, dan Fedora.
Mewujudkan Kumpulan SFTP
Daripada mengkonfigurasi pelayan OpenSSH untuk setiap pengguna secara individu kami akan membuat kumpulan baru dan menambah semua pengguna chrooted kami ke kumpulan ini.
Jalankan perintah
groupadd
berikut untuk membuat kumpulan pengguna
sftponly
:
sudo groupadd sftponly
Anda boleh menamakan kumpulan yang anda mahu.
Menambah Pengguna ke Kumpulan SFTP
Langkah seterusnya adalah untuk menambah pengguna yang anda mahu untuk menyekat kepada kumpulan
sftponly
.
Jika ini adalah persediaan baru dan pengguna tidak wujud, anda boleh membuat akaun pengguna baru dengan menaip:
sudo useradd -g sftponly -s /bin/false -m -d /home/username username
-
-g sftponlyakan menambah pengguna ke kumpulan sftponly.The-s /bin/falsemenetapkan shell masuk pengguna. Dengan menetapkan shell masuk ke/bin/falsepengguna tidak akan dapat login ke pelayan melalui pilihan SSH. -M-m -d /home/usernamememberitahu useradd untuk membuat direktori rumah pengguna.
Tetapkan kata laluan yang kuat untuk pengguna yang baru dibuat:
sudo passwd username
Jika tidak, jika pengguna yang ingin menyekat telah wujud, tambahkan pengguna ke kumpulan
sftponly
dan tukar shell pengguna:
sudo usermod -G sftponly -s /bin/false username2
Direktori rumah pengguna mesti dimiliki oleh root dan mempunyai
755
keizinan:
sudo chown root: /home/username
sudo chmod 755 /home/username
Memandangkan pengguna direktori rumah dimiliki oleh pengguna root, pengguna ini tidak akan dapat membuat fail dan direktori dalam direktori rumah mereka. Sekiranya tiada direktori di rumah pengguna, anda perlu membuat direktori baru yang mana pengguna akan mempunyai akses penuh. Sebagai contoh, anda boleh membuat direktori berikut:
sudo mkdir /home/username/{public_html, uploads}
sudo chmod 755 /home/username/{public_html, uploads}
sudo chown username:sftponly /home/username/{public_html, uploads}
Sekiranya aplikasi web menggunakan direktori
public_html
pengguna sebagai akar dokumen, perubahan ini mungkin membawa kepada isu kebenaran. Sebagai contoh, jika anda menjalankan WordPress, anda perlu membuat kolam PHP yang akan berjalan sebagai pengguna yang memiliki fail dan menambah web erver ke kumpulan
sftponly
.
Mengkonfigurasi SSH
SFTP adalah subsistem SSH dan menyokong semua mekanisme pengesahan SSH.
Buka fail konfigurasi SSH
/etc/ssh/sshd_config
dengan editor teks anda:
sudo nano /etc/ssh/sshd_config
Cari baris yang bermula dengan
Subsystem sftp
, biasanya pada akhir fail. Jika garisan bermula dengan hash
#
alihkan hash
#
dan ubah suai untuk kelihatan seperti berikut:
Subsystem sftp internal-sftp
Ke arah akhir fail, blok tetapan berikut:
Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
Arahan
ChrootDirectory
menentukan jalan ke direktori chroot.
%h
bermaksud direktori rumah pengguna. Direktori ini, mesti dimiliki oleh pengguna root dan tidak boleh ditulis oleh mana-mana pengguna atau kumpulan lain.
Berhati-hati apabila mengubah suai fail konfigurasi SSH. Konfigurasi yang salah boleh menyebabkan perkhidmatan SSH gagal dimulakan.
Sebaik sahaja selesai, simpan fail dan mulakan semula perkhidmatan SSH untuk memohon perubahan:
sudo systemctl restart ssh
Di CentOS dan Fedora, perkhidmatan ssh dinamakan
sshd
:
Menguji Konfigurasi
Sekarang anda telah mengkonfigurasi SFTP chroot anda boleh cuba log masuk ke mesin jauh melalui SFTP menggunakan kelayakan pengguna chrooted. Dalam kebanyakan kes, anda akan menggunakan klien SFTP seperti FileZilla tetapi dalam contoh ini, kami akan menggunakan perintah sftp.
Buka sambungan SFTP menggunakan perintah sftp diikuti oleh nama pengguna pelayan jauh dan alamat IP pelayan atau nama domain:
sftp [email protected]
Anda akan diminta memasukkan kata laluan pengguna. Setelah disambungkan, pelayan jauh akan memaparkan mesej pengesahan dan
sftp>
prompt:
[email protected]'s password: sftp>
Jalankan arahan
pwd
, seperti yang ditunjukkan di bawah, dan jika semuanya berfungsi seperti yang diharapkan perintah itu harus kembali
/
.
sftp> pwd Remote working directory: /
Anda juga boleh menyenaraikan fail dan direktori jauh menggunakan arahan
ls
dan anda harus melihat direktori yang kami buat sebelumnya:
Kesimpulannya
Dalam tutorial ini, anda telah belajar cara membuat persekitaran SFTP Chroot Jail di pelayan Linux anda dan menyekat akses pengguna ke direktori rumah mereka.
Secara lalai, SSH didengar pada port 22. Menukar port SSH lalai menambah lapisan tambahan keselamatan ke pelayan anda dengan mengurangkan risiko serangan automatik. Anda mungkin juga ingin menyiapkan pengesahan berasaskan kunci SSH dan menyambung ke pelayan tanpa memasukkan kata laluan.
keselamatan sshpBagaimana untuk menggunakan android anda untuk menubuhkan penghala wayarles yang sempurna
Inilah Cara Menggunakan Android Anda untuk Menyediakan Penghala Tanpa Wayar Sempurna Dengan Menganalisis Gangguan, Kekuatan Wi-Fi dan Banyak Parameter tersebut.
Bagaimana untuk menggunakan pembantu migrasi untuk menubuhkan mac baru
Beli sendiri Mac baru berkilat? Menggunakan Pembantu Migrasi anda boleh menetapkannya tanpa banyak masalah. Teruskan membaca untuk mengetahui betapa tepatnya.
Bagaimana untuk menubuhkan terowong stoking ssh untuk melayari peribadi
Tutorial ini akan membimbing anda melalui proses mewujudkan terowong SSH yang disulitkan dan mengkonfigurasi pelayar web Firefox dan Google Chrome untuk menggunakan proksi SOCKS.







