FTP adalah protokol yang banyak digunakan untuk mentransfer file antara server dan klien. Ada banyak server FTP open-source yang tersedia sekarang setiap hari termasuk, FTPD, VSFTPD, PROFTPD, dan pureftpd. Diantaranya, VSFTPD adalah protokol yang aman, cepat, dan paling banyak digunakan di seluruh dunia. Ini juga disebut "Daemon Protokol Transfer File Sangat Aman". Ini juga mendukung SSL, IPv6, FTPS eksplisit dan implisit.
Dalam tutorial ini, kami akan menunjukkan cara menginstal VSFTPD di server CentOS 8 dan mengamankannya dengan SSL/TLS.
Prasyarat
- Server yang menjalankan CentOS 8.
- Kata sandi root dikonfigurasi di server Anda.
Instal VSFTPD
Secara default, VSFTPD tersedia di repositori default CentOS 8. Anda dapat menginstalnya dengan menjalankan perintah berikut:
instal dnf vsftpd -y
Setelah instalasi selesai, mulai layanan VSFTPD dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start vsftpd
systemctl aktifkan vsftpd
Pada titik ini, server VSFTPD Anda telah diinstal dan dijalankan. Sekarang Anda dapat melanjutkan ke langkah berikutnya.
Buat Pengguna untuk VSFTPD
Selanjutnya, Anda perlu membuat pengguna baru untuk VSFTPD. Jadi Anda dapat mengakses server FTP Anda menggunakan pengguna ini.
Jalankan perintah berikut untuk membuat pengguna baru bernama vyom seperti gambar di bawah ini:
adduser vyom
Selanjutnya, atur kata sandi untuk vyom pengguna dengan perintah berikut:
passwd vyom
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi VSFTPD
Selanjutnya, buka file konfigurasi default VSFTPD yang terletak di direktori /etc/vsftpd seperti gambar di bawah ini:
nano /etc/vsftpd/vsftpd.conf
Ubah baris berikut:
anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=NOlisten_ipv6=YESpam_service_name=duserlist_enftpdSimpan dan tutup file setelah Anda selesai. Kemudian, restart layanan VSFTPD dan verifikasi status layanan dengan perintah berikut:
systemctl restart vsftpd
status systemctl vsftpdAnda akan melihat output berikut:
? vsftpd.service - Vsftpd ftp daemon Dimuat:dimuat (/usr/lib/systemd/system/vsftpd.service; dinonaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Jumat 21-02-2020 00:43:57 EST; 6 detik yang lalu Proses:2698 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (kode=keluar, status=0/SUCCESS) PID Utama:2699 (vsftpd) Tugas:1 (batas:6102) Memori:1020.0 K CGroup:/system.slice/vsftpd.service ??2699 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf 21 Februari 00:43:57 centos8 systemd[1]:Dihentikan Vsftpd ftp daemon.21 Februari 00:43 :57 centos8 systemd[1]:Memulai daemon Vsftpd ftp...21 Februari 00:43:57 centos8 systemd[1]:Memulai daemon Vsftpd ftp.Pada titik ini, server VSFTPD Anda dikonfigurasi. Sekarang Anda dapat melanjutkan ke semua VSFTPD melalui SELinux dan firewall.
Konfigurasi Firewall dan SELInux
Secara default, SELinux diaktifkan di CentOS 8. Jadi, Anda perlu mengonfigurasi SELinux untuk VSFTPD.
Anda dapat mengkonfigurasi SELinux untuk mengizinkan akses FTP dengan perintah berikut:
setsebool -P allow_ftpd_full_access=1Selanjutnya, Anda harus mengizinkan layanan FTP melalui firewalld. Anda dapat mengizinkannya dengan perintah berikut:
firewall-cmd --zone=public --permanent --add-service=ftpSelanjutnya, muat ulang layanan firewalld untuk menerapkan perubahan konfigurasi firewall:
firewall-cmd --reloadPada titik ini, firewall dan SELinux Anda dikonfigurasi untuk mengizinkan koneksi FTP masuk dari sistem jarak jauh. Sekarang Anda dapat melanjutkan untuk menguji koneksi FTP.
Hubungkan ke Server VSFTPD
Server VSFTPD Anda sekarang telah diinstal dan dikonfigurasi. Sekarang, saatnya menghubungkan server FTP dari sistem klien.
Untuk melakukannya, buka sistem Klien dan jalankan perintah berikut untuk menghubungkan server FTP Anda:
ftp 172.20.10.3Anda akan diminta untuk memberikan pengguna FTP Anda dan kata sandi seperti yang ditunjukkan di bawah ini:
Terhubung ke 172.20.10.3.220 (vsFTPd 3.0.3)Nama (172.20.10.3:root):vyom331 Harap tentukan kata sandinya.Kata Sandi:230 Login berhasil.Setelah koneksi berhasil dibuat, Anda akan melihat output berikut:
Tipe sistem jarak jauh adalah UNIX.Menggunakan mode biner untuk mentransfer file.ftp>Sekarang, ketik exit dan tekan tombol Enter untuk keluar dari sesi FTP.
Konfigurasikan VSFTPD dengan Dukungan TLS
Untuk alasan keamanan, adalah ide yang baik untuk mengenkripsi transmisi FTP dengan SSL/TLS. Untuk melakukannya, Anda perlu membuat sertifikat SSL dan mengonfigurasi server VSFTPD untuk menggunakannya.
Pertama, Anda perlu menginstal paket OpenSSL di sistem Anda. Anda dapat menginstalnya dengan perintah berikut:
dnf install openssl -ySetelah terinstal, buat direktori baru untuk menyimpan sertifikat SSL:
mkdir /etc/ssl/privateSelanjutnya, buat sertifikat yang ditandatangani sendiri dengan perintah berikut:
openssl req -newkey rsa:2048 -nodes -keyout /etc/ssl/private/vsftpd.key -x509 -days 365 -out /etc/ssl/private/vsftpd.crtBerikan semua informasi yang diperlukan seperti yang ditunjukkan di bawah ini:
Membuat kunci pribadi RSA...+++++...........+++++menulis kunci pribadi baru ke '/etc/ssl/private/vsftpd.key'- ---- Anda akan diminta untuk memasukkan informasi yang akan dimasukkan ke dalam permintaan sertifikat Anda. Apa yang akan Anda masukkan adalah apa yang disebut Distinguished Name atau DN. Ada beberapa bidang tetapi Anda dapat mengosongkannyaUntuk beberapa bidang akan ada nilai default,Jika Anda memasukkan '.', bidang tersebut akan dibiarkan kosong.-----Nama Negara (kode 2 huruf) [XX]:Nama Negara Bagian atau Provinsi (nama lengkap) []:GUJLocality Name (mis., kota) [Kota Default]:JUNONama Organisasi (mis., perusahaan) [Default Company Ltd]:ITNama Unit Organisasi (mis., bagian) []:ITNama Umum (mis., nama Anda atau nama host server Anda) [] :ftpserverAlamat Email []:[email protected]Setelah membuat sertifikat SSL, Anda perlu mengonfigurasi VSFTPD untuk menggunakan sertifikat ini.
Buka file konfigurasi default VSFTPD seperti yang ditunjukkan di bawah ini:
nano /etc/vsftpd/vsftpd.confTambahkan baris berikut di akhir file:
#Jalur dari sertifikat SSL certificatersa_cert_file=/etc/ssl/private/vsftpd.crtrsa_private_key_file=/etc/ssl/private/vsftpd.key#Aktifkan SSLssl_enable=YESallow_anon_ssl=NOforce_local=Ylogins_#ssl=Ylogins_forces_local_data_forces jadi aktifkan ssl_tlsv1_2.ssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrequire_ssl_reuse=NOssl_ciphers=HIGH#Aktifkan debugging SSL untuk menyimpan semua VSFTPD log.debug_ssl=YASimpan dan tutup file setelah Anda selesai. Kemudian, restart layanan VSFTPD untuk menerapkan perubahan:
systemctl restart vsftpdPada titik ini, server VSFTPD Anda dikonfigurasi untuk menggunakan sertifikat SSL. Sekarang Anda dapat melanjutkan ke langkah berikutnya.
Verifikasi Koneksi TLS VSFTPD
Server VSFTPD Anda sekarang diamankan dengan dukungan SSL/TLS. Selanjutnya, coba sambungkan server FTP Anda dari baris perintah seperti yang ditunjukkan di bawah ini:
ftp 172.20.10.3Anda akan melihat kesalahan pada keluaran berikut:
Terhubung ke 172.20.10.3.220 (vsFTPd 3.0.2)Nama (172.20.10.3:root):vyom530 Sesi non-anonim harus menggunakan enkripsi.Login gagal.421 Layanan tidak tersedia, server jarak jauh telah menutup koneksiftp>Anda tidak dapat terhubung ke server VSFTP Anda dari klien baris perintah. Karena tidak mendukung dukungan SSL/TLS.
Jadi, Anda perlu mengunduh dan menguji koneksi VSFTPD menggunakan klien FTP yang mendukung koneksi TLS.
Untuk melakukannya, buka sistem Klien dan instal paket klien FileZilla.
Setelah menginstal FileZilla, buka software FileZilla seperti gambar di bawah ini:
Selanjutnya Buka Site Manager seperti gambar dibawah ini :
Klik Situs Baru untuk menambahkan koneksi FTP baru seperti yang ditunjukkan di bawah ini:
Berikan IP server FTP Anda, Pilih protokol FTP, Pilih "Gunakan FTP eksplisit melalui TLS", Pilih minta kata sandi, berikan nama pengguna server FTP Anda dan klik tombol Hubungkan tombol. Anda akan diminta untuk memberikan kata sandi pengguna FTP seperti yang ditunjukkan di bawah ini:
Berikan kata sandi FTP Anda dan klik OK tombol. Anda akan diminta untuk memverifikasi sertifikat yang digunakan untuk koneksi SSL/TLS seperti yang ditunjukkan di bawah ini:
Klik Oke tombol untuk memverifikasi sertifikat. Setelah koneksi berhasil dibuat, Anda akan melihat layar berikut:
Kesimpulan
Dalam panduan di atas, kami telah menginstal server VSFTPD pada CentOS 8. Kami juga telah mengonfigurasi server VSFTPD untuk menggunakan sertifikat SSL/TLS. Server FTP Anda sekarang diamankan. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.
Cara Menginstal DokuWiki dengan Nginx dan Mari mengenkripsi SSL di CentOS 8 Instal Firewall Aplikasi Web LibModsecurity dengan Nginx di CentOS 8Cent OS