Cara Mengamankan Server FTP Menggunakan SSL/TLS Untuk Transfer File Aman di Centos 7
- 3001
- 895
- Darryl Ritchie
Dengan desain aslinya, Ftp (Protokol transfer file) tidak aman, artinya tidak mengenkripsi data yang ditransmisikan antara dua mesin, bersama dengan kredensial pengguna. Ini menimbulkan ancaman besar terhadap data serta keamanan server.
Dalam tutorial ini, kami akan menjelaskan cara mengaktifkan layanan enkripsi data secara manual di server FTP di CentOS/RHEL 7 dan Fedora; Kami akan melalui berbagai langkah mengamankan Vsftpd (Daemon FTP yang sangat aman) Layanan menggunakan SSL/TLS sertifikat.
Prasyarat:
- Anda harus menginstal dan mengonfigurasi server FTP di CentOS 7
Sebelum kita mulai, perhatikan bahwa semua perintah dalam tutorial ini akan dijalankan sebagai akar, Jika tidak, gunakan perintah sudo untuk mendapatkan hak istimewa root jika Anda tidak mengontrol server menggunakan akun root.
Langkah 1. Menghasilkan Sertifikat SSL/TLS dan Kunci Pribadi
1. Kita perlu mulai dengan membuat subdirektori di bawah: /etc/ssl/
dimana kita akan menyimpan SSL/TLS Sertifikat dan file kunci:
# mkdir/etc/ssl/private
2. Kemudian jalankan perintah di bawah ini untuk membuat sertifikat dan kunci vsftpd Dalam satu file, berikut adalah penjelasan dari setiap bendera yang digunakan.
- req - adalah perintah untuk x.509 Manajemen Permintaan Penandatanganan Sertifikat (CSR).
- x509 - berarti x.509 Manajemen Data Sertifikat.
- hari -hari - mendefinisikan jumlah hari sertifikat berlaku untuk.
- Newkey - Menentukan prosesor kunci sertifikat.
- RSA: 2048 - Prosesor kunci RSA, akan menghasilkan kunci pribadi 2048 bit.
- keyout - Mengatur file penyimpanan kunci.
- keluar - Menetapkan file penyimpanan sertifikat, perhatikan bahwa baik sertifikat dan kunci disimpan dalam file yang sama: /etc/ssl/private/vsftpd.PEM.
# OpenSSL Req -x509 -nodes -keyout/etc/ssl/private/vsftpd.PEM -Out/etc/ssl/private/vsftpd.PEM -days 365 -NewKey RSA: 2048
Perintah di atas akan meminta Anda untuk menjawab pertanyaan di bawah ini, ingatlah untuk menggunakan nilai yang berlaku untuk skenario Anda.
Nama Negara (2 Kode Surat) [xx]:DI DALAM Nama Negara Bagian atau Provinsi (Nama Lengkap) []:Parel yang lebih rendah Nama Lokalitas (mis. Kota) [Kota Default]:Mumbai Nama Organisasi (mis. Perusahaan) [Default Company Ltd]:Tecmint.com Nama Unit Organisasi (misalnya, bagian) []:Linux dan Open Source Nama Umum (mis. Nama Anda atau nama host server Anda) []:tecmint Alamat email []:[Email dilindungi]
Langkah 2. Mengkonfigurasi VSFTPD untuk menggunakan SSL/TLS
3. Sebelum kita melakukan konfigurasi VSFTPD, mari kita buka port 990 Dan 40000-50000 Untuk mengizinkan koneksi TLS dan rentang port port pasif untuk menentukan masing -masing dalam file konfigurasi VSFTPD:
# firewall-cmd --zone = public --permanent --add-port = 990/tcp # firewall-cmd --zone = public --permanent --add-port = 40000-50000/tcp # firewall-cmd- Muat ulang
4. Sekarang, buka file konfigurasi VSFTPD dan tentukan detail SSL di dalamnya:
# vi/etc/vsftpd/vsftpd.conf
Cari opsinya ssl_enable dan mengatur nilainya YA
Untuk mengaktifkan penggunaan SSL, di samping itu, karena TSL lebih aman daripada SSL, kami akan membatasi VSFTPD untuk menggunakan TLS sebagai gantinya, menggunakan ssl_tlsv1_2 pilihan:
ssl_enable = ya ssl_tlsv1_2 = ya ssl_sslv2 = tidak ssl_sslv3 = tidak
5. Kemudian, tambahkan baris di bawah ini untuk menentukan lokasi sertifikat SSL dan file kunci:
rsa_cert_file =/etc/ssl/private/vsftpd.PEM rsa_private_key_file =/etc/ssl/private/vsftpd.PEM
6. Selanjutnya, kita harus mencegah pengguna anonim menggunakan SSL, kemudian memaksa semua login non-anonim untuk menggunakan koneksi SSL yang aman untuk transfer data dan mengirim kata sandi selama login:
allow_anon_ssl = no force_local_data_ssl = ya force_local_logins_ssl = ya
7. Selain itu, kami dapat menambahkan opsi di bawah ini untuk meningkatkan keamanan server FTP. Saat opsi membutuhkan_ssl_reuse diatur ke YA
, Kemudian, semua koneksi data SSL diperlukan untuk menunjukkan penggunaan kembali sesi SSL; membuktikan bahwa mereka tahu rahasia utama yang sama dengan saluran kontrol.
Karena itu, kita harus mematikannya.
membutuhkan_ssl_reuse = tidak
Sekali lagi, kita perlu memilih SSL Cipher VSFTPD mana yang akan mengizinkan koneksi SSL terenkripsi dengan SSL_CIPHERS pilihan. Ini dapat sangat membatasi upaya penyerang yang mencoba memaksa sandi tertentu yang mungkin mereka temukan kerentanan dalam:
ssl_ciphers = tinggi
8. Sekarang, atur rentang port (min dan port max) dari port pasif.
pasv_min_port = 40000 pasv_max_port = 50000
9. Secara opsional, izinkan SSL Debugging, yang berarti diagnostik koneksi openssl dicatat ke file log VSFTPD dengan debug_ssl pilihan:
debug_ssl = ya
Simpan semua perubahan dan tutup file. Lalu mari kita restart layanan vsftpd:
# Systemctl Restart vsftpd
Langkah 3: Menguji server FTP dengan koneksi SSL/TLS
10. Setelah melakukan semua konfigurasi di atas, uji jika VSFTPD menggunakan koneksi SSL/TLS dengan mencoba menggunakan FTP dari baris perintah sebagai berikut:
# FTP 192.168.56.10 terhubung ke 192.168.56.10 (192.168.56.10). 220 Selamat Datang di Tecmint.Layanan Com FTP. Nama (192.168.56.10: root): ravi 530 sesi non-anonim harus menggunakan enkripsi. Gagal masuk. Layanan 421 Tidak tersedia, server jarak jauh memiliki koneksi tertutup FTP>Verifikasi Koneksi Aman SSL FTP
Dari bidikan layar di atas, kita dapat melihat bahwa ada kesalahan yang memberi tahu kami bahwa VSFTPD hanya dapat memungkinkan pengguna untuk masuk dari klien yang mendukung layanan enkripsi.
Baris perintah tidak menawarkan layanan enkripsi sehingga menghasilkan kesalahan. Jadi, untuk terhubung dengan aman ke server, kami membutuhkan klien FTP yang mendukung koneksi SSL/TLS seperti FileZilla.
Langkah 4: Instal FileZilla untuk terhubung dengan aman ke server FTP
11. FileZilla adalah klien FTP lintas platform modern, populer, dan penting yang mendukung koneksi SSL/TLS secara default.
Untuk menginstal FileZilla di Linux, jalankan perintah di bawah ini:
--------- Di centos/rhel/fedora --------- # YUM Instal Epel-Release FileZilla --------- Di debian/ubuntu --------- $ sudo apt-get install filezilla
12. Saat instalasi selesai (atau jika Anda sudah menginstalnya), buka dan buka File => Situs Manajer atau (tekan Ctrl+s
) untuk mendapatkan Manajer situs antarmuka di bawah ini.
Klik Situs baru Tombol untuk Menambahkan Situs Baru/Detail Koneksi Host.
Tambahkan Situs FTP Baru di FileZilla13. Selanjutnya, atur nama host/situs, tambahkan alamat IP, tentukan protokol untuk digunakan, enkripsi, dan jenis logon seperti pada tangkapan layar di bawah ini (gunakan nilai yang berlaku untuk skenario Anda):
Tuan rumah: 192.168.56.10 Protokol: FTP - Protokol Transfer File Enkripsi: Membutuhkan FTP eksplisit #RECECECEPEDY LOGON TYPE: Minta Kata Sandi Pengguna #Rekomisi: nama belakangTambahkan Detail Server FTP di FileZilla
14. Kemudian klik Menghubung Untuk memasukkan kata sandi lagi, dan kemudian verifikasi sertifikat yang digunakan untuk koneksi SSL/TLS dan klik OKE
Sekali lagi untuk terhubung ke server FTP:
Pada tahap ini, kita harus berhasil masuk ke server FTP melalui koneksi TLS, periksa bagian Status Koneksi untuk informasi lebih lanjut dari antarmuka di bawah ini.
Terhubung ke server FTP melalui TLS/SSL15. Terakhir, cobalah mentransfer file dari mesin lokal ke FTP Sever di folder file, lihat di ujung bawah dari FileZilla antarmuka untuk melihat laporan tentang transfer file.
Transfer file dengan aman menggunakan FTPItu saja! Selalu ingat bahwa FTP tidak aman secara default, kecuali kami mengkonfigurasinya untuk menggunakan koneksi SSL/TLS seperti yang kami tunjukkan dalam tutorial ini. Bagikan pemikiran Anda tentang tutorial/topik ini melalui formulir umpan balik di bawah ini.
- « Siapa root? Mengapa Root Ada?
- RTOP - Alat interaktif untuk memantau server Linux jarak jauh melalui SSH »