Cargando



Cómo instalar ProFTPD en CentOS 7

Te explicamos todos los pasos para saber cómo instalar, crear usuarios y grupos y habilitar TLS ProFTPD en CentOS 7


abr 02 2018 18:12
Profesional
Total de Apartados : 6
abr 03 2018 10:22

Uno de los métodos de conexión mas seguros y tradicionales en cualquier organización es FTP (File Transfer Protocol – Protocolo de Transferencia de Archivos) el cual permite la transferencia de archivos entre dos equipos en una red TCP.
Su diseño esta basado en la arquitectura cliente-servidor, con la cual es posible usar un equipo cliente desde donde nos podremos conectar a un servidor para descargar archivos desde él o para enviarle archivos independientemente del sistema operativo usado en cada uno de los equipos, de allí la amplia acogida de este protocolo.

 

Una de las utilidades que tenemos disponibles para añadir aún más seguridad en la conexión FTP es ProFTPD la cual analizaremos el día de hoy en CentOS 7.

 

Qué es ProFTPD
ProFTPD es básicamente un software de servidor FTP bajo licencia GPL altamente configurable para llenar las expectativas de conexión en cualquier sitio. ProFTPD está diseñado desde cero por lo cual no usa otra copia y esto nos da la posibilidad de configurar numerosas opciones en su ejecución.

 

ProFTPD
ProFTPD puede ser ejecutado en las siguientes plataformas de forma integral:
  • AIX
  • BSD/OS
  • Cygwin
  • Digital Unix
  • DG/UX HP/UX
  • IRIX
  • Linux
  • macOS
  • SCO
  • FreeBSD
  • NetBSD
  • OpenBSD
  • Solaris
  • SunOS
  • Linux for IBM S/390, zSeries

 

Características ProFTPD
Dentro de sus características encontramos:
  • Posee un único archivo de configuración principal, con directivas y grupos de directivas que son intuitivos para cualquier usuario que haya usado Apache.
  • Cuenta con un directorio ".ftpaccess" cuya configuración es similar a ".htaccess" de Apache
  • Capacidad de configurar múltiples servidores FTP virtuales y servicios FTP anónimos
  • Diseñado para ejecutarse como un servidor independiente o desde inetd / xinetd, dependiendo de la carga del sistema
  • Los directorios raíz FTP anónimos no requieren ninguna estructura de directorio específica, binarios del sistema u otros archivos del sistema facilitando su administración
  • Sin comando SITE EXEC. En los entornos modernos de Internet, estos comandos son una pesadilla de seguridad
  • El código fuente está disponible para que los administradores y desarrolladores puedan auditar el sistema
  • Posee directorios y archivos ocultos, basados ​​en permisos de estilo Unix o propiedad de usuarios / grupos
  • Se ejecuta como un usuario configurable sin privilegios en modo independiente para disminuir las posibilidades de ataques que podrían explotar las capacidades de "root". Nota: Esta función depende de las capacidades del sistema host Unix
  • Soporte de registro y utmp / wtmp. El registro es compatible con el estándar wu-ftpd, con un registro extendido disponible
  • Compatibilidad con el conjunto de contraseñas Shadow, incluida la compatibilidad con cuentas caducadas
  • Está basado en un diseño modular, lo cual nos permite que el servidor se amplíe fácilmente con módulos. Los módulos se han escrito para bases de datos SQL, servidores LDAP, cifrado SSL / TLS, soporte RADIUS, etc
  • Soporta IPv6.

 

 


1. Cómo instalar EPEL en CentOS 7

 

Paso 1

El primer paso a dar consiste en instalar el repositorio EPEL para posteriormente desde el obtener ProFTPD, para ello ejecutamos lo siguiente:
yum -y install epel-release

_instalar-ProFTPD-en-CentOS-7-1.png

 

 

Paso 2

Una vez este proceso finalice veremos esto:

 

_instalar-ProFTPD-en-CentOS-7-2.png

 

 

Paso 3

Ahora, vamos a importar la clave GPG de EPEL usando la siguiente línea:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Procedemos a actualizar los paquetes del sistema:
yum -y update

_instalar-ProFTPD-en-CentOS-7-3.png

 


2. Cómo instalar ProFTPD en Cómo instalar EPEL en CentOS 7


El siguiente paso a dar será instalar la utilidad ProFTPD y OpenSSL ejecutando lo siguiente:
yum install -y proftpd openssl proftpd-utils

_instalar-ProFTPD-en-CentOS-7-4.png

 

Una vez este proceso concluya, vamos a ejecutar las siguientes líneas:

systemctl start proftpd.service (Inicia el servicio de ProFTPD)
systemctl enable proftpd.service (Habilita el servicio de ProFTPD junto al arranque de CentOS)

_instalar-ProFTPD-en-CentOS-7-5.png

 


3. Cómo configurar Firewall


Si Firewalld está instalado en CentOS 7, debemos configurarlo con firewall-cmd para abrir el puerto FTP de la siguiente forma:
firewall-cmd --add-service=ftp --permanent
firewall-cmd –reload

_instalar-ProFTPD-en-CentOS-7-6.png

 

Procedemos a verificar la versión instalada de ProFTPD:

proftpd -v

_instalar-ProFTPD-en-CentOS-7-7.png

 


4. Cómo crear usuarios y grupo para ProFTPD en CentOS 7


Una vez instalado ProFTPD en CentOS 7, es crear el grupo y usuario para el acceso, en este caso vamos a crear un grupo ftpgroup y un usuario solvetic1 para ProFTPD, y vamos a definir /ftpshare como directorio de inicio para el usuario creado:
groupadd ftpgroup
useradd  -G ftpgroup solvetic1 -s /sbin/nologin -d /ftpshare
passwd solvetic1

_instalar-ProFTPD-en-CentOS-7-8.png

 

Alli debemos ingresar y confirmar la respectiva contraseña para el nuevo usuario. Una vez realizado esto, otorgaremos los permisos a ftpshare ejecutando:

chmod -R 1750 /ftpshare/

5. Cómo habilitar TLS en ProFTPD


Ahora será necesario que aseguremos las conexiones FTP usando TLS y para ello, debemos abrir el archivo /etc/proftpd/proftpd.conf pero es ideal antes de editar el archivo, crear una copia de seguridad del archivo original y luego editar el archivo con nano.

 

Paso 1

Para crear la copia ejecutamos:
cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
Para acceder al archivo usaremos nano y ejecutamos:
nano /etc/proftpd.conf
En el archivo desplegado ingresaremos lo siguiente bajo la línea DefaultRoot ~ !adm:
PassivePorts    6000    6100

_instalar-ProFTPD-en-CentOS-7-9.png

 

Paso 2

Adicional a esto, comentaremos las siguientes líneas:
#<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>
Paso 3

Guardamos los cambios usando las teclas Ctrl + O y salimos del editor usando las teclas Ctrl + X. Como vemos, se han añadido los puertos 6000 y 6100 para permitir el modo pasivo de ftp, para permitir este acceso ejecutaremos lo siguiente:
firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reload

_instalar-ProFTPD-en-CentOS-7-10.png

 

Paso 4

Si deseamos ver el estado de los puertos podemos ejecutar lo siguiente:
firewall-cmd --list-ports

_instalar-ProFTPD-en-CentOS-7-11.png

 

Paso 5

Ahora, será necesario configurar SELINUX con el fin de que permita la lectura y escritura de los archivos, ejecutamos lo siguiente:
setsebool -P allow_ftpd_full_access=1

_instalar-ProFTPD-en-CentOS-7-12.png

 

Paso 6

Para usar TLS, será necesario crear un certificado SSL, este lo vamos a crear en la ruta /etc/ pki/tls/certs, 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
Serán desplegadas las siguientes preguntas donde ingresaremos respuestas como:
  • Ciudad
  • País
  • Organización
  • Correo y mas

 

 

 

_instalar-ProFTPD-en-CentOS-7-13.png

 

Paso 7

Ahora, por razones de seguridad, configuraremos los certificados para que solo sean legibles así:
chmod  0440 /etc/pki/tls/certs/proftpd.pem
Finalmente, reiniciamos el servicio de ProFTPD ejecutando lo siguiente:
systemctl restart proftpd.service

_instalar-ProFTPD-en-CentOS-7-14.png

 

 


6. Cómo acceder a CentOS usando FTP

 

Paso 1

Para acceder a CentOS usando FTP podemos usar algún cliente FTP y para este caso usaremos Filezilla el cual puede ser descargado en el siguiente enlace:

 

Filezilla

 

Al acceder a Filezilla vamos al menú Archivo y allí seleccionamos la opción Gestor de sitios para crear la configuración de nuestro acceso, ingresaremos lo siguiente:

 

Servidor
192.168.0.9 (IP de CentOS 7)

Protocolo
FTP

Cifrado
Requiere FTP explícito sobre TLS

Modo de acceso
Normal

Usuario
solvetic1 (Creado durante la configuración)

Puerto
Este puede estar en blanco si no se ha personalizado otro puerto que no sea el 21 el cual es por defecto.

Contraseña
Creada durante la configuración de usuario

 

 

Paso 2

Una vez definido esto pulsamos en Conectar para acceder a nuestro servidor CentOS y desde acá iniciar la conexión, este proceso lo podremos realizar desde Windows, macOS o Linux, cuando pulsemos allí, será desplegado el siguiente mensaje:

 

_instalar-ProFTPD-en-CentOS-7-16.png

 

Detalles mensaje
Allí podemos ver detalles como:
  • Algoritmos, fecha de validez y huellas del certificado
  • Datos del certificado según lo configuramos en el momento de la creación
  • Datos de la sesión con dirección IP, usuario, claves y tipo de cifrado

 

Paso 3

Podemos activar la casilla Siempre confiar en el certificado en futuras sesiones para evitar que este mensaje siga desplegándose en cada conexión con CentOS 7.

 

Si esto es correcto, pulsamos en el botón Aceptar y de esta forma estaremos conectados a CentOS 7 usando ProFTPD:

 

 

Allí podremos iniciar el proceso de navegación sin problema.

 

Paso 4

En caso de desear configurar el usuario anónimo para el acceso FTP, vamos a crear el siguiente archivo:
nano /etc/proftpd.conf
Alli pegaremos lo siguiente:
[...]
###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>
Guardamos los cambios usando las teclas Ctrl + O y salimos usando Ctrl + X.

 

Paso 5

Finalmente reiniciamos el servicio:
systemctl restart proftpd.service
Hemos visto como ProFTPD es una herramienta útil para establecer una conexión integra hacia nuestros servidores garantizando así una comunicación integra y completamente ágil de los archivos.

 

Recordemos que ProFTPD está disponible para diversos sistemas por lo que su uso es amplio.

 

Te explicamos cómo verificar actualizaciones, actualizar un sólo paquete o todos con Yum y actualizar de forma general el sistema de CentOS 7 Linux


¿Te ayudó este Tutorial?


1 Comentarios

Excelente; solo un detalle el usuario no conectará a la primera
Solución:
 

1 abres nano /etc/shells

2 agregas /bin/false

3 al crear el usuario useradd-G ftpgroup solvetic1 -s /sbin/nologin -d /ftpshare

cambiar por useradd-G ftpgroup solvetic1 -s /bin/false -d /ftpshare

4 si ya habías creado el usuario antes de leer esto:
sudo usermod -s /bin/false solvetic1
obvio que solvetic1 debes cambiarlo por el nombre de usuario que escogiste

un cafe pue 3AeYxNnZxFYnsZj7D1EsopCucqd1sdHEYq

 

 
 

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X