GNU/Linux >> Belajar Linux >  >> Panels >> cPanel

Cara Mengamankan vsFTPd Dengan SSL/TLS

Daemon FTP yang Sangat Aman, atau cukup vsFTPd adalah perangkat lunak ringan dengan kemampuan luar biasa untuk menyesuaikan. Dalam tutorial ini kita akan mengamankan instalasi yang sudah ada pada sistem Debian menggunakan sertifikat SSL/TLS yang kita tanda tangani sendiri. Meskipun ditulis untuk Debian, itu harus bekerja pada sebagian besar distribusi Linux seperti Ubuntu dan CentOS misalnya.

Instalasi vsFTPd

Pada VPS Linux yang baru, Anda harus menginstal vsFTPd terlebih dahulu. Meskipun Anda akan menemukan langkah-langkah dasar untuk menginstal vsFTPd dalam tutorial ini saya menyarankan Anda untuk membaca dua tutorial yang lebih mendetail ini juga:Setup vsFTPd di Debian/Ubuntu dan Menginstal vsFTPd di CentOS. Semua langkah mengenai penginstalan dijelaskan lebih hati-hati di sana.

Instalasi di Debian/Ubuntu:

apt-get install vsftpd

Instalasi di CentOS:

yum install epel-release
yum install vsftpd

Konfigurasi Buka file konfigurasi:/etc/vsftpd.conf di editor teks favorit Anda, dalam tutorial ini kami menggunakan nano .

nano /etc/vsftpd.conf

Rekatkan baris berikut ke dalam konfigurasi:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

Selesaikan dengan memulai ulang daemon vsFTPd Anda:

/etc/init.d/vsftpd restart

Sekarang Anda seharusnya dapat masuk sebagai pengguna lokal mana pun melalui FTP, sekarang mari kita lanjutkan dan mengamankan perangkat lunak ini.

Buat sertifikat yang ditandatangani sendiri

Sertifikat yang ditandatangani sendiri biasanya digunakan dalam protokol perjanjian kunci publik, Anda sekarang akan menggunakan openssl untuk menghasilkan kunci publik dan kunci pribadi yang sesuai. Pertama-tama kita perlu membuat direktori untuk menyimpan dua file kunci ini, sebaiknya di lokasi yang aman yang tidak dapat diakses oleh pengguna biasa.

mkdir -p /etc/vsftpd/ssl

Sekarang untuk pembuatan sertifikat yang sebenarnya, kita akan menyimpan kedua kunci dalam file yang sama (/etc/vsftpd/ssl/vsftpd.pem ):

openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem

Setelah menjalankan perintah, Anda akan ditanya beberapa pertanyaan seperti kode negara, negara bagian, kota, nama organisasi, dll. Gunakan informasi Anda sendiri atau organisasi Anda. Sekarang baris yang paling penting adalah Nama umum yang harus cocok dengan alamat IP VPS Anda, atau nama domain yang mengarah ke sana.

Sertifikat ini akan berlaku selama 365 hari (~1 tahun), akan menggunakan protokol perjanjian kunci RSA dengan panjang kunci 4096 bit, dan file yang berisi kedua kunci tersebut akan disimpan di direktori baru yang baru saja kita buat. Untuk detail selengkapnya tentang panjang kunci dan hubungannya dengan keamanan, lihat ini:Rekomendasi Enkripsi II.

Instal sertifikat baru di dalam vsFTPd

Untuk mulai menggunakan sertifikat baru kami dan dengan demikian menyediakan enkripsi, kami perlu membuka file konfigurasi lagi:

nano /etc/vsftpd.conf

Kita perlu menambahkan jalur ke sertifikat dan file kunci baru kita. Karena mereka disimpan dalam file yang sama, itu juga harus sama di dalam konfigurasi.

rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem

Kita harus menambahkan baris ini untuk memastikan SSL akan diaktifkan:

ssl_enable=YES

Secara opsional, kami dapat memblokir pengguna anonim untuk menggunakan SSL, karena enkripsi tidak diperlukan pada server FTP publik.

allow_anon_ssl=NO

Selanjutnya kita perlu menentukan kapan harus menggunakan SSL/TLS, ini akan mengaktifkan enkripsi baik untuk transfer data dan kredensial login

force_local_data_ssl=YES
force_local_logins_ssl=YES

Kami juga dapat menentukan versi dan protokol apa yang akan digunakan. TLS umumnya lebih aman daripada SSL dan oleh karena itu kami dapat mengizinkan TLS dan pada saat yang sama memblokir versi SSL yang lebih lama.

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Memerlukan penggunaan kembali SSL dan penggunaan sandi yang tinggi juga akan membantu meningkatkan keamanan. Dari halaman manual vsFTPd:

memerlukan_ssl_reuse Jika disetel ke ya, semua koneksi data SSL diperlukan untuk menunjukkan penggunaan kembali sesi SSL (yang membuktikan bahwa mereka mengetahui rahasia utama yang sama dengan saluran kontrol). Meskipun ini adalah default yang aman, ini dapat merusak banyak klien FTP, jadi Anda mungkin ingin menonaktifkannya. Untuk diskusi tentang konsekuensinya, lihat http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (Ditambahkan di v2.1.0).

ssl_ciphers Opsi ini dapat digunakan untuk memilih sandi SSL vsftpd mana yang akan mengizinkan koneksi SSL terenkripsi. Lihat halaman manual cipher untuk detail lebih lanjut. Perhatikan bahwa membatasi cipher dapat menjadi tindakan pencegahan keamanan yang berguna karena mencegah pihak jauh yang jahat memaksa cipher yang mereka temukan bermasalah.

require_ssl_reuse=YES
ssl_ciphers=HIGH

Selesaikan dengan memulai ulang vsftpd daemon

/etc/init.d/vsftpd restart

Konfirmasi pemasangan

Dan hanya itu, Anda sekarang harus dapat terhubung ke server Anda dan mengonfirmasi bahwa semuanya berfungsi. Jika Anda menggunakan FileZilla, dialog yang berisi informasi organisasi Anda (atau apa pun yang Anda masukkan saat membuat sertifikat sebelumnya) akan terbuka saat tersambung. Outputnya akan terlihat seperti ini:

Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.

Untuk mempelajari lebih lanjut tentang vsFTPd, lihat halaman manualnya:

man vsftpd

cPanel
  1. Instal Vsftpd dengan SSL / TLS di Ubuntu 20.04 - Prosedur Terbaik?

  2. Cara Mengamankan nama host Plesk pada port 8443 dengan sertifikat SSL

  3. Cara mengamankan koneksi dengan sertifikat SSL/TLS

  1. Cara mengamankan layanan email Linux Anda dengan SSL/TLS

  2. Cara mengamankan akun yang mendukung cPanel dengan sertifikat SSL Lets Encrypt

  3. Cara mengamankan akun yang mendukung cPanel dengan sertifikat SSL Sectigo

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

  2. Instal Vsftpd dengan SSL/TLS di Ubuntu 20.04

  3. Bagaimana Mengkonfigurasi VSFTPD dengan koneksi terenkripsi SSL/TLS?