Séchert ProFTPD Verbindungen Mat TLS/SSL Protokoll op RHEL/CentOS 7


Duerch seng Natur gouf de FTP Protokoll als en onséchere Protokoll entworf an all Donnéeën a Passwierder ginn am Kloertext transferéiert, sou datt d'Aarbecht vun enger Drëtter ganz einfach ass fir all FTP Client-Server Transaktiounen z'ënnerscheeden, besonnesch Benotzernimm an Passwierder benotzt am Authentifikatiounsprozess.

  1. ProFTPD Server op RHEL/CentOS 7 installéieren
  2. Anonyme Kont fir Proftpd Server an RHEL/CentOS 7 aktivéieren

Dësen Tutorial wäert Iech guidéieren wéi Dir FTP Kommunikatioun op ProFTPd Server am CentOS/RHEL 7 sécher a verschlësselt , benotzt TLS (Transport Layer Security) mat explizit FTPS Extensioun (denkt un FTPS wéi wat HTTPS fir HTTP Protokoll ass).

Schrëtt 1: Erstellt Proftpd TLS Modul Konfiguratiounsdatei

1. Wéi am fréiere Proftpd Tutorial betreffend Anonyme Kont diskutéiert, wäert dëse Guide och déi selwecht Approche benotzen fir Proftpd zukünfteg Konfiguratiounsdateien als Moduler ze managen, mat der Hëllef vun enabled_mod an disabled_mod Verzeechnes, déi all Server erweidert Fäegkeeten hosten.

Also, erstellt eng nei Datei mat Ärem Liiblingstexteditor mam Numm tls.conf am disabled_mod Proftpd Wee a füügt déi folgend Direktiven un.

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

Füügt folgend TLS Dateikonfiguratiounsauszuch.

<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. Wann Dir Browser oder FTP Clienten benotzt déi TLS Verbindungen net ënnerstëtzen, kommentéiert d'Linn TLSRequired on fir TLS an Net-TLS Verbindungen zur selwechter Zäit z'erlaben an d'Fehlermeldung ze vermeiden wéi an der Screenshot ënnert.

Schrëtt 2: Erstellt SSL Zertifikatdateien fir TLS

3. Nodeems Dir d'TLS Modul Configuratiounsdatei erstallt hunn. déi FTP iwwer TLS op Proftpd aktivéiert, Dir musst SSL Zertifikat a Schlëssel generéieren fir sécher Kommunikatioun iwwer ProFTPD Server mat der Hëllef vum OpenSSL Package ze benotzen.

# yum install openssl

Dir kënnt en eenzege laange Kommando benotze fir SSL Zertifikat a Schlësselpairen ze generéieren, awer fir d'Saachen ze vereinfachen, kënnt Dir en einfache Bash-Skript erstellen deen SSL-Paren mat Ärem gewënschten Numm generéiert an déi richteg Permissiounen fir Key-Datei zouginn.

Erstellt eng Bash Datei mam Numm proftpd_gen_ssl op /usr/local/bin/ oder op all aner ausführbare Systemwee (definéiert duerch PATH Variabel).

# nano /usr/local/bin/proftpd_gen_ssl

Füügt de folgenden Inhalt derbäi.

#!/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. Nodeems Dir déi uewe genannte Datei erstallt hutt, gitt et mat Ausféierungsrechter zou, vergewëssert Iech datt /etc/ssl/private Verzeichnis existéiert a lafe de Skript fir SSL Zertifikat a Schlësselpaar ze kreéieren.

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

Gitt den SSL Zertifikat mat der erfuerderter gefuerderter Informatioun déi selbstverständlech ass, awer oppassen op Gemeinsamen Numm fir mat Ärem Host ze passen Vollqualifizéiert Domain Numm - FQDN b >.

Schrëtt 3: Aktivéiert TLS op ProFTPD Server

5. Well d'TLS Konfiguratiounsdatei, déi virdru erstallt gouf, schonn op de richtege SSL Zertifikat a Schlësseldatei weist, ass dat eenzegt wat bleift ass den TLS Modul z'aktivéieren andeems en symbolesche Link vun tls.conf Datei an enabled-mod Verzeichnis an Restart ProFTPD Daemon fir Ännerungen z'applizéieren.

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

6. Fir TLS Modul auszeschalten just ewechzehuelen tls.conf Symlink aus enabled_mod Verzeechnes an Restart ProFTPD Server Ännerungen ze gëllen.

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

Schrëtt 4: Open Firewall fir FTP iwwer TLS Kommunikatioun z'erméiglechen

7. Fir Clienten Zougang zu ProFTPD a sécher Transferdateien am Passive Modus ze kréien, musst Dir de ganze Portberäich tëscht 1024 an 65534 op RHEL opmaachen /CentOS Firewall, mat de folgende Kommandoen.

# 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

Dat ass et. Elo ass Äre System prett fir FTP Kommunikatioun iwwer TLS vun enger Client Säit ze akzeptéieren.

Schrëtt 5: Zougrëff op ProFTPD iwwer TLS vu Clienten

8. Webbrowser hunn normalerweis keng agebauter Ënnerstëtzung fir FTP iwwer TLS Protokoll, sou datt all Transaktioun iwwer net verschlësselte FTP geliwwert gëtt. Ee vun den excellentsten FTP Clienten ass FileZilla, déi ganz Open Source ass a kann op bal all gréisser Betribssystemer lafen.

Fir Zougang zu FTP iwwer TLS vu FileZilla op Site Manager opzemaachen, wielt FTP op Protokoll an Explizit FTP iwwer TLS erfuerderen op Verschlësselung Dropdown-Menü, wielt Dir Logon Typ als Normal, gitt Är FTP Umeldungsinformatiounen a klickt op Connect fir ze kommunizéieren mam Server.

9. Wann et déi éischte Kéier ass, datt Dir mam ProFTPD Server verbënnt, soll e Pop-up mam neie Certificat erschéngen, checkt d'Këscht déi seet Vertrauen ëmmer Zertifikat fir zukünfteg Sessiounen a klickt op OK fir e Certificat z'akzeptéieren an op de ProFTPD-Server ze authentifizéieren.

Wann Dir plangt aner Cliente wéi FileZilla ze benotzen fir sécher Zougang zu FTP Ressourcen ze kréien, gitt sécher datt se FTP iwwer TLS Protokoll ënnerstëtzen. E puer gutt Beispiller fir FTP Clienten déi FTPS kënne schwätzen sinn gFTP oder LFTP (Kommando Linn) fir NIX.