Konfigurer sikker FTP-filoverføring ved hjelp av SSL/TLS i RHEL 8


I vår siste artikkel har vi beskrevet i detalj hvordan du installerer og konfigurerer en FTP-server i RHEL 8 Linux. I denne artikkelen vil vi forklare hvordan du sikrer en FTP-server ved å bruke SSL/TLS for å aktivere datakrypteringstjenester for sikker filoverføring mellom systemer.

Vi håper du allerede har en FTP-server installert og kjører som den skal. Hvis ikke, bruk følgende veiledning for å installere den på systemet ditt.

  1. Hvordan installere, konfigurere og sikre FTP-server i RHEL 8

Trinn 1. Generering av SSL/TLS-sertifikat og privat nøkkel

1. Opprett følgende katalog for å lagre SSL/TLS-sertifikatet og nøkkelfilene.

mkdir -p /etc/ssl/vsftpd

2. Deretter genererer du et selvsignert SSL/TLS-sertifikat og en privat nøkkel ved å bruke 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 av hvert flagg som brukes i kommandoen ovenfor.

  1. req – er en kommando for administrasjon av X.509 Certificate Signing Request (CSR).
  2. x509 – betyr X.509-sertifikatdatabehandling.
  3. dager – definerer et antall dager sertifikatet er gyldig for.
  4. nynøkkel – spesifiserer sertifikatnøkkelbehandler.
  5. rsa:2048 – RSA-nøkkelprosessor, vil generere en 2048-biters privat nøkkel.
  6. keyout – angir nøkkellagringsfilen.
  7. out – setter sertifikatlagringsfilen, merk at både sertifikatet og nøkkelen er lagret i samme fil: /etc/ssl/vsftpd/vsftpd.pem.

Kommandoen ovenfor vil be deg svare på spørsmålene nedenfor, husk å bruke verdier som gjelder for scenarioet ditt.

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 

Trinn 2. Konfigurere VSFTPD for å bruke SSL/TLS

3. Åpne VSFTPD-konfigurasjonsfilen for redigering ved å bruke din favoritt kommandolinjeredigerer.

vi /etc/vsftpd/vsftpd.conf

Legg til følgende konfigurasjonsparametere for å aktivere SSL, og velg deretter versjonen av SSL og TLS som skal brukes, på slutten av filen.

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

4. Deretter legger du til alternativene rsa_cert_file og rsa_private_key_file for å spesifisere plasseringen til henholdsvis SSL-sertifikatet og nøkkelfilen.

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

5. Legg nå til disse parameterne for å deaktivere anonyme tilkoblinger fra å bruke SSL og tvinge alle ikke-anonyme tilkoblinger 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. Deretter legger du til disse alternativene for å deaktivere all gjenbruk av SSL-datatilkoblinger og angi SSL-sifferene HØY for å tillate krypterte SSL-tilkoblinger.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Du må også spesifisere portområdet (min. og maks. port) for passive porter som skal brukes av vsftpd for sikre tilkoblinger, ved å bruke pasv_min_port og pasv_max_port parametere. I tillegg kan du valgfritt aktivere SSL-feilsøking for feilsøkingsformål ved å bruke debug_ssl-alternativet.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Til slutt lagrer du filen og starter vsftpd-tjenesten på nytt for at endringene ovenfor skal tre i kraft.

systemctl restart vsftpd

9. En annen viktig oppgave å utføre før du kan få sikker tilgang til FTP-serveren, er å åpne portene 990 og 40000-50000 i systemet brannmur. Dette vil tillate TLS-tilkoblinger til vsftpd-tjenesten og åpne portområdet for passive porter som er definert i henholdsvis VSFTPD-konfigurasjonsfilen, 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

Trinn 3: Installer FileZilla for å koble til FTP-serveren på en sikker måte

10. For å koble til FTP-serveren på en sikker måte, trenger du en FTP-klient som støtter SSL/TLS-tilkoblinger, for eksempel FileZilla – er en åpen kildekode , mye brukt FTP-, SFTP- og FTPS-klient på tvers av plattformer som støtter SSL/TLS-tilkoblinger som standard.

Installer FileZilla i Linux ved å bruke standardpakkebehandlingen din 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. Etter at Filezilla-pakken er installert, søk etter den i systemmenyen og åpne den. For raskt å koble til den eksterne FTP-serveren, fra hovedgrensesnittet, oppgi verts-IP-adressen, brukernavnet og brukerens passord. Klikk deretter Hurtigkobling.

12. Da vil applikasjonen be deg om å tillate sikker tilkobling ved å bruke det ukjente, selvsignerte sertifikatet. Klikk OK for å fortsette.

Hvis konfigurasjonen på serveren er fin, skal tilkoblingen være vellykket som vist i følgende skjermbilde.

13. Til slutt tester du statusen for sikker FTP-tilkobling ved å prøve å laste opp filer fra maskinen din til serveren som vist i neste skjermbilde.

Det er alt! I denne artikkelen viste vi hvordan du sikrer en FTP-server ved å bruke SSL/TLS for sikker filoverføring i RHEL 8. Dette er den andre delen av vår omfattende veiledning for å installere, konfigurere og sikre en FTP-server i RHEL 8. For å dele spørsmål eller tanker, bruk tilbakemeldingsskjemaet nedenfor.