GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Server FTP vsftpd dan Mengamankannya dengan TLS di Debian 11

File Transfer Protocol atau FTP adalah protokol jaringan yang sangat tua dan salah satu yang paling terkenal. Ini tidak aman dibandingkan dengan SFTP atau SCP hari ini tetapi masih menjadi pilihan pertama banyak pengguna untuk mentransfer file antara server dan klien. FTP dikenal sebagai tidak aman karena mentransfer data bersama dengan kredensial pengguna tanpa jenis enkripsi apa pun.

Kami memiliki berbagai macam server FTP open-source yang tersedia saat ini seperti FTPD, VSFTPD, PROFTPD, dan pureftpd. Di antara semuanya, VSFTPD adalah protokol yang sangat aman, cepat, dan paling banyak digunakan untuk mentransfer file antara dua sistem.

VSFTPD juga dikenal sebagai "Daemon Protokol Transfer File Sangat Aman" dengan dukungan SSL , IPv6, FTPS eksplisit dan implisit.

Dalam panduan ini, Kami akan menunjukkan Cara Menginstal Server FTP vsftpd di Debian 11.

Prasyarat

Server yang menjalankan Debian 11.
Pengguna non-root dengan hak istimewa sudo.

1. Instal Vsftpd

Sebelum Anda memulai instalasi, perbarui server Debian 11 Anda dengan menjalankan perintah berikut di terminal:

sudo apt update -y
sudo apt upgrade -y

Debian memiliki repositori yang sangat besar dan  Paket vsftpd  tersedia di repositori resmi, Jadi Anda dapat menginstal vsftpd dengan mudah dengan menjalankan perintah berikut:

sudo apt install vsftpd -y

Setelah instalasi paket, mulai layanan Vsftpd, periksa status layanan dan aktifkan layanan saat startup.

sudo systemctl start vsftpd

sudo systemctl status vsftpd

systemctl aktifkan vsftpd.service

2. Buat pengguna FTP dan konfigurasikan untuk login FTP

Sekarang, buat akun pengguna baru untuk FTP, dengan menggunakan pengguna ini kita akan masuk ke server FTP nanti.

sudo adduser sohan

Pengguna yang ditambahkan dalam file vsftpd.userlist memiliki izin untuk mengakses server FTP.

Selanjutnya, kita perlu menambahkan pengguna sohan dalam daftar pengguna vsftpd. Buka file dan tambahkan pengguna dengan menjalankan perintah berikut:

gema "sohan" | sudo tee -a  /etc/vsftpd.userlist

3. Buat direktori pengguna FTP

Selanjutnya, kita perlu membuat direktori FTP untuk pengguna FTP kita dan mengatur kepemilikan dengan perintah berikut:

sudo mkdir -p /home/sohan/ftp_directory

sudo chown none:nogroup /home/sohan/ftp_directory

sudo chmod a-w /home/sohan/ftp_directory

Sekarang, buat direktori tempat file dapat diunggah dan berikan kepemilikan kepada pengguna sohan dengan menjalankan perintah:

sudo mkdir -p /home/sohan/ftp_directory/ftp_data
sudo chown sohan:sohan /home/sohan/ftp_directory/ftp_data
cd /home/sohan/ftp_directory/
chmod -R 777 ftp_data

4. Konfigurasi Vsftpd

Selanjutnya, Anda perlu mengubah beberapa parameter default untuk menyiapkan server FTP.

Pertama, buat salinan cadangan dari file konfigurasi vsftpd asli.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Di server FTP, pengguna anonim diberikan akses secara default. Untuk membuat server FTP lebih aman, kami akan menonaktifkan login pengguna anonim dan hanya memberikan akses ke pengguna tertentu.

Selanjutnya buka file vsftpd.conf dan lakukan perubahan seperti di bawah ini:

vim /etc/vsftpd.conf
anonymous_enable=TIDAK

local_enable=YA

Ada beberapa perubahan lain yang perlu kita lakukan dalam konfigurasi, Pertama Buka vsftpd.conf

sudo vim /etc/vsftpd.conf

Selanjutnya, pastikan vsftpd.conf harus berisi baris berikut:

listen=TIDAK
listen_ipv6=YA
anonymous_enable=TIDAK
write_enable=YA
local_umask=022
dirmessage_enable=YA
use_localtime=YA
xferlog_enable=YA
connect_from_port_20=YA
chroot_local_user=YA
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
user_sub_token=$USER
local_root=/home/$USER/ftp_directory
userlist_enable=YA
userlist_file=/etc/vsftpd.userlist
userlist_deny=TIDAK

Simpan dan tutup file. Anda dapat mengubah konfigurasi di atas sesuai dengan kebutuhan Anda.

Sekarang restart layanan vsftpd dan periksa status layanan dengan menjalankan perintah berikut:

sudo systemctl restart vsftpd


Selanjutnya, pastikan layanan vsftpd dalam status berjalan dengan menjalankan perintah berikut di Terminal:

sudo systemctl status vsftpd

5. izinkan vsftpd di firewall dan akses server vsftpd

Selanjutnya, jika Anda menggunakan firewall, izinkan port 21 dan port 22 dengan menjalankan perintah berikut:

sudo ufw izinkan 21/tcp

sudo ufw izinkan 22/tcp

Kemudian muat ulang firewall untuk menerapkan perubahan:

sudo ufw reload

Selanjutnya, Buka klien FTP seperti FileZilla dan masukkan detail server Anda, Like Protocol, Host , User:


Sekarang, klik sambungkan, lalu masukkan kata sandi Anda:

Kemudian akan muncul detail seperti di bawah ini, klik OK.

Pada titik ini, Anda terhubung ke server FTP, dan Anda dapat mengunggah dan mengunduh file/folder.

6. Amankan Vsftpd menggunakan SSL/TLS

Katakanlah Anda ingin mentransfer data terenkripsi melalui FTP, untuk melakukannya Anda perlu membuat sertifikat SSL dan perlu mengaktifkan koneksi SSL/TLS.

Anda dapat membuat sertifikat menggunakan OpenSSL menggunakan perintah berikut:

sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

Sekarang, Anda perlu mengedit file vsftpd.conf dan membuat beberapa perubahan:

sudo vim /etc/vsftpd.conf

Tambahkan baris berikut pada akhirnya:

rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=YA
allow_anon_ssl=TIDAK
force_local_data_ssl=YA />force_local_logins_ssl=YA
ssl_tlsv1=YA
ssl_sslv2=TIDAK
ssl_sslv3=TIDAK
memerlukan_ssl_reuse=TIDAK
ssl_ciphers=TINGGI

Simpan dan keluar dari file, lalu mulai ulang Vsftpd menggunakan perintah berikut: 

sudo systemctl restart vsftpd

7. Akses FTP melalui SSL/TLS

Buka klien FTP FileZilla dan buka File> Sites Manager. Di sini, klik tambahkan Situs baru dan masukkan nama host/situs, tambahkan alamat IP, tentukan protokol yang akan digunakan, Enkripsi:Perlu menjelaskan FTP melalui TLS dan jenis logon. Kemudian klik tombol Hubungkan. Anda akan melihat gambar berikut:

Selanjutnya, masukkan kata sandi Anda:


Selanjutnya, Anda akan melihat sertifikat SSL, verifikasi detail sertifikat dan klik OK.


Akhirnya, Anda akan melihat konten server FTP Anda dan dapat mentransfer data Anda dengan aman dari satu sistem ke yang lain.

Kesimpulan

Dalam panduan di atas, kami telah menginstal server VSFTPD di Debian 11. Kami juga mempelajari cara terhubung melalui koneksi non-enkripsi dan melalui koneksi terenkripsi menggunakan sertifikat SSL.


Debian
  1. Cara Menginstal dan Mengonfigurasi server FTP (vsftpd) dengan SSL/TLS di Ubuntu 20.04

  2. Cara Menginstal dan Mengamankan MariaDB di Debian 11

  3. Cara Menginstal Server FTP di Rocky Linux 8 Dengan VSFTPD

  1. Cara Menginstal Server FTP di CentOS 7 Dengan VSFTPD

  2. Cara Menginstal Server FTP Di Ubuntu dengan vsftpd

  3. Cara Menginstal dan Mengamankan phpMyAdmin dengan Apache di Debian 9

  1. Cara Setup Server FTP dengan VSFTPD di Debian 9

  2. Cara Menginstal dan Mengkonfigurasi Drupal dengan Apache di Debian 9

  3. Cara Menginstal Server FTP vsftpd dengan SSL/TLS di CentOS 8