GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar ProFTPd con soporte TLS en Ubuntu 15.10

FTP es un protocolo muy inseguro porque todas las contraseñas y todos los datos se transfieren en texto claro. Mediante el uso de TLS, toda la comunicación se puede cifrar, lo que hace que el FTP sea mucho más seguro. Este artículo explica cómo configurar ProFTPd con TLS en un servidor Ubuntu 15.10, cómo agregar un usuario de FTP y usar FileZilla para conectarse de forma segura con TLS.

1 nota preliminar

En este tutorial, usaré el nombre de host server1.example.com con la dirección IP 192.168.1.100. Estas configuraciones pueden diferir para usted, por lo que debe reemplazarlas cuando corresponda.

Debido a que debemos ejecutar todos los pasos de este tutorial con privilegios de root, podemos anteponer todos los comandos en este tutorial con la cadena sudo, o convertirnos en root ahora mismo escribiendo

sudo su

Usaré el editor nano para editar archivos de configuración en este tutorial. Si también le gusta usar nano y aún no lo ha instalado, ejecute este comando para instalar nano.

apt-get install nano

2 Instalar ProFTPd y OpenSSL

TLS necesita OpenSSL; para instalar ProFTPd y OpenSSL, simplemente ejecutamos:

apt-get install proftpd openssl

Se le hará una pregunta:

Ejecute proftpd:<-- independiente

Por razones de seguridad, debe agregar las siguientes líneas a /etc/proftpd/proftpd.conf:

nano /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
ServerIdent on "FTP Server ready."
[...]

La primera opción permite el chrooting de los usuarios de FTP en su directorio de inicio y la segunda opción habilita un mensaje ServerIdent que no contiene ninguna información sobre el software, la versión o el sistema operativo del servidor FTP utilizado para que un atacante potencial no obtenga estos detalles en el plateado. plato.

3 Crear el certificado SSL para TLS

Para usar TLS, debemos crear un certificado SSL. Lo creo en /etc/proftpd/ssl, por lo tanto, primero creo ese directorio:

mkdir /etc/proftpd/ssl

Posteriormente, podemos generar el certificado SSL de la siguiente manera:

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Nombre del país (código de 2 letras) [AU]:<-- Ingrese el nombre de su país (por ejemplo, "DE").
Nombre del estado o provincia (nombre completo) [Algún estado]:<-- Ingrese su estado o nombre de la provincia.
Nombre de la localidad (p. ej., ciudad) []:<-- Ingrese su ciudad.
Nombre de la organización (p. ej., empresa) [Internet Widgits Pty Ltd]:<-- Ingrese el nombre de su organización (p. ej., el nombre de su empresa).
Nombre de la unidad organizativa (p. ej., sección) []:<-- Ingrese el nombre de su unidad organizativa (p. ej., "Departamento de TI").
Nombre común (p. ej., SU nombre) []:<-- Ingrese el nombre de dominio completo del sistema (por ejemplo, "servidor1.ejemplo.com").
Dirección de correo electrónico []:<-- Ingrese su dirección de correo electrónico.

y asegure los archivos de certificado generados.

chmod 600 /etc/proftpd/ssl/proftpd.*

4 Habilitar TLS en ProFTPd

Para habilitar TLS en ProFTPd, abra /etc/proftpd/proftpd.conf...

nano /etc/proftpd/proftpd.conf

... y descomente la línea Incluir /etc/proftpd/tls.conf:

[...]
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...]

Luego abra /etc/proftpd/tls.conf y haga que se vea de la siguiente manera:

nano /etc/proftpd/tls.conf
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
RequireValidShell       no
</IfModule>

Si usa TLSRequired activado, solo se permiten las conexiones TLS (esto bloquea a los usuarios con clientes FTP antiguos que no tienen soporte TLS); al comentar esa línea o usar TLSRequired, se permiten conexiones TLS y no TLS, según lo que admita el cliente FTP.

Reinicie ProFTPd después:

systemctl restart proftpd.service

Eso es todo. Ahora puede intentar conectarse usando su cliente FTP; sin embargo, debe configurar su cliente FTP para usar TLS (esto es obligatorio si usa TLSRequired en) - vea el siguiente capítulo sobre cómo hacer esto con FileZilla.

Si tiene problemas con TLS, puede consultar el archivo de registro de TLS /var/log/proftpd/tls.log.

5 Agregar un usuario FTP

La configuración de ProFTPD utilizada en este tutorial autentica a los usuarios contra la base de datos de usuarios del sistema Linux (/etc/passwd y /etc/shadow). En este paso, agregaré un usuario "tom" para que se use solo para el inicio de sesión de FTP.

useradd --shell /bin/false tom

Esto agregará el usuario "tom" con el shell /bin/false. Este shell asegura que pueda iniciar sesión por FTP pero no por SSH. El directorio de inicio de un usuario es /home/[NOMBRE DE USUARIO] por defecto, en nuestro caso /home/tom. ProFTPD está configurado para encerrar al usuario en su directorio de inicio, por lo que no puede acceder a los archivos del sistema fuera de /home/tom. Si desea configurar un directorio de inicio diferente, use el siguiente comando:

useradd --home /srv/tomftp --create-home --shell /bin/false tom

Este comando establece un directorio de inicio diferente, en el caso de este ejemplo, el directorio /srv/tomftp para el usuario.

El siguiente paso es establecer una contraseña para el usuario tom, ejecute el comando passwd:

passwd tom

E ingrese la nueva contraseña dos veces, cuando se le solicite.

6 Configuración de FileZilla para TLS

Para usar FTP con TLS, necesita un cliente FTP que admita TLS, como FileZilla.

En FileZilla, abra el Administrador del sitio:

Seleccione el servidor que utiliza ProFTPd con TLS; en el menú desplegable Tipo de servidor, seleccione FTPES en lugar de FTP normal:

Ahora puede conectarse al servidor, FileZilla le pedirá una contraseña.

Si hace esto por primera vez, debe aceptar el nuevo certificado SSL del servidor:

Si todo va bien, ahora debería iniciar sesión en el servidor:

7 Descargar esta configuración como VM

La configuración que se describe en este tutorial está disponible para descargar para los suscriptores de HowtoForge. La máquina virtual lista para usar en formato OVA/OVF es compatible con VMWare y Virtualbox.

Información de inicio de sesión de la máquina virtual

La máquina virtual tiene un usuario SSH con el nombre "administrador" y la contraseña "howtoforge". Este usuario de SSH tiene permisos sudo.

La contraseña del usuario FTP "tom" es "tom".

La dirección IP de la VM es 192.168.1.100, la IP se puede cambiar en el archivo /etc/network/interfaces.

Cambie las contraseñas de todos los usuarios antes de usar la máquina virtual como sistema activo.

8 Enlaces

  • ProFTPd:http://www.proftpd.org/
  • FileZilla:http://filezilla-project.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Cómo instalar MediaWiki con Nginx en Ubuntu 16.04

  2. Cómo instalar Proftpd con TLS en Ubuntu 15.04

  3. Cómo instalar ProFTPd con TLS en OpenSuse 13.2

  4. Cómo instalar ProFTPD en Ubuntu 14.04

  5. Cómo instalar ProFTPD en Ubuntu 15.04

Cómo instalar ProFTPd con soporte TLS en Ubuntu 15.04

Cómo instalar ProFTPD con TLS en CentOS 7.2

Cómo instalar el servidor VsFTPD con TLS en Ubuntu 18.04 LTS

Cómo instalar ProFTPD con TLS en Ubuntu 20.04 LTS

Cómo instalar ProFTPD en Ubuntu 20.04

Cómo instalar Nginx con Let's Encrypt TLS/SSL en Ubuntu 20.04