La transferencia de archivos a través de FTP (Protocolo de transferencia de archivos) es probablemente la forma más popular de cargar archivos a un servidor.Proftpdes un servidor FTP popular y versátil que está disponible como software OpenSource y admite TLS (SSL) para conexiones seguras.
De forma predeterminada, FTP es un protocolo inseguro porque las contraseñas y los datos se transmiten en texto claro. Al utilizar TLS, todas las comunicaciones se pueden cifrar, lo que hace que FTP sea más seguro.
Este artículo describe cómo configurar proftpd con TLS en un servidor Ubuntu 16.04 LTS.
Fondo
- Servidor Ubuntu 16.04 de 64 bits
- privilegios sudo/root
¿Qué haremos en esta lección?
- Instale ProFTPD y TLS.
- Configurar ProFTPD.
- Agregar usuario FTP.
- Configure TLS en ProFTPD.
- Pruebas.
Instalar Proftpd y OpenSSL
Proftpd y OpenSSL están disponibles en el repositorio de Ubuntu, por lo que podemos instalarlos usando el comando apt:
sudo apt-get install -y proftpd openssl
Cuando comience la instalación, se le pedirá que ejecute ProFTPD como inetd o como servidor independiente. Seleccione la opción sin conexión aquí y haga clic en Aceptar.
Configurar ProFTPD
Después de instalar ProFTPD, tendrás que cambiar la configuración para que sea un servidor seguro y completamente funcional. El archivo de configuración de ProFTPD se encuentra en el directorio / etc / proftpd / – edite el archivo proftpd.conf.
cd / etc / proftpd / vim proftpd.conf
En la línea Nombre del servidor, reemplace el valor con su nombre de host o dominio:
ServerName "My FTP-Server"
Descomente la línea DefaultRoot para habilitar la cárcel para todos los usuarios:
DefaultRoot ~
y reinicie ProFTPD usando el comando systemctl de la siguiente manera.
systemctl reiniciar proftpd
Agregar usuario FTP
Hay dos tipos de usuarios FTP disponibles: usuario FTP anónimo y usuario FTP "normal". Usuario FTP:
1. FTP anónimo: Un servidor FTP proporciona acceso a cualquier persona sin necesidad de tener una cuenta de usuario y contraseña. Esto no debe usarse en un servidor público, pero puede ser una opción para un servidor doméstico o una LAN de empresa. 2. Usuario FTP: Sólo aquellos con una cuenta y contraseña pueden acceder al servidor FTP.
Antes de crear un usuario para el servidor FTP, agregue /bin/false al archivo /etc/shells.
echo “/ bin / false” >> / etc / shells
Ahora cree un usuario con un directorio de inicio específico, desactive el acceso al shell y luego proporciónelo al servidor FTP.
usuarioadd -m -s /bin/false zenko contraseña zenko
El comando anterior creará un nuevo usuario llamado zenko con el directorio de inicio /home/zenko/ y sin acceso al shell /bin/false.
Ahora configure ProFTPD para permitir el acceso de los usuarios de zenko al servidor FTP.
cd /etc/proftpd/conf.d/ vim zenko.conf
Agregue este archivo de configuración para permitir que el usuario de zenko inicie sesión y cargue/descargue el archivo desde/hacia el servidor:
Umask 022 022 AllowOverwrite off AllowUser zenko DenyALL Order Allow,Deny AllowUser zenko Deny ALL AllowUser zenko Deny ALL
Guarde el archivo y salga de vim. Luego reinicie ProFTPD.
systemctl reiniciar proftpd
Ya puedes usar FTP en este punto, pero lo haremos más seguro usando TLS en el siguiente paso.
Configurar TLS con proftpd
Para utilizar TLS, debe crear un certificado SSL. Genere un certificado SSL usando el comando openssl:
openssl req -x509 -newkey rsa: 1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
El comando anterior creará el archivo de certificado proftpd.crt en el directorio /etc/ssl/certs/, y el archivo de clave de certificado proftpd.key en el directorio /etc/ssl/private/.
Luego cambie la resolución del archivo del certificado a 600:
chmod 600 /etc/ssl/certs/proftpd.crt chmod 600 /etc/ssl/private/proftpd.key
Ahora regrese al directorio /etc/proftpd y configure ProFTPD para usar el certificado SSL que creó.
cd / etc / proftpd / vim proftpd.conf
Descomentar la línea TLS:
Include /etc/proftpd/tls.conf
Guarde el archivo tls.conf y salga.
Luego edite el archivo de configuración TLS para habilitar la autenticación segura:
vim tls.conf
Descomentar todas estas líneas:
TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSOptions NoCertRequest EnableDiags TLSVerifyClient off TLSRequired on
Guardar y Salir. El último paso es reiniciar el servidor ProFTPD:
systemctl reiniciar proftpd
Probando ProFTPD
Para verificar la configuración, intente conectarse a su servidor FTP usando un software como FileZilla (yo usofilezillaaquí) y complete la dirección IP del servidor, nombre de usuario, contraseña y puerto:
Server IP : 192.168.1.246 username : zenko Password ****** Port : 21
Y luego haga clic en Conexión rápida. Se le pedirá que confirme el certificado SSL; simplemente haga clic en Aceptar.
Verás que has iniciado sesión en un servidor FTP con un certificado TLS/SSL.
comunicación
- Proyecto de software ProFTPD.Enlace
Cómo instalar ProFTPD con TLS en Ubuntu 16.04 LTS