Como instalar Pure-FTPd en Centos

Pure-FTPd es un servidor FTP gratuito, seguro, listo para entornos operativos y que se apega a estándares. Pure-FTPd no es un servicio cargado de características inútiles ni con un millón de protocolos soportados que nadie usa, por el contrario se enfoca en la eficiencia y la facilidad de uso y aquí te digo cómo instalar Pure-FTPd en Centos 7 y Centos 6.

Como instalar Pure-FTPd en Centos

como instalar pure-ftpd en centos install ftpTener un FTP que funcione y lo haga de forma segura puede ser un dolor de cabeza, te lo digo por experiencia, pero Pure-FTPd simplemente funciona y lo hace sin complicados scripts, configuraciones ni archivos extraños. Pero que además lo pueda hacer de forma segura cuando sea necesario pues el protocolo FTP es inseguro al enviar los datos de autentificación en texto plano por lo que alguien que capture tráfico puede ver tu usuario y contraseña con muy poco esfuerzo, para evitar esto puedes configurar Pure-FTPd para que utilice un cifrado TLS en la comunicación y aquí vamos a ver como configurar de forma segura un servidor FTP en Centos.

Instalar Pure-FTPd en Centos 6 y Centos 7

Para instalarlo en cualquiera de las 2 versiones de Centos abre una terminal y teclea el comando siguiente:

yum install pure-ftpd

El siguiente paso es configurar que el servicio arranque de forma automática cuando inicia el servidor.

Centos 6

chkconfig --levels 235 pure-ftpd on

Centos 7

systemctl enable pure-ftpd

Para configurar que Pure-FTPd funcione de forma segura vamos a utilizar TLS para cifrar la comunicación, esto requiere que edites el archivo /etc/pure-ftpd/pure-ftpd.conf y des comentar la linea que se muestra adelante.

nano /etc/pure-ftpd/pure-ftpd.conf
# This option can accept three values :
 # 0 : disable SSL/TLS encryption layer (default).
 # 1 : accept both traditional and encrypted sessions.
 # 2 : refuse connections that don't use SSL/TLS security mechanisms,
 #     including anonymous sessions.
 # Do _not_ uncomment this blindly. Be sure that :
 # 1) Your server has been compiled with SSL/TLS support (--with-tls),
 # 2) A valid certificate is in place,
 # 3) Only compatible clients will log in.

TLS                      1

Es necesario crear un certificado con el que se pueda autenticar esa comunicación y lo puedes hacer así:

mkdir -p /etc/ssl/private/
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Al  momento de crear el certificado debes proporciona algunos datos, aquí te muestro un ejemplo de lo que puedes ingresar.

Country Name (2 letter code) [XX]:MX
State or Province Name (full name) []: Nuevo Leon
Locality Name (eg, city) [Default City]: Monterrey
Organization Name (eg, company) [Default Company Ltd]: ComoInstalarLinux.com
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:comoinstalarlinux.com
Email Address []:webmaster@comoinstalarlinux.com 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Una vez que tengas el archivo .pem ahora debes modificar los permisos de ese archivo y reiniciar el servicio

Centos 6

chmod 600 /etc/ssl/private/pure-ftpd.pem
/etc/init.d/pure-ftpd restart

Centos 7

chmod 600 /etc/ssl/private/pure-ftpd.pem
systemctl restart pure-ftpd

Para permitir que algunos usuarios accedan al servidor debes crearlos y luego agregarlos a la lista de usuarios de Pure-FTPd, aquí te muestro como se crearía el usuario «soporte».

useradd soporte
passwd soporte

Una vez que tengas creado el usuario en Centos debes conocer si UID y su GID , puedes verlo con los siguientes comandos

id -u soporte
id -G soporte

Y te mostrará el ID del usuario y el ID del grupo respectivamente, estos datos te servirán para crear el usuario de Pure-FTPd

pure-pw useradd soporte -u 501 -g 501 -d /home/soporte
pure-pw mkdb

Aquí debes remplazar soporte por el nombre de usuario que desees crear, luego reemplaza el primer valor 501 por el UID que te arrojó el comando id -u, y luego reemplaza el segundo 501 por el GID que te dio el comando id -G.

Si estás detrás de un firewall o en servicios como AWS necesitarás indicar ciertos puertos para la transferencia de datos en modo pasivo para hacerlo edita de nuevo el archivo de configuración y cambia los valores en la línea de parecida a esta:

# Port range for passive connections replies. - for firewalling.
PassivePortRange          39599 39699

Estos valores deben coincidir con los puertos habilitados en tu firewall o en el Security Group Inbound en Amazon Web Services si es que utilizas alguno de estos servicios.

En caso de que tengas problemas para autenticarte puedes activar la opción para utilizar las configuración de centos.

# If you want simple Unix (/etc/passwd) authentication, uncomment this
UnixAuthentication      yes

Solo resta que pruebes el servicio conectado a tu servidor con un cliente FTP que soporte FTP explícito sobre TLS como puede ser Filezilla.

Pure-FTPd es un servidor FTP seguro y versátil que puedes instalar en un servidor Linux en poco tiempo, espero que te sea de gran utilidad.

Tu Servidor y Amigo

Luis Armando Medina

Sígueme en Twitter: @larmedina
Sígueme en Facebook: dame un like LuisMedinaMLM

This entry was posted in Centos and tagged , , , . Bookmark the permalink.

3 Responses to "Como instalar Pure-FTPd en Centos"

Responder a Roberto Ramirez Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.