Protokol Transfer File (FTP) adalah protokol jaringan standar yang digunakan untuk menyalin file dari satu host ke host lain melalui jaringan berbasis TCP, seperti Internet. FTP dibangun pada arsitektur client-server dan menggunakan kontrol terpisah dan koneksi data antara klien dan server. Pengguna FTP dapat mengautentikasi diri mereka sendiri menggunakan protokol masuk teks yang jelas tetapi dapat terhubung secara anonim jika server dikonfigurasi untuk mengizinkannya.
Aplikasi klien FTP pertama adalah alat baris perintah interaktif, mengimplementasikan perintah dan sintaks standar. Klien antarmuka pengguna grafis telah dikembangkan untuk banyak sistem operasi desktop populer yang digunakan saat ini.
Instal server FTP
Sebelum menginstal vsftpd, pastikan server memiliki akses ke internet. Jika tidak ada, konfigurasi repositori YUM lokal untuk instalasi vsftpd.
instal server vsftpd menggunakan perintah berikut.
# yum -y install vsftpd
Konfigurasi Server FTP
File konfigurasi akan berada di folder /etc/vsftp. Vsftpd.conf adalah file konfigurasi server FTP.
# vi /etc/vsftpd/vsftpd.conf
File ini berisi banyak arahan yang membantu memperkuat keamanan server FTP; berikut ini adalah directive penting yang sudah ditempatkan di file tersebut.
Petunjuk
| Di Vsftpd.conf | Menggunakan |
anonymous_enable | YA | Mengontrol apakah login anonim diizinkan atau tidak. Jika diaktifkan, nama pengguna ftp dan anonim akan dikenali sebagai login Anonim. |
local_enable | YA | Mengontrol apakah login lokal diizinkan atau tidak. Jika diaktifkan, akun pengguna normal di /etc/passwd (atau di mana pun referensi konfigurasi PAM Anda) dapat digunakan untuk masuk. Ini harus diaktifkan agar semua proses masuk non-anonim dapat berfungsi, termasuk pengguna virtual. |
aktifkan_tulis | YA | Ini mengontrol apakah perintah FTP yang mengubah sistem file diizinkan atau tidak. Perintah ini adalah: STOR, DELE, RNFR,RNTO, MKD, RMD, APPE, dan SITE. |
local_umask | 022 | Nilai yang ditetapkan umask untuk pembuatan file untuk lokal Pengguna. |
anon_upload_enable | YA
Tapi itu mengomentari file, perlu membatalkan komentar. | Jika disetel ke YA, pengguna anonim akan diizinkan untuk mengunggah file dalam kondisi tertentu. Agar ini berfungsi, opsi write_enable harus diaktifkan, dan pengguna ftp anonim harus memiliki izin menulis di lokasi unggahan yang diinginkan. Setelan ini juga diperlukan atau diunggah oleh pengguna virtual; secara default, pengguna virtual diperlakukan dengan hak istimewa anonim (yaitu Dibatasi secara maksimal). |
anon_mkdir_write_enable | YA
Tapi itu mengomentari file, perlu membatalkan komentar. | Jika disetel ke YA, pengguna anonim akan diizinkan untuk membuat Direktori baru dalam kondisi tertentu. Agar ini berfungsi, opsi write_enable harus diaktifkan, dan pengguna ftp anonim harus memiliki izin menulis di direktori induk. |
dengarkan | YA
| Jika diaktifkan, vsftpd akan berjalan dalam mode mandiri. Ini berarti bahwa Vsftpd tidak boleh dijalankan dari sejenis inetd. Sebagai gantinya, Eksekusi Vsftpd dijalankan sekali secara langsung. Vsftpd sendiri kemudian akan menangani mendengarkan dan menangani koneksi masuk. |
Berikut ini adalah beberapa opsi lain yang dapat Anda tambahkan ke dalam file untuk keamanan lebih.
Arahan | opsi | Deskripsi |
daftar_pengguna | YA/TIDAK | Jika diaktifkan, vsftpd akan memuat daftar nama pengguna, dari nama file yang diberikan oleh userlist_file. Jika pengguna mencoba masuk menggunakan nama dalam file ini, mereka akan ditolak sebelum dimintai kata sandi. Ini mungkin berguna untuk mencegah pengiriman kata sandi cleartext. Lihat juga userlist_deny. |
chroot_local_user | YA/TIDAK | Jika disetel ke YA, pengguna lokal akan (secara default) ditempatkan di jail chroot() di direktori home mereka setelah login. Peringatan:Opsi ini memiliki aplikasi keamanan, terutama jika pengguna memiliki izin unggah, atau akses shell. Hanya aktifkan jika Anda tahu Apa yang Anda lakukan. Perhatikan bahwa implikasi keamanan ini Tidak spesifik vsftpd. Mereka berlaku untuk semua daemon FTP yang menawarkan Untuk menempatkan pengguna lokal di penjara chroot(). |
tarif_maksimal lokal | Dalam kb Contoh: local_max_rate=1000 | Kecepatan transfer data maksimum yang diizinkan, dalam byte per detik, untuk pengguna lokal yang diautentikasi. Bawaan:0 (tidak terbatas) |
anon_max_rate | dalam kb Contoh: anon_max_rate=1000 | Kecepatan transfer data maksimum yang diizinkan, dalam byte per detik, untuk klien anonim. Bawaan:0 (tidak terbatas) |
tanpa_anon_sandi | YA/TIDAK | Saat diaktifkan, tindakan ini mencegah vsftpd meminta sandi anonim – pengguna anonim akan langsung masuk. |
Di sini, kami hanya akan melihat persyaratan kami. Mari kita nonaktifkan login anonim dengan mengedit entri berikut di file konfigurasi.
anonymous_enable=NO
Izinkan pengguna lokal untuk login di vsftpd.
local_enable=YES
Aktifkan akses tulis ke pengguna lokal.
write_enable=YES
Masukkan pengguna lokal ke "chroot jailed" sehingga mereka akan ditolak untuk mengakses bagian mana pun dari file sistem
chroot_local_user=YES
Izinkan pengguna chroot untuk menulis.
allow_writeable_chroot=YES
Mulai ulang layanan vsftpd.
# systemctl restart vsftpd.service
Setel vsftpd untuk memulai saat boot sistem.
# systemctl enable vsftpd.service
Firewall
Izinkan port 21 di firewall, sehingga vsftp dapat diakses melalui jaringan.
# firewall-cmd --permanent --zone=public --add-port=21/tcp # firewall-cmd --reload
SELinux
Keluarkan perintah berikut untuk mengaktifkan izin menulis di direktori home.
# setsebool -P ftp_home_dir 1
Itu saja. Untuk menggunakan FileZilla atau WinSCP, Anda harus mengaktifkan mode pasif di vsftp .