F ile T ranfer P rotocol (FTP) masih merupakan teknologi yang banyak digunakan untuk memindahkan file melalui jaringan komputer. Ini terkenal karena ringan, mudah diatur dan digunakan. FTP memiliki reputasi buruk sebagai protokol yang tidak aman karena mengirimkan kata sandi dan data dalam teks biasa. Namun, server FTP modern seperti ProFTPD mendukung FTP melalui TLS, sehingga koneksi dienkripsi menggunakan TLS/SSL. Dalam tutorial ini, saya akan menunjukkan cara mengkonfigurasi ProFTPD agar koneksi dienkripsi menggunakan TLS.
ProFTPd adalah aplikasi server FTP open source yang memungkinkan Anda mengatur server FTP Anda sendiri di mesin Linux, terlebih lagi jika itu adalah server khusus atau instance cloud. Kami akan menginstal ProFTPD versi terbaru pada mesin Ubuntu 20.04 menggunakan repositori Focal Fossa, tetapi ini juga akan berfungsi dengan baik di sebagian besar distribusi berbasis Debian. Kami juga menyiapkan TLS untuk mengamankan koneksi FTP.
Prasyarat
- Instance server baru, dengan Ubuntu 20.04 ( Focal Fossa ) terinstal.
- Hak istimewa sudo/root untuk menginstal/mengonfigurasi aplikasi.
Memperbarui sistem Anda
Itu selalu merupakan ide yang baik untuk memperbarui sistem Anda sebelum menginstal paket atau perangkat lunak apa pun, terutama jika itu berasal dari repositori eksternal. Kami akan menggunakan utilitas "apt-get" untuk itu:
sudo apt-get update -y sudo apt-get upgrade -y
Reboot server Anda jika ada pembaruan kernel untuk menerapkan perubahan
sudo reboot now
Memasang Server ProFTPD
Setelah sistem Anda diperbarui, kami dapat melanjutkan penginstalan ProFTPD.
Secara default, ProFTPD tersedia di repositori Focal Fossa, yang dapat Anda instal dengan perintah berikut:
sudo apt-get install proftpd -y
Setelah penginstalan selesai, Anda dapat memulai layanan proftpd dan mengaktifkannya untuk memulai secara otomatis saat boot.
sudo systemctl start proftpd sudo systemctl enable proftpd
Setelah layanan berjalan, kita dapat memeriksa statusnya menggunakan:
sudo systemctl status proftpd
Anda dapat melihat yang aktif (berjalan) dalam warna hijau sehingga aman untuk menyimpulkan bahwa daemon proftpd berfungsi seperti yang diharapkan.
File konfigurasi default ProFTPD tersedia di direktori /etc/proftpd/proftpd.conf.
Anda dapat melihat konten file konfigurasi dengan menjalankan:
sudo nano /etc/proftpd/proftpd.conf
Konfigurasi dipecah menjadi beberapa bagian arahan. Mari kita lihat arahan tersebut.
Arahan DefaultRoot memberi tahu server FTP tempat menyajikan file secara default. Nilai DefaultRoot dapat berupa jalur absolut atau relatif. Ketika arahan DefaultRoot diatur ke ~ (karakter tilde), pengguna akan dibatasi ke direktori home mereka. Anda dapat mengubah jalur ke folder lain misalnya:
DefaultRoot /home/Linux/Docs
Anda dapat menggunakan berbagai arahan untuk mengatur setiap pengguna ke direktori tertentu. Misalnya:
DefaultRoot /home/linux A
DefaultRoot / B
Baris tersebut menunjukkan bahwa pengguna A akan masuk ke /home/linux direktori dan pengguna B akan masuk ke seluruh sistem.
Direktif ServerName digunakan untuk menentukan nama untuk server FTP. Arahan ini dapat digunakan dalam log dan notifikasi, jadi Anda harus menyetelnya ke nama deskriptif yang berarti bagi Anda.
ServerName "Vitux"
Arahan Port menentukan nomor port di mana server FTP akan mendengarkan koneksi. Nilai default direktif ini adalah 21.
Membuat Pengguna ProFTPD
Untuk alasan keamanan, Anda harus membuat akun pengguna dummy, dengan izin terbatas, yang hanya memiliki akses ke direktori home mereka. Ini adalah praktik yang baik untuk diikuti ketika Anda mengizinkan pengguna untuk mengunggah atau mengunduh file di server FTP Anda.
Versi ProFTPD yang diinstal tidak disertai dengan pengguna yang telah dibuat sebelumnya dan opsi konfigurasi di luar kotak. Kami perlu menambahkan pengguna baru untuk tujuan ini.
Mari kita buat pengguna FTP linuxways dengan folder /home/linuxways sebagai folder utama.
sudo useradd -m linuxways
Buat kata sandi baru untuk pengguna baru.
sudo passwd linuxways
Sekarang Anda dapat menguji koneksi FTP menggunakan pengguna "linuxways". Buka klien FTP pilihan Anda (FileZilla, CoreFTP atau lainnya), isi detail seperti alamat IP, nama pengguna, kata sandi dan Port dan klik Quick Connect .
Seperti yang Anda lihat, kami sekarang dapat mengakses FTP dengan pengguna yang baru dibuat. Server ProFTPd berjalan dan bekerja seperti yang diharapkan.
Jika Anda ingin menambahkan lebih banyak pengguna, cukup buat mereka menggunakan perintah useradd dengan nama pengguna yang Anda inginkan. Anda juga dapat memberikan hak akses root ke pengguna FTP jika diperlukan.
Konfigurasikan TLS untuk ProFTPD
Untuk mengamankan koneksi FTP, Anda dapat menggunakan TLS. Di bagian ini, kami akan mengonfigurasi ProFTPD dengan sertifikat TLS dari Let's Encrypt (penyedia SSL gratis) dan mengaktifkan sertifikat yang baru dibuat dalam file konfigurasi.
Pertama, instal OpenSSL
sudo apt-get install openssl -y
Sekarang kita telah menginstal OpenSSL, mari buat sertifikat SSL.
sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
Mari kita lihat sekilas apa yang terjadi di sini. Kami membuat direktori tempat sertifikat SSL akan dibuat (/etc/ssl), membuat permintaan sertifikat dan memberikannya validitas satu tahun (365 hari). Kami juga menentukan file kunci pribadi dan file sertifikat. Anda harus menjawab beberapa pertanyaan tentang organisasi Anda seperti di bawah ini. Cukup ketik jawabannya dan tekan Enter
Perintah di atas akan membuat dua file:proftpd.key dan proftpd.crt yang akan kita perlukan untuk mengkonfigurasi ProFTPD.
Ubah izin file kunci dan menjadi 600.
sudo chmod 600 /etc/ssl/private/proftpd.key sudo chmod 600 /etc/ssl/certs/proftpd.crt
Sekarang kita perlu mengedit file konfigurasi utama, yang terletak di /etc/proftpd/proftpd.conf , dan tambahkan beberapa informasi tentang file sertifikat kami yang baru dibuat.
sudo nano /etc/proftpd/proftpd.conf
Batalkan komentar pada bagian SSL dan TLS dengan menghapus “#” di awal baris, sehingga Anda dapat menggunakan FTP melalui SSL.
Simpan dan tutup file. Sekarang mari kita konfigurasikan file tls.conf
sudo nano /etc/proftpd/tls.conf
Temukan dan batalkan komentar pada baris berikut dengan menghapus "#" di awal setiap baris.
Simpan dan tutup file. Jangan lupa untuk memulai ulang layanan.
sudo systemctl restart proftpd
Jika Anda ingin memeriksa apakah semuanya berfungsi seperti yang diharapkan, gunakan klien FTP dan sambungkan ke server Anda dengan SSL diaktifkan. Anda akan diberikan peringatan TLS dari klien FTP Anda
Adalah umum untuk mendapatkan peringatan TLS dari klien FTP. Setelah Anda mengizinkan atau Oke peringatan, koneksi SSL harus dibuat dan Anda dapat terus menggunakan klien FTP seperti biasa.
Kesimpulan
Dalam tutorial ini, kami telah menginstal ProFTPD di server Ubuntu 20.04 kami, membuat pengguna untuk koneksi FTP dan menguji fungsinya. Kami juga telah mengonfigurasi TLS untuk mengamankan koneksi FTP dari penyadapan atau perusakan data saat transit. Jika Anda memerlukan informasi lebih lanjut tentang opsi konfigurasi ProFTPD, pastikan untuk memeriksa dokumentasi resminya.