Secure ProFTPD Connections Gamit ang TLS/SSL Protocol sa RHEL/CentOS 7


Pinaagi sa kinaiya niini nga FTP nga protocol gidesinyo isip usa ka walay kasegurohan nga protocol ug ang tanang datos ug mga password gibalhin sa yano nga teksto, nga naghimo sa trabaho sa usa ka ikatulo nga partido nga sayon kaayo nga ma-intercept ang tanang FTP client-server nga mga transaksyon, ilabi na ang mga username ug mga password nga gigamit sa proseso sa pag-authenticate.

  1. Pag-instalar sa ProFTPD Server sa RHEL/CentOS 7
  2. Enable Anonymous Account para sa Proftpd Server sa RHEL/CentOS 7

Kini nga panudlo mogiya kanimo kon unsaon nimo pagsiguro ug pag-encrypt ang FTP nga komunikasyon sa ProFTPd Server sa CentOS/RHEL 7 , gamit ang TLS (Transport Layer Security) nga adunay Explicit FTPS extension (hunahunaa ang FTPS kung unsa ang HTTPS para sa HTTP Protocol).

Lakang 1: Paghimo Proftpd TLS Module Configuration File

1. Sama sa gihisgutan sa miaging Proftpd tutorial mahitungod sa Anonymous nga account, kini nga giya mogamit usab sa samang paagi sa pagdumala sa Proftpd sa umaabot nga mga configuration file isip mga module, uban sa tabang sa enabled_mod ug disabled_mod mga direktoryo, nga mag-host sa tanan nga gipalapdan nga kapabilidad sa server.

Busa, paghimo ug bag-ong payl gamit ang imong paborito nga text editor nga ginganlag tls.conf sa disabled_mod Proftpd path ug idugang ang mosunod nga mga direktiba.

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

Idugang ang mosunod nga TLS file configuration excerpt.

<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. Kon mogamit ka og mga browser o FTP Clients nga dili mosuporta sa TLS connections, comment ang linya TLSRequired on aron tugotan ang TLS ug non-TLS nga koneksyon sa samang higayon ug malikayan ang error message sama sa screenshot sa ubos.

Lakang 2: Paghimo SSL Certificate Files para sa TLS

3. Human nimo mabuhat ang TLS module configuration file. nga makapahimo sa FTP sa TLS sa Proftpd, kinahanglan ka nga maghimo og SSL Certificate ug Key aron magamit ang luwas nga komunikasyon sa ProFTPD Server sa tabang sa OpenSSL nga pakete.

# yum install openssl

Mahimo nimong gamiton ang usa ka taas nga mando aron makamugna ang SSL Certificate ug Key nga mga pares, apan aron mapasimple ang mga butang mahimo ka makahimo usa ka yano nga script sa bash nga makamugna mga pares sa SSL sa imong gusto nga ngalan ug mag-assign sa husto nga pagtugot alang sa Key file.

Paghimo ug bash file nga gihinganlan og proftpd_gen_ssl sa /usr/local/bin/ o sa bisan unsang laing executable system path (gipasabot sa PATH variable).

# nano /usr/local/bin/proftpd_gen_ssl

Idugang ang mosunod nga sulod niini.

#!/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. Human nimo mabuhat ang naa sa ibabaw nga payl, i-assign kini uban ang execution permissions, siguroha nga /etc/ssl/private nga direktoryo anaa ug ipadagan ang script aron makahimo og SSL Certificate ug Key nga mga pares.

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

Ihatag ang SSL Certificate sa gikinahanglan nga impormasyon nga gipatin-aw sa kaugalingon, apan tagda ang Common Name aron ipares sa imong host Fully Qualified Domain NameFQDN b>.

Lakang 3: I-enable ang TLS sa ProFTPD Server

5. Ingon nga ang TLS Configuration file nga gihimo sa sayo pa nagpunting na sa tuo nga SSL Certificate ug Key file ang nahabilin lamang mao ang pagpaaktibo sa TLS module pinaagi sa paghimo og symbolic link sa tls.conf file ngadto sa enabled-mod directory ug restart ProFTPD daemon aron magamit ang mga kausaban.

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

6. Aron ma-disable ang TLS module kuhaa lang ang tls.conf symlink gikan sa enabled_mod nga direktoryo ug i-restart ang ProFTPD server aron magamit ang mga pagbag-o.

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

Lakang 4: Ablihi ang Firewall aron tugotan ang FTP sa TLS Communication

7. Aron ang mga kliyente maka-access sa ProFTPD ug luwas nga pagbalhin sa mga file sa Passive Mode kinahanglan nimong ablihan ang tibuok port range tali sa 1024 ug 65534 sa RHEL/CentOS Firewall, gamit ang mosunod nga mga sugo.

# 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

Mao na. Karon ang imong sistema andam na sa pagdawat sa FTP nga komunikasyon sa TLS gikan sa usa ka Kliyente nga bahin.

Lakang 5: Pag-access sa ProFTPD sa TLS gikan sa mga Kliyente

8. Ang mga web browser kasagaran walay built-in nga suporta alang sa FTP sa TLS protocol, mao nga ang tanang transaksyon ihatod sa non-encrypted FTP. Usa sa labing maayo nga FTP Client mao ang FileZilla, nga hingpit nga Open Source ug mahimong magamit sa halos tanan nga dagkong Operating System.

Aron ma-access ang FTP sa TLS gikan sa FileZilla abli Site Manager, pilia ang FTP sa Protocol ug Kinahanglan ang klaro nga FTP sa TLS sa Encryption drop-down menu, pilia ka Logon Type as Normal, isulod ang imong FTP credentials ug pindota ang Connect aron makigkomunikar uban sa server.

9. Kung kini ang unang higayon nga ikaw magkonektar sa ProFTPD Server usa ka pop-up nga adunay bag-ong Sertipiko kinahanglan nga makita, tsek ang kahon nga nag-ingon Kanunay pagsalig sa sertipiko alang sa umaabot nga mga sesyon ug i-hit sa OK aron dawaton ang Sertipiko ug pagmatuod sa ProFTPD server.

Kung nagplano ka nga mogamit sa ubang mga kliyente kaysa sa FileZilla aron luwas nga ma-access ang mga kapanguhaan sa FTP siguruha nga gisuportahan nila ang FTP sa TLS protocol. Ang pipila ka maayong mga pananglitan alang sa mga kliyente sa FTP nga makasulti sa FTPS mao ang gFTP o LFTP (linya sa sugo) para sa NIX.