Cara Mengamankan Pelayan FTP Menggunakan SSL/TLS untuk Pemindahan Fail Selamat di CentOS 7

Cara Mengamankan Pelayan FTP Menggunakan SSL/TLS untuk Pemindahan Fail Selamat di CentOS 7

Dengan reka bentuk asalnya, Ftp (Protokol Pemindahan Fail) tidak selamat, bermakna ia tidak menyulitkan data yang dihantar antara dua mesin, bersama dengan kelayakan pengguna. Ini menimbulkan ancaman besar kepada data serta keselamatan pelayan.

Dalam tutorial ini, kami akan menerangkan cara untuk membolehkan perkhidmatan penyulitan data secara manual di pelayan FTP di CentOS/RHEL 7 dan Fedora; Kami akan melalui pelbagai langkah untuk mendapatkan Vsftpd (Daemon FTP yang sangat selamat) Perkhidmatan menggunakan SSL/TLS sijil.

Prasyarat:

  1. Anda mesti memasang dan mengkonfigurasi pelayan FTP di CentOS 7

Sebelum kita mula, perhatikan bahawa semua arahan dalam tutorial ini akan dijalankan sebagai akar, Jika tidak, gunakan arahan sudo untuk mendapatkan keistimewaan akar jika anda tidak mengawal pelayan menggunakan akaun root.

Langkah 1. Menjana sijil SSL/TLS dan kunci peribadi

1. Kita perlu bermula dengan membuat subdirektori di bawah: /etc/ssl/ di mana kita akan menyimpan SSL/TLS Sijil dan fail utama:

# mkdir/etc/ssl/swasta 

2. Kemudian jalankan arahan di bawah untuk membuat sijil dan kunci untuk vsftpd Dalam satu fail, inilah penjelasan setiap bendera yang digunakan.

  1. req - adalah arahan untuk x.Pengurusan Permintaan Penandatangan Sijil 509 (CSR).
  2. x509 - bermaksud x.509 Pengurusan Data Sijil.
  3. hari - mentakrifkan bilangan sijil hari adalah sah untuk.
  4. Newkey - Menentukan pemproses utama sijil.
  5. RSA: 2048 - Pemproses utama RSA, akan menghasilkan kunci peribadi 2048 bit.
  6. keyout - Menetapkan fail penyimpanan utama.
  7. keluar - Menetapkan fail penyimpanan sijil, ambil perhatian bahawa kedua -dua sijil dan kunci disimpan dalam fail yang sama: /etc/ssl/swasta/vsftpd.PEM.
# openssl req -x509 -nodes -keyout/etc/ssl/swasta/vsftpd.PEM -out/etc/ssl/swasta/vsftpd.PEM -Day 365 -Newkey RSA: 2048 

Perintah di atas akan meminta anda menjawab soalan di bawah, ingat untuk menggunakan nilai yang dikenakan pada senario anda.

Nama Negara (2 Kod Surat) [xx]:Dalam Nama Negeri atau Wilayah (Nama Penuh) []:Parel yang lebih rendah Nama lokasi (misalnya, bandar) [kota lalai]:Mumbai Nama Organisasi (misalnya, Syarikat) [Default Company Ltd]:Tecmint.com Nama unit organisasi (misalnya, seksyen) []:Linux dan sumber terbuka Nama Biasa (misalnya, nama anda atau nama hos pelayan anda) []:Tecmint Alamat emel []:[dilindungi e -mel] 

Langkah 2. Mengkonfigurasi VSFTPD untuk menggunakan SSL/TLS

3. Sebelum kita melakukan konfigurasi VSFTPD, mari kita buka pelabuhan 990 dan 40000-50000 Untuk membenarkan sambungan TLS dan julat pelabuhan port pasif untuk menentukan dalam fail konfigurasi VSFTPD masing -masing:

# firewall-cmd --Zone = public --PerManent --Add-Port = 990/TCP # Firewall-Cmd --Zone = Public --ParManent --Add-Port = 40000-50000/TCP # Firewall-Cmd- Tambah nilai 

4. Sekarang, buka fail konfigurasi VSFTPD dan tentukan butiran SSL di dalamnya:

# vi/etc/vsftpd/vsftpd.Conf 

Cari pilihan ssl_enable dan menetapkan nilainya Ya Untuk mengaktifkan penggunaan SSL, di samping itu, kerana TSL lebih selamat daripada SSL, kami akan menyekat VSFTPD untuk menggunakan TLS sebaliknya, menggunakan SSL_TLSV1_2 pilihan:

ssl_enable = ya ssl_tlsv1_2 = ya ssl_sslv2 = no ssl_sslv3 = no 

5. Kemudian, tambahkan garisan di bawah untuk menentukan lokasi sijil SSL dan fail utama:

rsa_cert_file =/etc/ssl/swasta/vsftpd.PEM RSA_PRIVATE_KEY_FILE =/etc/ssl/swasta/vsftpd.PEM 

6. Seterusnya, kita perlu menghalang pengguna tanpa nama menggunakan SSL, kemudian memaksa semua log masuk yang tidak dikenali untuk menggunakan sambungan SSL yang selamat untuk pemindahan data dan menghantar kata laluan semasa log masuk:

membenarkan_anon_ssl = tiada force_local_data_ssl = ya force_local_logins_ssl = ya 

7. Di samping itu, kami boleh menambah pilihan di bawah untuk meningkatkan keselamatan pelayan FTP. Apabila pilihan memerlukan_ssl_reuse ditetapkan ke Ya, Kemudian, semua sambungan data SSL diperlukan untuk mempamerkan penggunaan semula sesi SSL; membuktikan bahawa mereka tahu rahsia induk yang sama dengan saluran kawalan.

Oleh itu, kita mesti mematikannya.

memerlukan_ssl_reuse = no 

Sekali lagi, kita perlu memilih ssl ciphers vsftpd yang akan membenarkan sambungan SSL yang disulitkan dengan ssl_ciphers pilihan. Ini dapat membatasi usaha penyerang yang cuba memaksa cipher tertentu yang mungkin mereka dapati kelemahan dalam:

ssl_ciphers = tinggi 

8. Sekarang, tetapkan julat port (min dan port max) pelabuhan pasif.

pasv_min_port = 40000 pasv_max_port = 50000 

9. Secara pilihan, biarkan debugging SSL, yang bermaksud diagnostik sambungan openSSL direkodkan ke fail log vsftpd dengan DEBUG_SSL pilihan:

DEBUG_SSL = YA 

Simpan semua perubahan dan tutup fail. Kemudian mari mulakan semula perkhidmatan vsftpd:

# Systemctl mulakan semula vsftpd 

Langkah 3: Menguji pelayan FTP dengan sambungan SSL/TLS

10. Setelah melakukan semua konfigurasi di atas, uji jika VSFTPD menggunakan sambungan SSL/TLS dengan cuba menggunakan FTP dari baris arahan seperti berikut:

# FTP 192.168.56.10 disambungkan ke 192.168.56.10 (192.168.56.10). 220 Selamat Datang ke Tecmint.Com FTP Service. Nama (192.168.56.10: Root): Ravi 530 sesi bukan anonim mesti menggunakan penyulitan. Daftar masuk gagal. Perkhidmatan 421 tidak tersedia, Pelayan Jauh telah menutup sambungan FTP> 
Sahkan sambungan selamat SSL FTP

Dari pukulan skrin di atas, kita dapat melihat bahawa terdapat ralat yang memaklumkan kepada kami bahawa vsftpd hanya boleh membenarkan pengguna log masuk dari klien yang menyokong perkhidmatan penyulitan.

Baris arahan tidak menawarkan perkhidmatan penyulitan sehingga menghasilkan ralat. Oleh itu, dengan selamat menyambung ke pelayan, kami memerlukan klien FTP yang menyokong sambungan SSL/TLS seperti FileZilla.

Langkah 4: Pasang FileZilla untuk menyambung dengan selamat ke pelayan FTP

11. FileZilla adalah pelanggan FTP yang moden, popular dan penting yang menyokong sambungan SSL/TLS secara lalai.

Untuk memasang FileZilla di Linux, jalankan arahan di bawah:

--------- Pada Centos/RHEL/FEDORA --------- # yum pasang filezilla epel-release --------- Di Debian/Ubuntu --------- $ sudo apt-get memasang filezilla 

12. Apabila pemasangan selesai (atau jika anda sudah memasangnya), buka dan pergi ke Fail => pengurus laman web atau (tekan Ctrl+s) untuk mendapatkan Pengurus tapak antara muka di bawah.

Klik pada Laman web baru butang untuk menambah butiran sambungan tapak/tuan rumah baru.

Tambahkan laman FTP baru di FileZilla

13. Seterusnya, tetapkan nama hos/tapak, tambahkan alamat IP, tentukan protokol untuk digunakan, jenis penyulitan dan log masuk seperti dalam pukulan skrin di bawah (gunakan nilai yang digunakan untuk senario anda):

Tuan rumah: 192.168.56.10 Protokol: FTP - Protokol Pemindahan Fail Penyulitan: Memerlukan FTP yang jelas berakhir Jenis log masuk #dikemukakan: Minta kata laluan #Pengguna yang dikemukakan: nama pengguna 
Tambahkan butiran pelayan FTP di FileZilla

14. Kemudian klik pada Sambung untuk memasukkan kata laluan sekali lagi, dan kemudian sahkan sijil yang digunakan untuk sambungan SSL/TLS dan klik okey Sekali lagi untuk menyambung ke pelayan FTP:

Sahkan sijil SSL FTP

Pada peringkat ini, kami sepatutnya berjaya melog masuk ke pelayan FTP melalui sambungan TLS, periksa bahagian Status Sambungan untuk maklumat lanjut dari antara muka di bawah.

Disambungkan ke pelayan FTP melalui TLS/SSL

15. Akhir sekali, cubalah memindahkan fail dari mesin tempatan ke Sever FTP dalam folder Fail, lihat pada bahagian bawah bawah FileZilla antara muka untuk melihat laporan mengenai pemindahan fail.

Pindahkan fail dengan selamat menggunakan FTP

Itu sahaja! Sentiasa ingat bahawa FTP tidak selamat secara lalai, melainkan jika kami mengkonfigurasinya untuk menggunakan sambungan SSL/TLS seperti yang kami tunjukkan dalam tutorial ini. Kongsi pendapat anda mengenai tutorial/topik ini melalui borang maklum balas di bawah.