vsftpd - FTP Server Installation

Pastikan komputermu terhubung dengan internet untuk instalasi FTP Server.
Masuk sebagai root, ketik dan enter:
sudo su
Install vsftpd dengan perintah:
apt install vsftpd
Tunggu hingga proses instalasi selesai.

Anonymous FTP Configuration

Jika ingin mengizinkan anonym user, untuk edit ketik "nano /etc/vsftpd.conf" dan ubah pada line dibawah ini:
anonymous_enable=Yes 
Simpan dan save.

Saat instalasi ftp dibuat user direktori utama berada di /srv/ftp. Ini adalah direktori FTP default.

Jika anda ingin mengubah lokasi ke /srv/files/ftp sebagai contoh, mudahnya buatlah sebuah direktori di lokasi lain dan ubah home direktori ftp usernya:
mkdir /srv/files/ftp
usermod -d /srv/files/ftp ftp  
Setelah melakukan lerubahan, restart vsftpd:
restart vsftpd
Terakhir, copy file dan/atau direktori apapun yang anda inginkan agar FTP anonymous tersedia di /srv/files/ftp, atau /srv/ftp jika anda menggunakanya sebagai default.

FTP Configuration

Secara default konfigurasi vsftpd untuk otentifikasi system users and mengijinkan mereka untuk mendownload files. Jika kamu ingin user dapat mengupload files, edit "nano /etc/vsftpd.conf":seperti pada gambar 1 diatas.
write_enable=YES
restart vsftpd:
restart vsftpd
Sekarang ketika system user login FTP akan dimulai di direktori home dimana user bisa mendownload, upload, membuat direktori, dll.

Demikian pula, secara default, user tidak dikenal tidak diijinkan untuk mengupload file ke FTP server. Untuk mengubah settingan ini, hapus comment pada line, dan restart vsftpd:
anon_upload_enable=YES
Mengijinkan user tidak dikenal untuk mengupload file di FTP server adalah sangat berisiko. Langkah yang terbaik adalah untuk tidak memberikan izin kepada user tidak dikenal untuk mengakses upload ke FTP server khususnya dari Internet.

File konfigurasi terdiri dari banyak parameter konfigurasi. Informasi tentang setiap parameter tersedia dalam file konfigurasi. Sebagai alternatif, Anda bisa merujuk ke halaman manual, man 5 vsftpd.conf untuk rincian setiap parameter.

Securing FTP

Ada beberapa pilihan di /etc/vsftpd.conf untuk membuat vsftpd lebih aman. Sebagai contoh pengguna dapat membatasi home direktori mereka dengan menghapus tanda komentar pada:
chroot_local_user=YES
Anda juga bisa membatasi daftar pengguna tertentu ke direktori home mereka saja:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Setelah menghapus tanda komentar diatas, buatlah /etc/vsftpd.chroot_list daftar pengguna satu per baris. Lalu restart vsftpd:
restart vsftpd
Selain itu, file / etc / ftpusers adalah daftar pengguna yang tidak diberi akses FTP. Daftar default mencakup root, daemon, nobody, dll. Untuk menonaktifkan akses FTP bagi pengguna tambahan cukup menambahkannya ke dalam daftar.

FTP juga bisa dienkripsi menggunakan FTPS. Berbeda dengan SFTP, FTPS adalah FTP over Secure Socket Layer (SSL). SFTP adalah FTP seperti sesi melalui koneksi SSH terenkripsi. Perbedaan utama adalah pengguna SFTP perlu memiliki akun shell pada sistem, bukan shell nologin. Menyediakan semua pengguna shell mungkin tidak ideal untuk beberapa lingkungan, seperti host web bersama. Namun, memungkinkan untuk membatasi akun tersebut hanya dengan SFTP dan menonaktifkan interaksi shell.

Untuk mengkonfigurasi FTPS, edit /etc/vsftpd.conf dan di bagian bawah tambahkan:
ssl_enable=Yes
Perhatikan juga pilihan sertifikat dan kunci yang terkait:
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Secara default pilihan ini diatur ke sertifikat dan kunci yang diberikan oleh paket ssl-cert. Dalam lingkungan produksi ini harus diganti dengan sertifikat dan kunci yang dihasilkan untuk host tertentu.

Sekarang restart vsftpd, dan pengguna non-anonim akan terpaksa menggunakan FTPS:
restart vsftpd
Untuk mengizinkan pengguna dengan akses shell / usr / sbin / nologin ke FTP, namun tidak memiliki akses shell, edit / etc / shells menambahkan nologin shell:
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/usr/sbin/nologin
Hal ini diperlukan karena, secara default vsftpd menggunakan PAM untuk otentikasi, dan file konfigurasi /etc/pam.d/vsftpd berisi:
auth    required        pam_shells.so
Modul PAM shells membatasi akses ke shells yang tercantum dalam file / etc / shells.

Klien FTP yang paling populer dapat dikonfigurasi untuk terhubung menggunakan FTPS. Baris lftp FTP client memiliki kemampuan untuk menggunakan FTPS juga.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © - TeKaJe DotCom - Powered by Blogger - Designed by Tekaje Dotcom -