Mentransfer file melalui FTP (File Transfer Protocol) mungkin masih menjadi salah satu cara paling populer untuk mengunggah file ke server. ProFTPD adalah server FTP populer dan serbaguna yang tersedia sebagai perangkat lunak sumber terbuka dan mendukung TLS (SSL) untuk koneksi yang aman.
Secara default, FTP adalah protokol yang tidak aman karena kata sandi dan data ditransfer dalam bentuk teks yang jelas. Dengan menggunakan TLS, seperti yang kita lakukan dalam panduan ini, semua komunikasi dapat dienkripsi, membuat FTP lebih aman.
Artikel ini menjelaskan cara mengkonfigurasi proftpd dengan TLS di server Ubuntu 20.04 LTS .
Prasyarat
- Server Ubuntu 20.04 64bit
- hak istimewa sudo/root
Apa yang akan kita lakukan dalam tutorial ini
- Instal ProFTPD dan TLS.
- Konfigurasikan ProFTPD.
- Tambahkan pengguna FTP.
- Konfigurasikan TLS di ProFTPD.
- Pengujian.
Instal Proftpd dan OpenSSL
Proftpd dan OpenSSL tersedia di repositori Ubuntu, jadi kita bisa menginstalnya dengan perintah apt:
sudo apt-get install -y proftpd openssl
ProFTPD akan diinstal seperti yang ditunjukkan di bawah ini. Proses instalasi tidak akan meminta input apa pun.
Sekarang kami akan memverifikasi bahwa proFTPD telah diinstal dan dimulai. Jalankan perintah ini:
sudo proftpd --version
untuk memeriksa versi ProFTPD yang diinstal. Selanjutnya kita akan mengecek status service, query dengan perintah systemctl:
sudo systemctl status proftpd
Konfigurasikan ProFTPD
Setelah ProFTPD diinstal, Anda harus menyesuaikan konfigurasi untuk menjadikannya server yang berfungsi penuh dan aman. File konfigurasi ProFTPD terletak di direktori /etc/proftpd/ – edit file proftpd.conf.
sudo nano /etc/proftpd/proftpd.conf
Pada baris Servername, ganti nilainya dengan hostname atau domain Anda :
NamaServer "Server FTP Saya"
Batalkan komentar pada baris DefaultRoot untuk mengaktifkan jail bagi semua pengguna:
DefaultRoot
dan restart ProFTPD melalui perintah systemctl dengan cara berikut.
sudo systemctl restart proftpd
Tambahkan Pengguna FTP
Ada dua jenis pengguna FTP yang tersedia, pengguna FTP anonim dan pengguna FTP 'normal':
- FTP Anonim : Server FTP memberikan akses kepada siapa saja tanpa harus memiliki akun pengguna dan sandi. Ini tidak boleh digunakan pada server yang tersedia untuk umum, tetapi mungkin merupakan opsi untuk server rumah atau LAN perusahaan.
- Pengguna FTP :Hanya mereka yang memiliki akun pengguna dan kata sandi yang dapat mengakses server FTP.
Sebelum Anda membuat pengguna untuk server FTP, harap tambahkan /bin/false ke file /etc/shells Anda.
sudo echo "/bin/false">> /etc/shells
Dan sekarang, buat pengguna dengan direktori home tertentu, nonaktifkan akses shell, lalu berikan ke Server FTP.
sudo useradd -m -s /bin/false tomsudo passwd tom
Perintah di atas akan membuat user baru bernama tom dengan direktori home /home/tom/ dan tanpa akses shell /bin/false.
Sekarang, konfigurasikan ProFTPD untuk mengizinkan akses bagi pengguna ke server FTP.
sudo nano /etc/proftpd/conf.d/tom.conf
Tambahkan file konfigurasi ini untuk memungkinkan pengguna login dan mengunggah/mengunduh file ke/dari server :
Umask 022 022 AllowOverwrite off AllowUser to DenyALL Order Allow, Deny AllowUser to Deny ALL AllowUser to Deny ALL
File akan terlihat seperti ini:
Simpan file dan keluar dari nano. Kemudian mulai ulang ProFTPD.
sudo systemctl restart proftpd
Anda sudah dapat menggunakan FTP pada tahap ini, tetapi kami akan membuatnya lebih aman dengan menggunakan TLS pada langkah berikutnya.
Konfigurasikan TLS dengan proftpd
Untuk menggunakan TLS, Anda harus membuat sertifikat SSL. Buat sertifikat SSL dengan perintah OpenSSL :
sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
Perintah di atas akan menghasilkan file sertifikat proftpd.crt di direktori /etc/ssl/certs/, dan file kunci sertifikat proftpd.key di direktori /etc/ssl/private/.
Selanjutnya, ubah izin file sertifikat menjadi 600:
sudo chmod 600 /etc/ssl/certs/proftpd.crtsudo chmod 600 /etc/ssl/private/proftpd.key
Sekarang, kembali ke direktori /etc/proftpd dan konfigurasikan ProFTPD untuk menggunakan sertifikat SSL yang Anda buat.
nano /etc/proftpd/proftpd.conf
Batalkan komentar pada baris TLS:
Sertakan /etc/proftpd/tls.conf
Simpan file tls.conf dan keluar.
Selanjutnya, edit file konfigurasi TLS untuk mengaktifkan otentikasi aman :
nano /etc/proftpd/tls.conf
Batalkan komentar semua baris ini:
TLSEngine onTLSLog /var/log/proftpd/tls.logTLSProtokol SSLv23TLSRSACertificateFile /etc/ssl/certs/proftpd.crtTLSRSACertificateKeyFile /etc/ssl/private/proftpd.keyTLSOptions NoCertRequestDiaktifkanRequestClientNoCertRequestRequestSimpan dan keluar. Langkah terakhir adalah me-restart server ProFTPD:
sudo systemctl restart proftpdMenguji ProFTPD
Untuk menguji konfigurasi, coba sambungkan ke server FTP Anda dengan perangkat lunak seperti FileZilla (saya menggunakan FileZilla di sini), dan isi IP server, nama pengguna, kata sandi, dan port:
IP Server :192.168.0.100nama pengguna :tomPassword ******Port :21Lalu klik Quickconnect.
Klik 'OK' untuk mengonfirmasi sertifikat SSL kami yang ditandatangani sendiri.
Anda akan melihat bahwa Anda telah masuk ke Server FTP dengan sertifikat TLS/SSL.
Tautan
- Proyek Perangkat Lunak ProFTPD. Tautan