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.