[CentOS 7] [7.3.2] Konfigurasi FTP (Vsftpd)

Konfigurasi Server FTP dengan Vstpd



Sebelumnya, kita kenali dulu apa itu FTP. FTP (File Transfer Protocol) adalah Suatu protocol yang berfungsi untuk Sharing file antar Client dan juga Server dalam suatu network yang mendukung TCP/IP Protocol.


Jadi, dengan adanya FTP ini akan mempermudah kita Sharing file antar PC 1 dengan PC lainnya. Lebih praktis, tanpa perlu colak-colok usb drive lagi.

Server : CentOS 7
Client 1: Windows
Client 2: Lubuntu 16.04 LTS

Pada kesempatan kali ini saya akan share tutorial Konfigurasi FTP Server dengan Vsftpd.
Oke langsung saja mulai konfigurasi..

User Mode

Konfigurasi Server

1) Install paket Vsftpd terlebih dahulu
yum install vsftpd -y 

2) Pastikan terinstall dengan baik


3) Edit file vsftpd.conf yang terletak di directory /etc/vsftpd/


4) Karena disini kita akan menggunakan User mode, yaitu yang dimana pada saat kita ingin mengakses ftp, kita harus login dahulu dengan user yang sudah dibuat. Maka dari itu cari syntak anonymous_enable=YES, jika sudah ketemu, ubah YES menjadi NO


5) Masih di vsftpd.conf. Secara default, ascii ini dalam keadaan non-aktif, bisa dillihat dengan tanda # yang tertera pada bagian awal kalimat. ASCII digunakan untuk pertukaran informasi dan komunikasi data. ASCII merupakan kode angka yang mewakili sebuah karakter. ASCII digunakan karena komputer hanya mengerti angka-angka. maka dari itu, cari syntak ascii blablabla yang sudah saya tandai di bawah ini, kemudian hilangkan tanda pagar di depannya agar ascii aktif dan kita bisa upload/download file di dalam FTP tersebut.
kemudian hilangkan juga tanda # pada ftpd_banner, yang dimana nantinya syntak ini akan menampilkan bacaan, informasi, pada saat client login ke FTP, disini bacaannya bisa kalian ganti dengan apa saja yang kalian mau


7) Jika sudah, Scrool kebagian paling bawah, kemudian isikan script berikut
use_localtime=YES

8) Jalankan Vsftpd, dan juga Enable agar Vsftpd berjalan otomatis ketika di restart
systemctl start vsftpd
systemctl  enable vsftpd

9) Aktifkan port 21 pada Firewall. Mengapa port 21? Karena Port 21 merupakan Port yang digunakan FTP secara default.
firewall-cmd --permanent --add-port=21/tcp

Atau bisa juga dengan perintah ini
firewall-cmd --permanent --add-service=ftp

10) Jika sudah, reload Firewall agar konfigurasi yang baru berjalan dengan baik
firewall-cmd --reload

11) Aktifkan service FTP pada SElinux
setsebool -P ftp_home_dir on

12) Buat user yang nantinya akan digunakan untuk login ke FTP
useradd "nama user"
passwd "nama user yang sudah dibuat" 

Verifikasi Client 1

1) Ketikan syntak berikut pada address bar file manager windows kalian untuk masuk ke FTP tersebut
ftp://"ip server FTP"

2) Akan muncul jendela login seperti gambar dibawah ini, masukan username beserta password dari user yang sudah dikonfigurasi tadi, jika sudak klik Log On


3) Coba test buat folder pada ftp tersebut, akan berhasil karena tadi sudah diberikan akses pada SElinux


Anonymous Mode


Jika tadi login ke FTP menggunakan User, Sekarang kita coba konfigurasi dengan mode Anonymous.

Konfigurasi Server

1) Edit kembali file vsftpd.conf
nano /etc/vsftpd.conf

2) Ubah anonymous_enable=NO menjadi anonymous_enable=YES


3) Kemudian restart Vsftpd agar konfigurasi yang baru berjalan


Verifikasi Client 1

1) Coba buat folder pada Ftp tersebut, Maka tidak akan bisa, dikarenakan anonymous belum dapat Permission Write pada SElinux dan pada file vsftpd.conf itu sendiri.


Re-Configure Server

1) Cari script seperti gambar dibawah ini, jika sudah ketemu, hilangkan tanda # pada syntak tersebut. Syntak ini berguna agar anonymous bisa mengupload file dan membuat directory


2) Buat directory baru, beri hak akses serta ganti ownership (kepemilikan) pada folder tersebut, secara default untuk anonymous terletak di folder /vaf/ftp/
mkdir /var/ftp/trihandika
chown ftp /var/ftp/trihandika/ 

3) Konfigurasi SELinux agar kita bisa upload atau mencreate pada folder ftp anonymous tersebut
chcon -t public_content_rw_t /var/ftp/trihandika
setsebool -P allow_ftpd_anon_write=1 

4) Restart Vsftpd agar konfigurasi yang baru berjalan dengan baik
systemctl restart vsftpd

Verifikasi Client 1

1) Buka kembali Ftp, setelah itu kunjungi folder anonymous yang sudah di konfigurasi tadi, kemudian coba buat file atau folder pada directory tersebut.

Bisaa :v

Tambahan :

Sekedar tambahan dari saya. Sebenarnya kita (Anonymous user) hanya bisa melakukan upload directory ke Ftp tersebut, di karenakan kita belum menambahkan script untuk membuat Anonymous bisa write, mengubah, memodifikasi terhadap file-file yang ada pada Ftp tersebut, berikut saya akan tampilkan sedikit gambarannya.

1) Coba buat folder baru ke Ftp tersebut menggunakan client, disini saya membuatnya melalui cmd, jika kalian ingin menggunakan file explorer ataupun yang lainnya, silhkan saja, gajadi masalah. untuk mengunjungi ftp lewat Cmd, gunakan perintah ftp "ip server kalian" dan login lah menggunakan user anonymous, untuk passwordnya biarkan saja kosong. Jika sudah, buat folder ke dalam ftp tersebut, kemudian coba hapus directory yang baru di buat tadi, maka tidak akan berhasil, karena anonymous hanya di izinkan upload folder, tidak bisa memodifikasi, dll.


Konfigurasi Server

1) Kembali ke Server, kemudian edit kembali pada /nano/etc/vsftpd/vsftpd.conf
nano /etc/vsftpd/vsftpd.conf 


2) Cari line yang saya tandai pada gambar di bawah ini, kemudian tambahkan script yang sudah saya tandai dengan warna kuning merah berikut
anon_other_write_enable=YES

3) Setelah itu restart Vsftpd agar konfigurasi berjalan dengan baik
systemctl restart vsftpd

Pengujian pada Client

1) Dan sekarang, coba remove folder yang sudah dibuat tadi

Berhasill :v

Sebenarnya Postingan ini tidak hanya saya sudahi sampai disini, akan ada beberapa konfigurasi tambahan lagi, seperti mengunjungi ftp dengan nama domain, upload download file dengan menggunakan terminal ataupun cmd, deny extension pada ftp, dll.
Jika ada waktu luang, akan segera secepatnya saya perbaharui postingan ini

Sekian, Semoga Bermanfaat...

Comments