Nodrošiniet ProFTPD savienojumus, izmantojot TLS/SSL protokolu RHEL/CentOS 7


Pēc savas būtības FTP protokols tika veidots kā nedrošs protokols, un visi dati un paroles tiek pārsūtīti vienkāršā tekstā, padarot trešās puses darbu ļoti viegli pārtveramu visu FTP klienta-servera darījumu, jo īpaši lietotājvārdu un autentifikācijas procesā izmantotās paroles.

  1. ProFTPD servera instalēšana RHEL/CentOS 7
  2. Iespējojiet anonīmu kontu Proftpd serverim RHEL/CentOS 7

Šī apmācība palīdzēs jums nodrošināt, kā FOS saziņu nodrošināt un šifrēt ProFTPd serverī CentOS / RHEL 7 , izmantojot TLS (transporta slāņa drošība) ar skaidru FTPS paplašinājumu (domājiet par FTPS kā to, kas HTTPS ir HTTP protokolam).

1. darbība: izveidojiet Proftpd TLS moduļa konfigurācijas failu

1. Kā jau tika apspriests iepriekšējā Proftpd apmācībā par anonīmu kontu, šajā rokasgrāmatā tiks izmantota tā pati pieeja, lai nākotnē pārvaldītu Proftpd konfigurācijas failus kā moduļus, izmantojot enable_mod un disabled_mod direktoriji, kuros tiks izvietotas visas servera paplašinātās iespējas.

Tātad izveidojiet jaunu failu ar savu iecienīto teksta redaktoru tls.conf invalīdu_mod Proftpd ceļā un pievienojiet šīs direktīvas.

# nano /etc/proftpd/disabled_mod/tls.conf

Pievienojiet šo TLS faila konfigurācijas fragmentu.

<IfModule mod_tls.c>
TLSEngine                               on
TLSLog                                  /var/log/proftpd/tls.log
TLSProtocol                             SSLv23
 
TLSRSACertificateFile                   /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile                /etc/ssl/private/proftpd.key

#TLSCACertificateFile                                     /etc/ssl/certs/CA.pem
TLSOptions                      NoCertRequest EnableDiags NoSessionReuseRequired
TLSVerifyClient                         off
TLSRequired                             on
TLSRenegotiate                          required on
</IfModule>

2. Ja izmantojat pārlūkprogrammas vai FTP klientus, kas neatbalsta TLS savienojumus, komentējiet rindiņu TLSRequired on , lai vienlaikus atļautu TLS un TLS savienojumus un izvairītos no kļūdas ziņojuma kā ekrānuzņēmums zemāk.

2. darbība: izveidojiet SSL sertifikāta failus TLS

3. Kad esat izveidojis TLS moduļa konfigurācijas failu. kas Proftpd iespējos FTP, izmantojot TLS, jums ir jāveido SSL sertifikāts un atslēga, lai ar pakotnes OpenSSL palīdzību varētu izmantot drošu komunikāciju pa ProFTPD serveri.

# yum install openssl

Lai ģenerētu SSL sertifikātu un atslēgu pārus, varat izmantot vienu garu komandu, bet, lai vienkāršotu lietas, varat izveidot vienkāršu bash skriptu, kas ģenerēs SSL pārus ar vēlamo vārdu un piešķirs pareizas atļaujas Key failam.

Vietnē /usr/local/bin/ vai uz jebkura cita izpildāmās sistēmas ceļa (ko nosaka mainīgais $PATH ) izveidojiet bash failu ar nosaukumu proftpd_gen_ssl .

# nano /usr/local/bin/proftpd_gen_ssl

Pievienojiet tam šādu saturu.

#!/bin/bash
echo -e "\nPlease enter a name for your SSL Certificate and Key pairs:"
read name
 openssl req -x509 -newkey rsa:1024 \
          -keyout /etc/ssl/private/$name.key -out /etc/ssl/certs/$name.crt \
          -nodes -days 365\

 chmod 0600 /etc/ssl/private/$name.key

4. Kad esat izveidojis iepriekš minēto failu, piešķiriet tam izpildes atļaujas, pārliecinieties, ka pastāv /etc/ssl/private direktorijs, un palaidiet skriptu, lai izveidotu SSL sertifikātu un atslēgu pārus.

# chmod +x /usr/local/bin/proftpd_gen_ssl
# mkdir -p /etc/ssl/private
# proftpd_gen_ssl

Sniedziet SSL sertifikātu ar nepieciešamo pieprasīto informāciju, kas ir pašsaprotama, taču pievērsiet uzmanību Parastajam nosaukumam , lai tas atbilstu jūsu resursdatora Pilnībā kvalificētajam domēna vārdam - FQDN .

3. darbība: iespējojiet TLS ProFTPD serverī

5. Tā kā agrāk izveidotais TLS konfigurācijas fails jau norāda uz pareizo SSL sertifikāta un atslēgas failu, atlikušais ir tikai TLS moduļa aktivizēšana, izveidojot simbolisko saiti no tls.conf failu direktorijā enable-mod un restartējiet ProFTPD dēmonu, lai lietotu izmaiņas.

# ln -s /etc/proftpd/disabled_mod/tls.conf  /etc/proftpd/enabled_mod/
# systemctl restart proftpd

6. Lai atspējotu TLS moduli, vienkārši noņemiet simbolu tls.conf no direktorija enable_mod un restartējiet ProFTPD serveri, lai lietotu izmaiņas.

# rm /etc/proftpd/enabled_mod/tls.conf
# systemctl restart proftpd

4. solis: Atveriet ugunsmūri, lai atļautu FTP, izmantojot TLS komunikāciju

7. Lai klienti varētu piekļūt ProFTPD un drošus pārsūtīšanas failus pasīvajā režīmā , RHEL ir jāatver viss porta diapazons no 1024 līdz 65534 /CentOS ugunsmūris, izmantojot šādas komandas.

# firewall-cmd --add-port=1024-65534/tcp  
# firewall-cmd --add-port=1024-65534/tcp --permanent
# firewall-cmd --list-ports
# firewall-cmd --list-services
# firewall-cmd --reload

Tieši tā. Tagad jūsu sistēma ir gatava pieņemt FTP komunikāciju, izmantojot TLS no klienta puses.

5. darbība. Piekļūstiet ProFTPD, izmantojot TLS no klientiem

8. Tīmekļa pārlūkprogrammās parasti nav iebūvēta FTP atbalsta, izmantojot TLS protokolu, tāpēc visi darījumi tiek piegādāti, izmantojot nešifrētu FTP. Viens no izcilākajiem FTP klientiem ir FileZilla , kas ir pilnībā atvērts avots un var darboties gandrīz visās galvenajās operētājsistēmās.

Lai piekļūtu FTP, izmantojot TLS, no FileZilla atveriet Vietņu pārvaldnieku , izvēlieties FTP Protokols un Pieprasīt skaidru FTP, izmantojot TLS Nolaižamajā izvēlnē Šifrēšana atlasiet Pieteikšanās veids Parasts , ievadiet FTP akreditācijas datus un nospiediet Savienot , lai sazinātos. ar serveri.

9. Ja pirmo reizi izveidojat savienojumu ar ProFTPD Server, parādīsies uznirstošais logs ar jauno sertifikātu, atzīmējiet izvēles rūtiņu Vienmēr uzticieties turpmāko sesiju sertifikātam un nospiediet OK , lai akceptētu sertifikātu un autentificētos ProFTPD serverī.

Ja drošai piekļuvei FTP resursiem plānojat izmantot citus klientus, nevis FileZilla, pārliecinieties, vai tie atbalsta FTP, izmantojot TLS protokolu. Daži labi piemēri FTP klientiem, kuri var runāt ar FTPS, ir NFS gFTP vai LFTP (komandrinda).