Turvaline ProFTPD-ühendus, kasutades TLS/SSL-protokolli RHEL/CentOS 7-s


Oma olemuselt kujundati FTP protokoll ebaturvaliseks protokolliks ning kõik andmed ja paroolid edastatakse lihttekstina, mis muudab kolmanda osapoole töö väga hõlpsaks kõigi FTP klient-server tehingute, eriti kasutajanimede ja autentimisprotsessis kasutatavad paroolid.

  1. ProFTPD serveri installimine RHEL/CentOS 7-sse
  2. Lubage RHEL/CentOS 7-s Proftpd-serveri jaoks anonüümne konto

See õpetus annab teile teada, kuidas CentOS / RHEL 7 ProFTPd serveris FTP suhtlust turvaliselt kaitsta ja krüptida , kasutades selgesõnalise FTPS-i laiendusega TLS -i (transpordikihi turvalisus) (mõelge FTPS-ile kui sellele, mis HTTPS on HTTP-protokollile).

1. samm: looge Proftpd TLS-mooduli konfiguratsioonifail

1. Nagu eelmises anonüümset kontot puudutavas Proftpdi õpetuses arutati, kasutatakse selles juhendis sama lähenemisviisi ka Proftpdi tulevaste konfiguratsioonifailide haldamisel moodulitena, kasutades selleks enable_mod ja disabled_mod kataloogid, kus asuvad kõik serveri laiendatud võimalused.

Niisiis looge uus fail oma lemmiktekstiredaktoriga tls.conf saidil invaliid_mod Proftpd ja lisage järgmised direktiivid.

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

Lisage järgmine TLS-faili konfiguratsiooni väljavõte.

<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. Kui kasutate brausereid või FTP-kliente, mis ei toeta TLS-ühendusi, kommenteerige rida TLSRequired on , et võimaldada TLS-i ja muude kui TLS-ühenduste samaaegset kasutamist ning vältida tõrketeadet nagu ekraanipilt allpool.

2. samm: looge TLS-i jaoks SSL-sertifikaadifailid

3. Pärast TLS-mooduli konfiguratsioonifaili loomist. mis lubab FTP kaudu TLS-i Proftpd-l, peate paketi OpenSSL abil ProFTPD Serveri kaudu turvalise side kasutamiseks SSL-i sertifikaadi ja võtme genereerima.

# yum install openssl

SSL-sertifikaatide ja võtmepaaride loomiseks võite kasutada ühte pikka käsku, kuid asjade lihtsustamiseks võite luua lihtsa bashi skripti, mis genereerib teie soovitud nimega SSL-paarid ja määrab võtmefailile õiged õigused.

Looge bashi fail nimega proftpd_gen_ssl saidil /usr/local/bin/ või mõnel muul käivitataval süsteemiteel (määratletud muutujaga $PATH ).

# nano /usr/local/bin/proftpd_gen_ssl

Lisage sellele järgmine sisu.

#!/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. Kui olete ülaltoodud faili loonud, määrake see täitmisõigustega, veenduge, et kataloog /etc/ssl/private on olemas, ja käivitage skript SSL-sertifikaadi ja võtmepaaride loomiseks.

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

Esitage SSL-sertifikaat nõutava küsitud teabega, mis on iseenesestmõistetav, kuid pöörake tähelepanu tavalisele nimele , et see vastaks teie hostile täielikult kvalifitseeritud domeeninimi - FQDN .

3. samm: lubage TLS ProFTPD serveris

5. Kuna varem loodud TLS-i konfiguratsioonifail osutab juba paremale SSL-sertifikaadi ja võtme failile, jääb järele vaid TLS-mooduli aktiveerimine, luues sümboolse lingi saidile tls.conf faili kataloogi enable-mod ja taaskäivitage ProFTPD deemon muudatuste rakendamiseks.

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

6. TLS-mooduli keelamiseks eemaldage lihtsalt sümbollink tls.conf kataloogist enable_mod ja taaskäivitage ProFTPD server muudatuste rakendamiseks.

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

4. samm: avage tulemüür, et lubada FTP-d TLS-ühenduse kaudu

7. Selleks et kliendid pääseksid ProFTPD-le juurde ja saaksid turvalisi edastusfaile passiivses režiimis avada, peate RHEL-is avama kogu pordivahemiku vahemikus 1024 kuni 65534 /CentOS tulemüür, kasutades järgmisi käske.

# 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

See on kõik. Nüüd on teie süsteem valmis aktsepteerima kliendi poolel TLS-i kaudu FTP-sidet.

5. samm: pääsege ProFTPD-le klientide kaudu üle TLS-i

8. Veebibrauseritel puudub tavaliselt TLS-protokolli kaudu FTP sisseehitatud tugi, seega edastatakse kõik tehingud krüptimata FTP kaudu. Üks suurepärasemaid FTP-kliente on FileZilla , mis on täielikult avatud lähtekoodiga ja töötab peaaegu kõigis suuremates operatsioonisüsteemides.

FTP-le juurdepääsuks TLS-i kaudu FileZilla kaudu avage saidihaldur , valige Protokoll -is FTP ja Nõua selget FTP-d TLS-i kaudu Rippmenüüst Krüptimine valige Sisselogimise tüüp kui Tavaline , sisestage FTP mandaadid ja vajutage suhtlemiseks nuppu Ühenda serveriga.

9. Kui ProFTPD Serveriga ühendate esimest korda, peaks ilmuma uue sertifikaadiga hüpikaken, märkige ruut , mis ütleb Usalda tulevaste seansside jaoks alati sertifikaati ja vajutage OK -sertifikaadi aktsepteerimiseks ja ProFTPD serveris autentimiseks.

Kui plaanite FTP-ressurssidele turvaliseks juurdepääsuks kasutada muid kliente kui FileZilla, veenduge, et need toetaksid FTP-d TLS-protokolli kaudu. Mõned head näited FTPS-i oskavate FTP-klientide kohta on NF-i jaoks gFTP või LFTP (käsurida).