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


U našem posljednjem članku smo detaljno opisali kako instalirati i konfigurirati FTP server u RHEL 8 Linuxu. U ovom članku ćemo objasniti kako osigurati FTP server koristeći SSL/TLS da omogućite usluge šifriranja podataka za siguran prijenos datoteka između sistema.

Nadamo se da već imate instaliran FTP server i da radi ispravno. Ako ne, koristite sljedeći vodič da ga instalirate na svoj sistem.

  1. Kako instalirati, konfigurirati i osigurati FTP server u RHEL 8

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

1. Kreirajte sljedeći direktorij za pohranu SSL/TLS certifikata i fajlova ključeva.

mkdir -p /etc/ssl/vsftpd

2. Zatim generirajte samopotpisani SSL/TLS certifikat i privatni ključ koristeći sljedeću naredbu.

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 korištene u gornjoj naredbi.

  1. req – je naredba za upravljanje zahtjevima za potpisivanje X.509 certifikata (CSR).
  2. x509 – znači upravljanje podacima certifikata X.509.
  3. dani – definira broj dana za koje certifikat važi.
  4. newkey – specificira procesor ključa certifikata.
  5. rsa:2048 – RSA ključ procesor, generiraće 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 komanda će od vas tražiti da odgovorite na pitanja u nastavku, ne zaboravite da koristite 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 za korištenje SSL/TLS

3. Otvorite konfiguracionu datoteku VSFTPD za uređivanje koristeći svoj omiljeni uređivač komandne linije.

vi /etc/vsftpd/vsftpd.conf

Dodajte sljedeće konfiguracijske parametre da biste omogućili SSL, a 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 da navedete lokaciju SSL certifikata i ključnog fajla.

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

5. Sada dodajte ove parametre da onemogućite anonimne veze da koriste SSL i prisilite 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 ovu opciju da onemogućite svaku ponovnu upotrebu SSL podatkovnih veza i postavite SSL šifre VISOKE da omogućite šifrirane SSL veze.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Također morate odrediti raspon portova (min i maksimalni port) pasivnih portova koje će koristiti vsftpd za sigurne veze, koristeći pasv_min_port i pasv_max_port parametara. Osim toga, opciono možete omogućiti otklanjanje grešaka SSL-a u svrhu rješavanja problema, koristeći opciju debug_ssl.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Konačno, sačuvajte datoteku i ponovo pokrenite vsftpd servis da bi gore navedene promjene stupile na snagu.

systemctl restart vsftpd

9. Još jedan kritičan zadatak koji treba obaviti prije nego što možete bezbedno pristupiti FTP serveru je otvaranje portova 990 i 40000-50000 u sistemu firewall. Ovo će omogućiti TLS konekcije na vsftpd servis 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 FileZilla za bezbedno povezivanje sa FTP serverom

10. Da biste se bezbedno povezali na FTP server, potreban vam je FTP klijent koji podržava SSL/TLS veze kao što je FileZilla – je open source , široko rasprostranjen, višeplatformski FTP, SFTP i FTPS klijent koji podrazumevano podržava SSL/TLS veze.

Instalirajte FileZilla u Linux koristeći vaš 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 sistemskom meniju i otvorite ga. Da biste brzo povezali udaljeni FTP server, iz glavnog interfejsa unesite IP adresu domaćina, korisničko ime i korisničku lozinku. Zatim kliknite na QuickConnect.

12. Tada će aplikacija tražiti da dozvolite sigurnu vezu koristeći nepoznati, samopotpisani certifikat. Kliknite OK da nastavite.

Ako je konfiguracija na serveru u redu, veza bi trebala biti uspješna kao što je prikazano na sljedećem snimku ekrana.

13. Konačno, testirajte status sigurne FTP veze pokušavajući da otpremite datoteke sa vašeg uređaja na server kao što je prikazano na sljedećem snimku ekrana.

To je sve! U ovom članku smo pokazali kako osigurati FTP server 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 servera u RHEL 8. Da podijelite bilo kakva pitanja ili razmišljanja, koristite obrazac za povratne informacije u nastavku.