Zoeken op website

Veilige FTP-bestandsoverdracht instellen met SSL/TLS in RHEL 8


In ons laatste artikel hebben we gedetailleerd beschreven hoe u een FTP-server in RHEL 8 Linux installeert en configureert. In dit artikel leggen we uit hoe u een FTP-server kunt beveiligen met behulp van SSL/TLS om gegevensversleutelingsservices in te schakelen voor veilige bestandsoverdracht tussen systemen.

We hopen dat u al een FTP-server heeft geïnstalleerd en correct werkt. Als dit niet het geval is, gebruikt u de volgende handleiding om het op uw systeem te installeren.

  1. FTP-server installeren, configureren en beveiligen in RHEL 8

Stap 1. SSL/TLS-certificaat en privésleutel genereren

1. Maak de volgende map om het SSL/TLS-certificaat en de sleutelbestanden op te slaan.

mkdir -p /etc/ssl/vsftpd

2. Genereer vervolgens een zelfondertekend SSL/TLS-certificaat en een privésleutel met behulp van de volgende opdracht.

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

Hieronder volgt de uitleg van elke vlag die in de bovenstaande opdracht wordt gebruikt.

  1. req – is een opdracht voor het beheer van X.509 Certificate Signing Request (CSR).
  2. x509 – betekent X.509-certificaatgegevensbeheer.
  3. dagen – definieert het aantal dagen waarvoor het certificaat geldig is.
  4. newkey – specificeert de certificaatsleutelprocessor.
  5. rsa:2048 – RSA-sleutelprocessor genereert een privésleutel van 2048 bits.
  6. keyout – stelt het sleutelopslagbestand in.
  7. out – stelt het certificaatopslagbestand in. Houd er rekening mee dat zowel het certificaat als de sleutel in hetzelfde bestand worden opgeslagen: /etc/ssl/vsftpd/vsftpd.pem.

Met het bovenstaande commando wordt u gevraagd de onderstaande vragen te beantwoorden. Vergeet niet waarden te gebruiken die op uw scenario van toepassing zijn.

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 

Stap 2. VSFTPD configureren om SSL/TLS te gebruiken

3. Open het VSFTPD-configuratiebestand om het te bewerken met uw favoriete opdrachtregeleditor.

vi /etc/vsftpd/vsftpd.conf

Voeg de volgende configuratieparameters toe om SSL in te schakelen en selecteer vervolgens aan het einde van het bestand de versie van SSL en TLS die u wilt gebruiken.

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

4. Voeg vervolgens de opties rsa_cert_file en rsa_private_key_file toe om respectievelijk de locatie van het SSL-certificaat en het sleutelbestand op te geven.

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

5. Voeg nu deze parameters toe om het gebruik van SSL door anonieme verbindingen uit te schakelen en alle niet-anonieme verbindingen via SSL te forceren.

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. Voeg vervolgens deze optie toe om al het hergebruik van SSL-gegevensverbindingen uit te schakelen en stel de SSL-coderingen HOOG in om gecodeerde SSL-verbindingen toe te staan.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Je moet ook het poortbereik (min. en max. poort) opgeven van passieve poorten die door vsftpd moeten worden gebruikt voor beveiligde verbindingen, met behulp van de pasv_min_port en pasv_max_port parameters respectievelijk. Bovendien kunt u optioneel SSL-foutopsporing inschakelen voor probleemoplossingsdoeleinden, met behulp van de optie debug_ssl.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Sla ten slotte het bestand op en start de vsftpd-service opnieuw om de bovenstaande wijzigingen door te voeren.

systemctl restart vsftpd

9. Nog een cruciale taak die u moet uitvoeren voordat u veilig toegang kunt krijgen tot de FTP-server, is het openen van de poorten 990 en 40000-50000 in het systeem firewall. Dit maakt TLS-verbindingen met de vsftpd-service mogelijk en opent het poortbereik van passieve poorten die respectievelijk in het VSFTPD-configuratiebestand zijn gedefinieerd, als volgt.

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

Stap 3: Installeer FileZilla om veilig verbinding te maken met de FTP-server

10. Om veilig verbinding te maken met de FTP-server heeft u een FTP-client nodig die SSL/TLS-verbindingen ondersteunt, zoals FileZilla – is een open source , veelgebruikte, platformonafhankelijke FTP-, SFTP- en FTPS-client die standaard SSL/TLS-verbindingen ondersteunt.

Installeer FileZilla in Linux met uw standaard pakketbeheerder als volgt:

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. Nadat het Filezilla pakket is geïnstalleerd, zoekt u ernaar in het systeemmenu en opent u het. Om snel verbinding te maken met de externe FTP-server, geeft u vanuit de hoofdinterface het host-IP-adres, de gebruikersnaam en het wachtwoord van de gebruiker op. Klik vervolgens op Snel verbinden.

12. Vervolgens zal de applicatie u vragen een beveiligde verbinding toe te staan met behulp van het onbekende, zelfondertekende certificaat. Klik op OK om door te gaan.

Als de configuratie op de server in orde is, zou de verbinding succesvol moeten zijn, zoals weergegeven in de volgende schermafbeelding.

13. Test ten slotte de status van de beveiligde FTP-verbinding door te proberen bestanden van uw machine naar de server te uploaden, zoals weergegeven in de volgende schermafbeelding.

Dat is alles! In dit artikel hebben we laten zien hoe u een FTP-server kunt beveiligen met SSL/TLS voor veilige bestandsoverdracht in RHEL 8. Dit is het tweede deel van onze uitgebreide handleiding voor het installeren, configureren en beveiligen van een FTP-server in RHEL 8. Gebruik het onderstaande feedbackformulier om eventuele vragen of gedachten te delen.