Assegureu les connexions ProFTPD mitjançant el protocol TLS/SSL a RHEL/CentOS 7


Per la seva naturalesa, el protocol FTP va ser dissenyat com un protocol insegur i totes les dades i contrasenyes es transfereixen en text sense format, cosa que fa que la feina d'un tercer sigui molt fàcil d'interceptar totes les transaccions client-servidor FTP, especialment els noms d'usuari i contrasenyes utilitzades en el procés d'autenticació.

  1. Instal·lació del servidor ProFTPD a RHEL/CentOS 7
  2. Activeu el compte anònim per al servidor Proftpd a RHEL/CentOS 7

Aquest tutorial us guiarà sobre com podeu protegir i xifrar la comunicació FTP al servidor ProFTPd a CentOS/RHEL 7 , utilitzant TLS (Seguretat de la capa de transport) amb l'extensió FTPS explícita (penseu a FTPS com el que és HTTPS per al protocol HTTP).

Pas 1: creeu el fitxer de configuració del mòdul TLS de Proftpd

1. Tal com s'ha comentat al tutorial anterior de Proftpd sobre el compte anònim, aquesta guia també utilitzarà el mateix enfocament per gestionar els fitxers de configuracions futures de Proftpd com a mòduls, amb l'ajuda de enabled_mod i disabled_mod directoris, que allotjaran totes les capacitats ampliades del servidor.

Per tant, creeu un fitxer nou amb el vostre editor de text favorit anomenat tls.conf a la ruta de Proftpd disabled_mod i afegiu les directrius següents.

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

Afegiu el següent extracte de configuració del fitxer TLS.

<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. Si utilitzeu navegadors o clients FTP que no admeten connexions TLS, comenteu la línia TLSRequired on per permetre connexions TLS i no TLS al mateix temps i evitar el missatge d'error com a la captura de pantalla a continuació.

Pas 2: creeu fitxers de certificat SSL per a TLS

3. Després d'haver creat el fitxer de configuració del mòdul TLS. que permetrà FTP sobre TLS a Proftpd, heu de generar un certificat i una clau SSL per utilitzar la comunicació segura a través del servidor ProFTPD amb l'ajuda del paquet OpenSSL.

# yum install openssl

Podeu utilitzar una única comanda llarga per generar parells de certificats i claus SSL, però per simplificar les coses podeu crear un script bash senzill que generarà parells SSL amb el vostre nom desitjat i assignarà els permisos correctes per al fitxer de claus.

Creeu un fitxer bash anomenat proftpd_gen_ssl a /usr/local/bin/ o a qualsevol altre camí del sistema executable (definit per la variable PATH).

# nano /usr/local/bin/proftpd_gen_ssl

Afegiu-hi el contingut següent.

#!/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. Després d'haver creat el fitxer anterior, assigneu-lo amb permisos d'execució, assegureu-vos que existeix el directori /etc/ssl/private i executeu l'script per crear parells de claus i certificat SSL.

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

Proporcioneu el certificat SSL amb la informació requerida que s'explica per si mateixa, però presteu atenció al Nom comú perquè coincideixi amb el Nom de domini totalment qualificat del vostre amfitrió - FQDN b>.

Pas 3: habiliteu TLS al servidor ProFTPD

5. Com que el fitxer de configuració TLS creat anteriorment ja apunta al fitxer de clau i certificat SSL correctes, l'únic que queda és activar el mòdul TLS creant un enllaç simbòlic de tls.conf fitxer al directori enabled-mod i reinicieu el dimoni ProFTPD per aplicar els canvis.

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

6. Per desactivar el mòdul TLS, només cal eliminar l'enllaç simbòlic tls.conf del directori enabled_mod i reiniciar el servidor ProFTPD per aplicar els canvis.

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

Pas 4: obriu el tallafoc per permetre la comunicació FTP a través de TLS

7. Per tal que els clients puguin accedir a ProFTPD i protegir els fitxers de transferència en Mode passiu, heu d'obrir tot l'interval de ports entre 1024 i 65534 a RHEL /CentOS Firewall, utilitzant les ordres següents.

# 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

Això és. Ara el vostre sistema està preparat per acceptar la comunicació FTP a través de TLS des d'un client.

Pas 5: Accediu a ProFTPD mitjançant TLS des dels clients

8. Els navegadors web normalment no tenen suport integrat per FTP a través del protocol TLS, de manera que totes les transaccions es lliuren a través d'FTP no xifrat. Un dels clients FTP més excel·lents és FileZilla, que és completament de codi obert i es pot executar en gairebé tots els sistemes operatius principals.

Per accedir a FTP a través de TLS des de FileZilla, obriu Gestor de llocs, trieu FTP a Protocol i Requereix FTP explícit a través de TLS a menú desplegable Xifrat, seleccioneu el vostre Tipus d'inici de sessió com a Normal, introduïu les vostres credencials FTP i premeu Connecta per comunicar-vos. amb el servidor.

9. Si és la primera vegada que us connecteu al servidor ProFTPD, hauria d'aparèixer una finestra emergent amb el certificat nou, marqueu la casella que diu Confieu sempre en el certificat per a sessions futures i premeu a D'acord per acceptar el certificat i autenticar-se al servidor ProFTPD.

Si teniu previst utilitzar altres clients que no siguin FileZilla per accedir de manera segura als recursos FTP, assegureu-vos que admeten FTP a través del protocol TLS. Alguns bons exemples de clients FTP que poden parlar FTPS són gFTP o LFTP (línia d'ordres) per a NIX.