Opsæt Sikker FTP-filoverførsel ved hjælp af SSL / TLS i RHEL 8


I vores sidste artikel har vi beskrevet detaljeret om, hvordan du installerer og konfigurerer en FTP-server i RHEL 8 Linux. I denne artikel vil vi forklare, hvordan du sikrer en FTP-server ved hjælp af SSL/TLS for at aktivere datakrypteringstjenester til sikker filoverførsel mellem systemer.

Vi håber, at du allerede har en FTP-server installeret og kører korrekt. Hvis ikke, skal du bruge følgende guide til at installere den på dit system.

  1. How to Install, Configure and Secure FTP Server in RHEL 8

Trin 1. Generering af SSL / TLS-certifikat og privat nøgle

1. Opret følgende bibliotek for at gemme SSL/TLS-certifikatet og nøglefiler.

# mkdir -p /etc/ssl/vsftpd

2. Generer derefter et selvsigneret SSL/TLS-certifikat og en privat nøgle ved hjælp af følgende kommando.

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

Følgende er forklaringen på hvert flag, der bruges i ovenstående kommando.

  1. req – is a command for X.509 Certificate Signing Request (CSR) management.
  2. x509 – means X.509 certificate data management.
  3. days – defines a number of days certificate is valid for.
  4. newkey – specifies certificate key processor.
  5. rsa:2048 – RSA key processor, will generate a 2048 bit private key.
  6. keyout – sets the key storage file.
  7. out – sets the certificate storage file, note that both certificate and key are stored in the same file: /etc/ssl/vsftpd/vsftpd.pem.

Ovenstående kommando vil bede dig om at besvare nedenstående spørgsmål. Husk at bruge værdier, der gælder for dit scenario.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

Trin 2. Konfiguration af VSFTPD til brug af SSL / TLS

3. Åbn VSFTPD-konfigurationsfilen til redigering ved hjælp af din foretrukne kommandolinjeditor.

# vi /etc/vsftpd/vsftpd.conf

Tilføj følgende konfigurationsparametre for at aktivere SSL, og vælg derefter den version af SSL og TLS, der skal bruges, i slutningen af filen.

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. Tilføj derefter indstillingerne rsa_cert_file og rsa_private_key_file for at specificere placeringen af henholdsvis SSL-certifikatet og nøglefilen.

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

5. Tilføj nu disse parametre for at deaktivere anonyme forbindelser fra at bruge SSL og tving alle ikke-anonyme forbindelser over SSL.

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

6. Dernæst tilføj disse indstillinger for at deaktivere al genbrug af SSL-dataforbindelser og indstil SSL-chifrene HIGH for at tillade krypterede SSL-forbindelser.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Du skal også specificere portområdet (min og max port) for passive porte, der skal bruges af vsftpd til sikre forbindelser ved hjælp af henholdsvis parametrene pasv_min_port og pasv_max_port. Derudover kan du eventuelt aktivere SSL-fejlretning til fejlfindingsformål ved hjælp af indstillingen debug_ssl.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Gem endelig filen, og genstart vsftpd-tjenesten for at ovenstående ændringer skal træde i kraft.

# systemctl restart vsftpd

9. En yderligere kritisk opgave, du skal udføre, før du får sikker adgang til FTP-serveren, er at åbne portene 990 og 40000-50000 i system firewall. Dette tillader TLS-forbindelser til vsftpd-tjenesten og åbner portområdet for passive porte defineret i henholdsvis VSFTPD-konfigurationsfilen som følger.

# firewall-cmd --zone=public --permanent –add-port=990/tcp
# firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
# firewall-cmd --reload

Trin 3: Installer FileZilla for sikkert at oprette forbindelse til FTP-serveren

10. For sikkert at oprette forbindelse til FTP-serveren skal du bruge en FTP-klient, der understøtter SSL/TLS-forbindelser, såsom FileZilla - er en open source, udbredt, cross-platform FTP-, SFTP- og FTPS-klient, der understøtter SSL/TLS-forbindelser som standard.

Installer FileZilla i Linux ved hjælp af din standard pakkehåndtering som følger:

$ sudo apt-get install filezilla   		#Debian/Ubuntu
# yum install epel-release filezilla		#On CentOS/RHEL
# dnf install filezilla			        #Fedora 22+
$ sudo zypper install filezilla			#openSUSE

11. Når Filezilla-pakken er installeret, skal du søge efter den i systemmenuen og åbne den. For hurtigt at oprette forbindelse til den eksterne FTP-server skal du fra hovedgrænsefladen angive værts-IP-adresse, brugernavn og brugerens adgangskode. Klik derefter på QuickConnect.

12. Derefter beder applikationen dig om at tillade sikker forbindelse ved hjælp af det ukendte, selvsignerede certifikat. Klik på OK for at fortsætte.

Hvis konfigurationen på serveren er i orden, skal forbindelsen være vellykket som vist i det følgende skærmbillede.

13. Endelig test FTP-sikkerhedsforbindelsesstatus ved at prøve at uploade filer fra din maskine til serveren som vist i det næste skærmbillede.

Det er alt! I denne artikel viste vi, hvordan man sikrer en FTP-server ved hjælp af SSL/TLS til sikker filoverførsel i RHEL 8. Dette er anden del af vores omfattende guide til installation, konfiguration og sikring af en FTP-server i RHEL 8. At dele eventuelle forespørgsler eller tanker, brug feedbackformularen nedenfor.