in FOSS

Cara Setting SFTP Only di CentOS 8

Cara Setting SFTP Only di CentOS 8

SFTP (SSH File Transfer Protocol/Secure File Transfer Protocol) adalah protokol transfer file yang aman, berjalan di atas protokol SSH.

Ketika sebuah server telah menjalankan SSH service, maka selain kita bisa melakukan remote login untuk manajemen server dengan command line, kita juga bisa melakukan transfer file dengan aman melalui SFTP.

Pertanyaan lain yang muncul kemudian adalah bagaimana cara membatasi hak akses user hanya untuk SFTP saja, tidak diberikan akses untuk remote shell? Nah, di tutorial kali ini membahas tentang bagaimana cara melakukan konfigurasi SSH untuk SFTP only.

0.Membuat Group dan User

Membuat group dan user khusus untuk akses SFTP, misalnya group sftponly dengan user webapp.

  • -g sftponly user baru dimasukkan ke dalam group sftponly
  • -s /bin/false user baru tidak bisa mengakses shell (SSH)
  • -m -d /home/webapp nama home directory dari user baru

1.Hak Akses Direktori

Home directory dari user haruslah dimiliki oleh root dengan pengaturan akses 755.

Karena sebelumnya home directory telah diubah kepemilikannya ke user root, maka user webapp tidak memiliki hak untuk membuat file atau directory di dalam home directory. Untuk itu perlu dibuat directory yang akan digunakan untuk directory upload file, misalnya public_html untuk directory aplikasi website.

2.Konfigurasi SSH

Selanjutnya konfigurasi SSH untuk SFTP Only.

Cari baris konfigurasi Subsystem dan ubah menjadi seperti di bawah ini.

  • Match Group nama group yang dipakai untuk SFTP. Berarti semua user yang berada dalam group tersebut hanya bisa melakukan SFTP, tidak bisa SSH remote. Match Group bisa diganti dengan Match User jika hanya satu user SFTP
  • ChrootDirectory %h direktori home dari masing-masing user menjadi direktori root saat login SFTP. Direktori ini bisa diganti dengan direktori lain

Restart SSH service.

3.Pengujian SFTP Only

Pengujian konfigurasi SFTP Only menggunakan SFTP client berbasis CLI.

Buat file index.html terlebih dahulu di local untuk diupload ke server.

Dari perintah SFTP di atas memperlihatkan ketika login langsung berada di directory root (/) yang sebenarnya adalah home directory dari user webapp (/home/webapp). Kemudian dilakukan uji coba upload file ke direktori public_html.

Verifikasi hasil upload dengan melihat isi direktori public_html.

Dari hasil perintah ls di atas, terdapat file index.html dengan user webapp dan group sftponly.

SFTP bisa juga dilakukan dengan menggunakan aplikasi FileZilla FTP/SFTP client.

FIleZilla FTP/SFTP Client

FIleZilla FTP/SFTP Client

selamat mencoba 🙂

Write a Comment

Comment