GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar ProFTPD con TLS en CentOS 7.2

Este tutorial describe la instalación y configuración de ProFTPD en un servidor CentOS 7.2. ProFTPD es un demonio FTP para sistemas operativos Unix y Linux y se distribuye bajo la Licencia Pública GNU (GPL).

1 nota preliminar

Este tutorial se basa en un servidor CentOS, por lo que debe configurar una instalación básica del servidor CentOS 7.2 antes de continuar con este tutorial. El sistema debe tener una dirección IP estática. Uso 192.168.1.100 como mi dirección IP en este tutorial y server1.example.com como nombre de host.

2 Instalar y configurar ProFTPD

2.1 Instalación:

Requerimos Software del repositorio EPEL, habilítelo de la siguiente manera:

yum -y install epel-release

Luego importe la clave EPEL GPG:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

y actualice los paquetes:

yum -y update

Instalaremos ProFTPD y OpenSSL de la siguiente manera:

yum install -y proftpd openssl proftpd-utils

Necesitamos iniciar el servicio y permitir que se inicie en el arranque automáticamente.

systemctl start proftpd.service
systemctl enable proftpd.service

Si tiene firewalld instalado, configure el Firewall con firewall-cmd para abrir el puerto FTP:

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

Podemos comprobar la versión de ProFTPD de la siguiente manera:

proftpd -v
[[correo electrónico protegido] ~]# proftpd -v
ProFTPD versión 1.3.5b
[[correo electrónico protegido] ~]#

2.2 Creación de usuarios de ProFTPD

Crearé un grupo ftpgroup y un usuario tom para ProFTPD. Configuraré /ftpshare como directorio de inicio para el usuario tom.

groupadd ftpgroup

A continuación agregaré el usuario srijan en ftpgroup:

useradd  -G ftpgroup tom -s /sbin/nologin -d /ftpshare
passwd tom
[[email protected] ~]# passwd tom
Changing password for user srijan.
New password: <--ftppassword
Retype new password: <--ftppassword
passwd: all authentication tokens updated successfully.
[[email protected] ~]# 

Establezca los permisos para el directorio ftpshare:

chmod -R 1750 /ftpshare/

Ahora estamos listos para la conexión ProFTPD. Pero las conexiones aún no están encriptadas, lo resolveremos en el próximo capítulo.

3 Habilitación de TLS en ProFTPD

Para habilitar TLS en ProFTPD, abra /etc/proftpd/proftpd.conf. Antes de editar el archivo, es mejor hacer una copia de seguridad del archivo original y luego editar el archivo con nano.

cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf

Agregue y modifique las líneas como se muestra en rojo.

[...]
DefaultRoot ~ !adm PassivePorts 6000 6100
[...]

#
<IfDefine TLS> TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine>
[...]

He agregado puertos 6000 y 6100 para permitir el modo pasivo de ftp, de manera similar permitiré el modo pasivo a través del servicio de firewall de CentOS de la siguiente manera:

firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reload

Podemos verificar el estado de los puertos de la siguiente manera:

firewall-cmd --list-ports
[[email protected] ~]# firewall-cmd --list-ports
6000-6100/tcp
[[email protected] ~]#

Además, debemos decirle a SELINUX que permita la lectura/escritura de los archivos.

setsebool -P allow_ftpd_full_access=1

Para usar TLS, debemos crear un certificado SSL. Lo crearé en /etc/pki/tls/certs, podemos generar el certificado SSL de la siguiente manera:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[[email protected] certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Generación de una clave privada RSA de 1024 bits
...................................+++ +++
.........++++++
escribiendo una nueva clave privada en '/etc/pki/tls/certs/proftpd.pem'
- ----
Se le pedirá que ingrese información que se incorporará
en su solicitud de certificado.
Lo que está a punto de ingresar es lo que se denomina un Nombre Distinguido o un DN .
Hay bastantes campos pero puede dejar algunos en blanco
Para algunos campos habrá un valor predeterminado,
Si ingresa '.', el campo se dejará en blanco.
-----
Nombre del país (código de 2 letras) [XX]:<--DE
Nombre del estado o provincia (nombre completo) []:<-- Hamburgo
Nombre de la localidad (p. ej., ciudad) [Ciudad predeterminada]: <-- Lüneberg
Nombre de la organización (p. ej., empresa) [Default Company Ltd]:<-- Cómo forjar
Nombre de la unidad organizativa (p. ej., sección) []:<-- Desarrollo
Nombre común (p. ej., su nombre o el nombre de host de su servidor) []:<-- servidor1.ejemplo.com
Dirección de correo electrónico []:<-- [correo electrónico protegido]
[[correo electrónico protegido] certificados]#

Dé los valores anteriores en rojo según su elección, acabo de dar un ejemplo.

Ahora, por razones de seguridad, haré que los certificados solo sean legibles de la siguiente manera:

chmod  0440 /etc/pki/tls/certs/proftpd.pem

Finalmente reinicie el servicio ProFTPD de la siguiente manera:

systemctl restart proftpd.service

Podemos conectarnos al servidor ProFTPD con el software Filezilla, debe tener Filezilla instalado en la computadora cliente para conectarse al servidor. Abra Filezilla y proporcione los detalles de la siguiente manera:

Los detalles serán:

Host =192.168.1.100
Protocolo =FTP
Usuario = tom
Puerto =puede estar en blanco si no lo ha personalizado en otro puerto que no sea 21
Contraseña =ftppassword (recién creado arriba)

Nota:Dado que hemos encriptado nuestra conexión en el paso anterior, usaremos Encriptación con Requerir FTP explícito sobre TLS

Si no ha configurado TLS, puede usar Usar FTP simple



Te pedirá confiar en el certificado, presiona OK



Estará conectado al directorio compartido FTP con conexión TLS.


4 Acceso ftp anónimo en ProFTPD

Podemos crear una cuenta ftp anónima en ProFTPD, solo agregue estas líneas en el archivo de configuración de ProFTPD:

nano /etc/proftpd.conf

Y agregue estas líneas al final del archivo.

[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>

Ahora necesitamos reiniciar el servicio FTP:

systemctl restart proftpd.service

Ahora conéctese a través de Filezilla a la cuenta anon de la siguiente manera:

Nota:Dado que hemos encriptado nuestra conexión en el paso anterior, usaremos Encriptación con Requerir FTP explícito sobre TLS

Si no ha configurado TLS, puede usar Usar FTP simple

Presiona Conectar.

Estamos conectados con éxito al servidor con un usuario anónimo.

¡Felicidades! Ahora hemos configurado con éxito el entorno del servidor ProFTPD en CentOS 7.2 :)

5 Enlaces

  • CentOS:http://www.centos.org/
  • ProFTPD:http://www.proftpd.org/

Cent OS
  1. Cómo instalar CentOS 8 (con capturas de pantalla)

  2. Cómo instalar Python 3 en CentOS 7 con SCL

  3. Cómo instalar ProFTPd con TLS en OpenSuse 13.2

  4. Cómo instalar ProFTPD en CentOS 7

  5. Cómo instalar un servidor FTP en CentOS 7

Cómo instalar ProFTPD con TLS en Ubuntu 18.04 LTS

Cómo instalar el servidor FTP vsftpd con SSL/TLS en CentOS 8

Cómo instalar ProFTPD en CentOS 7.0

Cómo instalar Nginx con ngx_pagespeed en CentOS

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

Cómo instalar Magento con Nginx en CentOS 7