GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar y configurar vsftpd con TLS en Debian 8 (Jessie)

Este artículo explica cómo configurar un servidor vsftpd habilitado para TLS en un servidor Debian 8 y cómo acceder al servidor FTP con FileZilla. FTP es un protocolo muy inseguro por defecto 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.

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. Utilizo la configuración mínima del servidor Debian 8 como base para este tutorial.

2 Instalación de vsftpd y OpenSSL

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

apt-get -y install vsftpd openssl

3 Creando el certificado SSL para TLS

Para usar TLS, debemos crear un certificado SSL. Lo creo en /etc/ssl/private; si el directorio no existe, créelo ahora::

mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/private

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

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.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.

4 Habilitar TLS en vsftpd

Para habilitar TLS en vsftpd, abra /etc/vsftpd.conf...

nano /etc/vsftpd.conf

... y agregue o cambie las siguientes opciones:

[...]

# Turn on SSL ssl_enable=YES # Allow anonymous users to use secured SSL connections allow_anon_ssl=YES # All non-anonymous logins are forced to use a secure SSL connection in order to # send and receive data on data connections. force_local_data_ssl=YES # All non-anonymous logins are forced to use a secure SSL connection in order to send the password. force_local_logins_ssl=YES # Permit TLS v1 protocol connections. TLS v1 connections are preferred ssl_tlsv1=YES # Permit SSL v2 protocol connections. TLS v1 connections are preferred ssl_sslv2=NO # permit SSL v3 protocol connections. TLS v1 connections are preferred ssl_sslv3=NO # Disable SSL session reuse (required by WinSCP) require_ssl_reuse=NO # Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla) ssl_ciphers=HIGH # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/private/vsftpd.pem [...]

Si usa force_local_logins_ssl=YES y force_local_data_ssl=YES, entonces solo se permiten las conexiones TLS (esto bloquea a los usuarios con clientes FTP antiguos que no son compatibles con TLS); mediante force_local_logins_ssl=NO y force_local_data_ssl=NO se permiten conexiones TLS y no TLS, según lo que admita el cliente FTP.

Además de las opciones de TLS, asegúrese de tener también las siguientes configuraciones en su vsftpd.conf para habilitar los inicios de sesión no anónimos:

[...]
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022

[...]

Reinicie vsftpd después:

service vsftpd restart

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 force_local_logins_ssl=YES y force_local_data_ssl=YES); consulte el siguiente capítulo sobre cómo hacer esto con FileZilla.

5 vsftpd agregar usuario

En este paso, agregaremos un usuario local de Linux que podemos usar para conectarnos. Crearé un usuario "hasta" con la contraseña "howtoforge". Todos los usuarios de FTP tendrán sus directorios de inicio en mkdir /var/ftproot, así que primero crearé este directorio.

mkdir /var/ftproot

Luego agregue el usuario con el comando:

adduser --home /var/ftproot/till till

El comando adduser le pedirá la contraseña de usuario y algunos otros detalles

[email protected]:/# adduser --home /var/ftproot/till till
Adding user `till' ...
Adding new group `till' (1001) ...
Adding new user `till' (1001) with group `till' ...
Creating home directory `/var/ftproot/till' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <-- Enter the new password here
Retype new UNIX password: <-- Enter the new password here
passwd: password updated successfully
Changing the user information for till
Enter the new value, or press ENTER for the default
Full Name []: <-- Enter your name here or press enter to skip
Room Number []: <-- Enter room number here or press enter to skip
Work Phone []: <-- Enter work phone here or press enter to skip
Home Phone []: <-- Enter home phone here or press enter to skip
Other []: <-- Enter Other user details here or press enter to skip
Is the information correct? [Y/n] <-- Y

Agregamos con éxito un usuario de FTP.

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 servidor:

Ingrese la dirección IP o el nombre de host del servidor FTP en el campo del servidor, seleccione el protocolo "FTP" y "Requerir FTP explícito sobre TLS" e ingrese el nombre de usuario en el campo de usuario.

Ahora puede conectarse al servidor. 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 Enlaces

  • vsftpd:https://security.appspot.com/vsftpd.html
  • FileZilla:http://filezilla-project.org/
  • Debian:http://www.debian.org/

Debian
  1. Cómo instalar y configurar ZFS en Linux usando Debian Jessie 8.1

  2. Cómo instalar el servidor FTP vsftpd y asegurarlo con TLS en Debian 11

  3. Cómo instalar y configurar Mariadb 10 en Debian 11

  4. Cómo instalar y configurar MongoDB 5 en Debian 11

  5. Cómo instalar y configurar Redis 6 en Debian 11

Cómo instalar y configurar Tripwire IDS en Debian 10

Cómo instalar y configurar RabbitMQ en Debian 11

Cómo instalar TYPO3 7 con Nginx y MariaDB en Debian 8 (Jessie)

Cómo instalar el servidor FTP vsftpd con TLS en Debian 10

Cómo instalar y configurar Git en Debian 11

¿Cómo instalar y configurar Apache en Debian 11?