Postavite siguran FTP prijenos datoteka koristeći SSL/TLS u RHEL 8


U našem prošlom članku detaljno smo opisali kako instalirati i konfigurirati FTP poslužitelj u RHEL 8 Linuxu. U ovom ćemo članku objasniti kako osigurati FTP poslužitelj koristeći SSL/TLS kako bi se omogućile usluge šifriranja podataka za siguran prijenos datoteka između sustava.

Nadamo se da već imate FTP poslužitelj instaliran i radi ispravno. Ako nije, koristite sljedeći vodič za instalaciju na vašem sustavu.

  1. Kako instalirati, konfigurirati i osigurati FTP poslužitelj u RHEL 8

Korak 1. Generiranje SSL/TLS certifikata i privatnog ključa

1. Kreirajte sljedeći direktorij za pohranjivanje SSL/TLS certifikata i datoteka ključeva.

mkdir -p /etc/ssl/vsftpd

2. Zatim generirajte samopotpisani SSL/TLS certifikat i privatni ključ pomoću sljedeće naredbe.

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

Slijedi objašnjenje svake zastavice koja se koristi u gornjoj naredbi.

  1. req – je naredba za upravljanje zahtjevom za potpisivanje certifikata X.509 (CSR).
  2. x509 – znači upravljanje podacima certifikata X.509.
  3. dani – definira broj dana za koje certifikat vrijedi.
  4. newkey – navodi procesor ključa certifikata.
  5. rsa:2048 – RSA procesor ključa, generira privatni ključ od 2048 bita.
  6. keyout – postavlja datoteku za pohranu ključa.
  7. out – postavlja datoteku za pohranu certifikata, imajte na umu da su i certifikat i ključ pohranjeni u istoj datoteci: /etc/ssl/vsftpd/vsftpd.pem.

Gornja naredba tražit će od vas da odgovorite na donja pitanja, ne zaboravite koristiti vrijednosti koje se odnose na vaš scenarij.

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 

Korak 2. Konfiguriranje VSFTPD-a za korištenje SSL/TLS-a

3. Otvorite VSFTPD konfiguracijsku datoteku za uređivanje koristeći svoj omiljeni uređivač naredbenog retka.

vi /etc/vsftpd/vsftpd.conf

Dodajte sljedeće konfiguracijske parametre kako biste omogućili SSL, zatim odaberite verziju SSL-a i TLS-a za korištenje na kraju datoteke.

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

4. Zatim dodajte opcije rsa_cert_file i rsa_private_key_file kako biste odredili lokaciju SSL certifikata i datoteke ključa.

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

5. Sada dodajte ove parametre kako biste onemogućili anonimnim vezama da koriste SSL i prisilili sve neanonimne veze preko SSL-a.

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. Zatim dodajte ove opcije kako biste onemogućili svu ponovnu upotrebu SSL podatkovnih veza i postavite SSL šifre HIGH kako biste omogućili šifrirane SSL veze.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Također morate navesti raspon portova (min. i maks. port) pasivnih portova koje će vsftpd koristiti za sigurne veze, koristeći pasv_min_port i pasv_max_port parametrima. Osim toga, po želji možete omogućiti otklanjanje pogrešaka SSL-a za potrebe rješavanja problema, koristeći opciju debug_ssl.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Na kraju, spremite datoteku i ponovno pokrenite vsftpd uslugu kako bi gore navedene promjene stupile na snagu.

systemctl restart vsftpd

9. Još jedan kritični zadatak koji trebate obaviti prije nego što možete sigurno pristupiti FTP poslužitelju je otvoriti portove 990 i 40000-50000 u sustavu vatrozid. To će omogućiti TLS veze s uslugom vsftpd i otvoriti raspon portova pasivnih portova definiranih u VSFTPD konfiguracijskoj datoteci, kako slijedi.

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

Korak 3: Instalirajte FileZillu za sigurno povezivanje na FTP poslužitelj

10. Za sigurno povezivanje s FTP poslužiteljem potreban vam je FTP klijent koji podržava SSL/TLS veze kao što je FileZilla – otvoreni je kod , naširoko korišten, višeplatformski FTP, SFTP i FTPS klijent koji prema zadanim postavkama podržava SSL/TLS veze.

Instalirajte FileZillu u Linux koristeći zadani upravitelj paketa na sljedeći način:

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. Nakon što je paket Filezilla instaliran, potražite ga u izborniku sustava i otvorite ga. Za brzo povezivanje udaljenog FTP poslužitelja, iz glavnog sučelja unesite IP adresu domaćina, korisničko ime i korisničku lozinku. Zatim kliknite QuickConnect.

12. Tada će vas aplikacija pitati da dopustite sigurnu vezu pomoću nepoznatog, samopotpisanog certifikata. Kliknite OK za nastavak.

Ako je konfiguracija na poslužitelju u redu, veza bi trebala biti uspješna kao što je prikazano na sljedećoj snimci zaslona.

13. Na kraju, testirajte status sigurne FTP veze pokušavajući prenijeti datoteke sa svog računala na poslužitelj kao što je prikazano na sljedećoj snimci zaslona.

To je sve! U ovom smo članku pokazali kako osigurati FTP poslužitelj koristeći SSL/TLS za siguran prijenos datoteka u RHEL 8. Ovo je drugi dio našeg sveobuhvatnog vodiča za instalaciju, konfiguraciju i osiguranje FTP poslužitelja u RHEL 8. Da biste podijelili bilo kakve upite ili misli, upotrijebite obrazac za povratne informacije u nastavku.