Cómo instalar un servidor FTP en Debian 10 Buster

Cómo instalar un servidor FTP en Debian 10 Buster

En esta entrada vamos a ver cómo instalar un servidor FTP con Debian 10 Buster paso a paso, con vsFTPd. Ya vimos hace tiempo cómo hacer esto mismo con la versión 9 de nuestro sistema favorito, por lo que le llega el turno al nuevo Debian 10. Al final de esta guía tendrás montado un servicio FTP en tu sistema Debian 10 con acceso anónimo, acceso por contraseña, conexión cifrada TLS, etc.

Antes de instalar el servidor FTP en Debian 10 Buster

Para poder seguir los pasos de esta pequeña guía de instalación y configuración del servidor FTP vsFTPd en Debian 10 Buster se necesita cumplir unos pequeños requisitos:

  • Un sistema Debian 10 actualizado.
  • Acceso por consola con root o un usuario con permisos de sudo.
  • Conexión a Internet.
  • Un cliente FTP, por ejemplo Filezilla.

Si tienes listo todo lo anterior, es el momento de iniciar sesión y abrir una consola para hacer el trabajo.

Cómo instalar el servidor FTP en Debian 10

Puesto que para instalar el servidor FTP en Debian 10 nos valdremos de paquetes existentes en el mismo repositorio de la distribución, el primer paso es actualizar las listas de paquetes disponibles en el repositorio:

~$ sudo apt update

El paquete que necesitamos instalar es vsftpd:

~$ sudo apt -y install vsftpd

En unos instantes vsFTPd se descargará e instalará (no tiene dependencias). La instalación nos configura un nuevo servicio llamado vsftpd o vsftpd.service, que queda activado y en ejecución por defecto.

Puedes comprobar el estado del servicio con systemctl:

~$ systemctl status vsftpd
● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: e
   Active: active (running) since Sun 2019-07-21 19:29:53 CEST; 1min 50s ago
 Main PID: 523 (vsftpd)
    Tasks: 1 (limit: 1150)
   Memory: 588.0K
   CGroup: /system.slice/vsftpd.service
           └─523 /usr/sbin/vsftpd /etc/vsftpd.conf
~$

Cómo probar el servicio FTP

Aunque según la información de estado del servicio nuestro servidor FTP funciona correctamente sobre nuestra máquina Debian 10, mejor ver para creer.

Desde el navegador de cualquier otra máquina, usaremos el protocolo ftp:// para acceder al servidor FTP añadiendo como dirección la IP, nombre de máquina o dominio de nuestro sistema Debian 10. En este ejemplo, la máquina Debian 10 es accesible a través del dominio debian10.local, por tanto la URL sería ftp://debian10.local

como instalar un servidor ftp en debian 10 buster

La conexión funciona y la prueba es que nos pide usuario y contraseña.

Cómo configurar el servicio FTP en Debian 10 Stretch

Para configurar el servicio de FTP vsFTPd en Debian 10 tendremos que recurrir a su archivo principal de configuración, que es /etc/vsftpd.conf.

Antes de tocar nada conviene saber cuál es la configuración por defecto del servicio vsftpd:

  • El servicio funciona escuchando conexiones IPv4 e IPv6.
  • No se aceptan conexiones anónimas.
  • Los usuarios pueden navegar por todo el sistema de archivos donde tengan permisos.
  • La conexión no está cifrada.

Puede que la configuración por defecto se ajuste a tus necesidades, pero vamos a ver algunos cambios de configuración de vsFTPd que podrían resultar útiles.

Permitir el acceso anónimo

Para permitir conexiones anónimas que permitan descargar archivos, debemos saber que la carpeta destina de forma predeterminada es /srv/ftp/, que está completamente vacía. Vamos a crear la típica carpeta pub/ presente en todos los servicios FTP públicos:

~$ sudo mkdir /srv/ftp/pub

Dentro de estos directorios organizaríamos los archivos disponibles según nuestras necesidades.

Ahora hay que configurar vsFTPd, para lo que editamos vsftpd.conf:

~$ sudo nano /etc/vsftpd.conf

Buscaremos la directiva anonymous_enable:

...
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
...

Cambiaremos su valor de NO a YES. Una vez guardados los cambios, para que estos tomen efecto, es necesario recargar la configuración de vsFTPd, empleando la opción reload de systemctl:

~$ sudo systemctl reload vsftpd

De nuevo, la forma más rápida y fácil de comprobar el acceso anónimo es a través de un navegador:

como configurar el servidor ftp vsftpd en debian 10 buster

Esta vez la conexión se establece sin necesidad de introducir usuario y contraseña. Además podemos ver la carpeta pub/ que creamos anteriormente.

Cifrado TLS y conexiones seguras

Si necesitas una conexión cifrada al servidor FTP, lo que normalmente se llama FTP sobre TLS, es muy fácil de configurar.

Editamos el archivo vsftpd.conf y buscamos la directiva ssl_enable:

...
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
...

Basta con cambiar su valor de NO a YES. Observa también las dos directivas anteriores que indican la ubicación de los certificados RSA que se emplearán para el cifrado. Estos certificados se crean durante la instalación del paquete ssl-cert, que es una dependencia de vsftpd. Por tanto, los certificados existen y no hay que hacer nada más al respecto. Si quieres usar otros certificados, especifica sus rutas de acceso correspondientes.

En este ejemplo usamos los certificados generados por ssl-cert y activamos el cifrado:

ssl_enable=YES

Guarda los cambios y recarga la configuración de vsftpd.

A partir de ahora, en la configuración de la conexión de tu cliente FTP debes indicar que sea cifrada para usuarios con autenticación y sin cifrado para usuarios anónimos.

Permitir la escritura a usuarios locales

Cuando conecta un usuario local (con cuenta en el sistema Debian 10) accede a su directorio personal, pero sin embargo sólo puede leer, no puede escribir. Quizás te resulte útil que los usuarios puedan modificar sus archivos o subir archivos nuevos.

Para ello buscaremos dentro de vsftpd.conf la directiva write_enable:

...
# Uncomment this to enable any form of FTP write command.
#write_enable=YES
...

Rápidamente vemos que está desactivada, así que si queremos activarla eliminaremos el carácter # inicial y guardaremos los cambios.

write_enable=YES

Hacer chroot a los usuarios locales

Como vimos anteriormente, cuando un usuario local conecta por FTP accede directamente a su directorio personal, pero puede navegar por todo el sistema de archivos (con acceso de acuerdo a sus permisos).

Quizás prefieras que el usuario local sólo vea su carpeta personal, ignorando el resto del sistema de archivos, lo que se llama hacer un chroot.

Para hacer esto, en vsftpd.conf buscaremos la directiva chroot_local_user:

#chroot_local_user=YES

Además de eliminar el carácter # inicial, debemos añadir la directiva allow_writeable_chroot:

chroot_local_user=YES
allow_writeable_chroot=YES

Ahora queda guardar los cambios y recargar la configuración de vsftpd.

Desactivar el acceso a usuarios locales

Si finalmente lo que te interesa en tu sistema Debian 10 es un servidor FTP público anónimo, debes localizar la directiva local_enable:

...
# Uncomment this to allow local users to log in.
local_enable=YES
...

Puedes desactivar la directiva insertando un carácter # al comienzo de la línea o cambiar el valor a NO, ambas acciones dan el mismo resultado:

#local_enable=YES

Guarda los cambios y recarga la configuración del servicio vsftpd.

Conclusión

Ahora que sabes cómo instalar un servicio FTP en Debian 10 Buster ya puedes servir archivos de forma pública y anónima, a usuarios del sistema o de ambas formas, con y sin seguridad TLS.

Si tienes alguna duda, pregunta, sugerencia o notificación, puedes dejar un comentario.

Y si esta guía te ha evitado el dolor de cabeza de configurar el servicio FTP en Debian 10, ¡me puedes invitar a un café si quieres!

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Cerrar menú

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies