vsftpd - FTP Server Installation
Pastikan komputermu terhubung dengan internet untuk instalasi FTP Server.
Masuk sebagai root, ketik dan enter:
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.
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=YESchroot_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.pemrsa_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.