Langkah pertama adalah membuat pengguna sftp tanpa login shell. Di tutorial ini sebagai contoh saya akan buat user dengan nama sftp-user. Kalian sesuaikan sendiri nantinya.
sudo useradd -s /bin/false sftp-useropsi -s /bin/false digunakan untuk mengatur agar pengguna sftp-user tidak memiliki akses shell.
Jangan lupa atur password untuk user sftp-user.
sudo passwd sftp-userLangkah selanjutnya adalah mengubah owner dari direktori home sftp-user. Owner direktori home dari user sftp harus di set ke root, karena akan terjadi error jika tidak diubah. Pesan errornya adalah fatal: bad ownership or modes for chroot directory.
sudo ls -la /home
sudo chown root:root /home/sftp-user/
sudo chmod 755 /home/sftp-user/Sesuaikan sendiri untuk lokasi home nya.
Langkah selanjutnya adalah mengubah konfigurasi sshd untuk membatasi akses pengguna sftp.
sudo nano /etc/ssh/sshd_configLalu cari baris Subsystem. Kalian beri comment (tanda pagar) didepannya, lalu tambahkan baris berikut dibawahnya.
subsystem sftp internal-sftpSesuaikan sendiri untuk user nya. opsi Match User bisa juga diganti dengan Match Group untuk mengaplikasikan konfigurasi tersebut ke seluruh user dalam satu group.
Match User sftp-user
ChrootDirectory %h
AllowTCPForwarding no
X11Forwarding no
AllowAgentForwarding no
ForceCommand internal-sftp
Jangan lupa restart service ssh untuk menerapkan perubahan.
sudo service sshd restartSekarang kita coba test login ke service ssh menggunakan user sftp tadi.
ssh sftp-user@labs.evil-security.com -p 666saya menggunakan opsi -p 666 karena port default ssh sudah diganti. Baca artikel saya tentang mengubah port default ssh disini:
Oke, saat kita coba login ke ssh pasti akan mendapatkan error berikut.
Lalu kita coba login menggunakan sftp client.
sftp -P 666 sftp-user@labs.evil-security.com
Oke mungkin itu saja tutorial kali ini. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.
Jangan sampai lewatkan update terbaru dari LinuxSec, berlangganan memalui email sekarang.