Cómo instalar el servidor FTP ProFTPd en FreeBSD

El FTP (Protocolo de Transferencia de Archivos) es probablemente el método más popular para subir archivos a un servidor. ProFTPD es un servidor FTP popular y fácilmente configurable para sistemas tipo Unix que soporta encriptación SSL/TLS.

Este tutorial te mostrará cómo configurar el servidor FTP en FreeBSD 12.0 utilizando la aplicación de servidor ProFTPd. Instalaremos el servidor ProFTPd, configuraremos y protegeremos la implementación con seguridad SSL/TLS, y configuraremos el usuario FTP.

Requisitos previos

Para esta guía, utilizaremos el sistema operativo FreeBSD. El servidor tiene 1 GB de RAM y 2 CPUs.

Qué haremos

  • Actualizar y actualizar paquetes
  • Instalar ProFTPd
  • Configurar ProFTPd
  • Configurar ProFTPd SSL/TLS
  • Configurar usuario FTP
  • Probar

Paso 1 – Actualizar y actualizar paquetes

En primer lugar, actualizaremos el repositorio de paquetes y actualizaremos todos los paquetes a la última versión utilizando la herramienta de gestión de paquetes pkg para FreeBSD.

Actualiza todo el repositorio disponible y actualiza todos los paquetes a la última versión utilizando la siguiente orden.

pkg update
pkg upgrade

Una vez completada toda la instalación, ve al siguiente paso e instala el paquete ProFTPd.

Paso 2 – Instalar ProFTPd

En este paso vamos a instalar el paquete ProFTPd. El repositorio de FreeBSD proporciona el paquete ProFTPd y otro módulo para la base de datos backend, como un módulo para bases de datos MySQL, PostgreSQL y SQLite.

Muestra todos los paquetes ProFTPd disponibles utilizando el siguiente comando.

pkg search proftpd

Y obtendrás el resultado que se muestra a continuación.

Ahora instala sólo el paquete ProFTPd utilizando el siguiente comando pkg.

pkg install proftpd

Una vez finalizada la instalación, añade el servicio ProFTPd al arranque del sistema.

sysrc proftpd_enable=yes

A continuación, inicia el servicio ProFTPd y comprueba su estado.

service proftpd start
service proftpd status

Ahora verás que el servicio ProFTPd está en funcionamiento en el sistema FreeBSD 12.0.

Y por defecto, el servicio utiliza el puerto FTP ’21’ por defecto. Comprueba los puertos abiertos en el sistema utilizando el comando sockstat que aparece a continuación.

sockstat -4 -l -P tcp

Y obtendrás que el servicio ProFTPd se está ejecutando en el puerto ’21’.

Paso 3 – Configurar ProFTPd

Ahora configuraremos nuestra instalación de ProFTPd editando su configuración en el directorio ‘/usr/local/etc’.

Ve al directorio ‘/usr/local/etc’ y edita el archivo de configuración ‘proftpd.conf’ utilizando el editor vim.

cd /usr/local/etc/
vim proftpd.conf

Cambia el ‘NombreServidor’ por tus datos y deja el puerto como ’21’ por defecto.

ServerName    "Hakase-Labs ProFTPd Server"
Port          21

Desactiva el soporte IPv6 y habilita la jaula para cada usuario.

UseIPv6       off
DefaultRoot   ~

Para una configuración adicional, añade la siguiente configuración para ocultar la identidad del servidor y desactivar el shell válido requerido para el inicio de sesión de los usuarios.

# Hide Server Identity
ServerIdent   off
RequireValidShell  no

Ahora habilita los registros para el sistema ProFTPd y cada transferencia en el sistema.

# Setup Log Files
TransferLog   /var/log/proftpd/xferlog
SystemLog     /var/log/proftpd/proftpd.log

Guarda y cierra.

A continuación, crea el directorio de registro de ProFTPd ‘/var/log/proftpd’.

mkdir -p /var/log/proftpd

A continuación, reinicia el servicio ProFTP mediante el siguiente comando.

service proftpd restart

Como resultado, el servicio ProFTPd se ha reiniciado. Y ya está funcionando con la configuración básica.

Paso 4 – Configurar ProFTPd SSL/TLS

En este paso, aseguraremos nuestra instalación de ProFTPd habilitando el módulo TLS para el servidor ProFTPd. Habilitaremos el módulo mod_tls, y luego añadiremos la configuración TLS adicional al directorio config de ProFTPd.

Antes de continuar, asegúrate de que tienes los certificados SSL. A continuación, copia los archivos de los certificados en el directorio ‘/usr/local/etc/ssl’.

cp /pat/to/ssl/*.pem /usr/local/etc/ssl/

Después, ve al directorio ‘/usr/local/etc’ y edita el archivo de configuración de ProFTPd ‘proftpd.conf’ utilizando el editor vim.

cd /usr/local/etc/
vim proftpd.conf

Añade la configuración ‘Incluir’ que aparece a continuación al final de la línea.

Include /usr/local/etc/proftpd/tls.conf

Guárdalo y ciérralo.

A continuación, crea la configuración ‘tls.conf’ en el directorio ‘/usr/local/etc/proftpd/’.

vim proftpd/tls.conf

Cambia los detalles por los tuyos y pega la configuración en él.

# Load the TLS Module
LoadModule mod_tls.c

# Define the SSL/TLS Configuration
<IfModule mod_tls.c>
TLSEngine                   on
TLSRSACertificateFile       /usr/local/etc/ssl/fullchain.pem
TLSRSACertificateKeyFile    /usr/local/etc/ssl/privkey.pem
TLSLog                      /var/log/proftpd/tls.log
TLSProtocol                 TLSv1.2
TLSRequired on
TLSVerifyClient             off
</IfModule>

Guárdala y ciérrala.

Ahora reinicia el servicio proFTPd utilizando el siguiente comando.

service proftpd restart

Y como resultado, el servicio ProFTPd está en funcionamiento con el SSL/TLS activado en él. Y podrás transferir tus archivos de forma segura utilizando el FTP al servidor.

Paso 5 – Configurar usuarios FTP

En este paso, vamos a configurar un nuevo usuario FTP. Crearemos un nuevo usuario del sistema con el directorio home, con la contraseña, pero sin el login shell.

Crea un nuevo usuario llamado ‘hakase’ con el directorio home ‘/home/hakase’ y con el shell por defecto ‘nologin’.

Ejecuta el siguiente comando.

adduser

Ahora escribe los detalles como se indica a continuación.

Username: hakase
Full name: Hakase Labs
Uid (Leave empty for default): 
Login group [hakase]: 
Login group is hakase. Invite hakase into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh bash rbash nologin) [sh]: nologin
Home directory [/home/hakase]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: no
Use a random password? (yes/no) [no]: no
Enter password: 
Enter password again: 
Lock out the account after creation? [no]: 
Username   : hakase
Password   : *****
Full Name  : Hakase Labs
Uid        : 1001
Class      : 
Groups     : hakase 
Home       : /home/hakase
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (hakase) to the user database.
Add another user? (yes/no): no
Goodbye!

Ahora se ha creado el nuevo usuario FTP ‘hakase’.

Paso 6 – Pruebas

En este paso probaremos nuestra instalación de ProFTPd utilizando el software ‘FileZilla’. Se puede instalar en sistemas operativos Mac, Windows y Linux.

Abre la aplicación Filezilla y escribe los datos del servidor, el nombre de usuario, la contraseña y el puerto FTP ’21’.

Ahora haz clic en el botón «Conexión rápida», y se te pedirá que verifiques el certificado SSL/TLS.

Haz clic en «Aceptar» para verificar el certificado del servidor.

Como resultado, estarás conectado al servidor ProFTPd. Y podrás transferir tus archivos de forma segura a través del servidor ProFTPd con el SSL/TLS activado.

La instalación y configuración del servidor ProFTPd en FreeBSD se ha completado con éxito.

Referencia

También te podría gustar...