Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

VSFTPD

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

Paso 1 – Instalar Vsftpd

1. Primero que nada, obtengamos las actualizaciones de nuestros


paquetes antes de continuar con la instalación del vsftpd. Para
comenzar, ejecuta el siguiente comando:
sudo apt-get update
Espera a que se completen todos los procesos y verás una
confirmación tan pronto como finalice la actualización.

2. Cuando termines con esto, instala el daemon vsftpd usando el


siguiente comando:
sudo apt-get install vsftpd
Ahora verás un mensaje de confirmación en el que tendrás que
escribir Y y presionar Enter para continuar con la instalación.

4. Una vez completada la instalación, haz una copia de seguridad del


archivo original para que podamos comenzar nuestro trabajo con un
archivo de configuración en blanco:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
Ahora estamos listos para dar el siguiente paso y configurar el
firewall.

Paso 2 – Permitir el tráfico FTP desde el


firewall
1. Para permitir que el servidor FTP de Ubuntu se comunique a
través del Internet, tiene que atravesar el firewall. Primero
veamos si el firewall está activado en la máquina o no.
Simplemente ejecuta el siguiente comando para verificar el
estado:
sudo ufw status
Si ves el siguiente mensaje:
ufw: command not found
Significa que el firewall no está instalado. Puedes instalarlo y
habilitarlo escribiendo:
sudo apt-get install ufw
sudo ufw enable
2. Si ya está activo, todavía tienes que asegurarte de que el tráfico
FTP está permitido. Para ello, ejecuta los siguientes comandos
uno a uno:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp
Esta serie de comandos abrirá varios puertos:

 OpenSSH es necesario si todavía quieres acceder a tu servidor a


través de SSH. A veces, esta opción está activada por defecto.
 los puertos 20 y 21 para el tráfico FTP.
 los puertos 40000:50000 se reservarán para el rango de puertos
pasivos que eventualmente se establecerá en el archivo de
configuración.
 el puerto 990 se utilizará cuando se active el TLS.

3. Ahora veamos el estado de nuevo:


sudo ufw status
El resultado debería ser algo así:
Status: active

To Action From

-- ------ ----

990/tcp ALLOW Anywhere

20/tcp ALLOW Anywhere

21/tcp ALLOW Anywhere

40000:50000/tcp ALLOW Anywhere

20/tcp (v6) ALLOW Anywhere (v6)

21/tcp (v6) ALLOW Anywhere (v6)

990/tcp (v6) ALLOW Anywhere (v6)

40000:50000/tcp (v6) ALLOW Anywhere (v6)

Paso 3 – Crear el directorio de usuarios


1. Una vez configurado el firewall, debemos crear el usuario que va
a utilizar el acceso FTP. Para crearlo, usa el siguiente comando:
sudo adduser hostinger
Recuerda cambiar el nombre de usuario según tus preferencias.

2. Cuando el sistema te pregunte, ingresa una contraseña para el


usuario y completa todos los demás detalles. Lo ideal es que el
FTP se restrinja a un directorio específico por motivos de
seguridad. Vsftpd usa jaulas chroot para lograr esto. Con chroot
habilitado, un usuario local está restringido a su directorio de inicio
(por defecto). Sin embargo, es posible que debido a la seguridad
de vsftpd, un usuario no pueda escribir en el directorio. No
eliminaremos los privilegios de escritura de la carpeta de inicio;
en su lugar, crearemos un directorio ftp que actuará
como chroot junto con un directorio de archivos modificables que
será responsable de mantener los archivos pertinentes.
3. Usa el siguiente comando para crear la carpeta FTP:
sudo mkdir /home/hostinger/ftp
Establece la propiedad usando:
sudo chown nobody:nogroup /home/hostinger/ftp
Finalmente, elimina los permisos de escritura:
sudo chmod a-w /home/hostinger/ftp
Ahora, usa el siguiente comando para verificar los permisos:
sudo ls -la /home/hostinger/ftp
El resultado debería ser algo así:
total 8
dr-xr-xr-x 2 nobody nogroup 4096 Jun 29 11:32 .
drwxr-xr-x 3 hostinger hostinger 4096 Jun 29 11:32 ..

4. Como paso siguiente, crearemos el directorio contenedor de


archivos y asignaremos la propiedad:
sudo mkdir /home/hostinger/ftp/files
sudo chown hostinger:hostinger /home/hostinger/ftp/files
Finalmente, agrega un archivo de prueba al directorio el cual se
usará cuando probemos todo más adelante:
echo "vsftpd sample file" | sudo tee /home/hostinger/ftp/files/sample.txt
Paso 4 – Configurar vsftpd
El siguiente paso en nuestra apuesta por configurar un servidor FTP
en Ubuntu VPS, es configurar vsftpd y nuestro acceso FTP,
permitiremos que un solo usuario se conecte con FTP utilizando una
cuenta shell local. Las dos configuraciones clave requeridas para
esto ya están establecidas en el archivo de configuración
(vsftpd.conf).

1. En primer lugar, verifica que el archivo de configuración tenga


una configuración que coincida con las mencionadas a
continuación utilizando el comando nano:
sudo nano /etc/vsftpd.conf
Comprueba que el contenido tiene una configuración similar a ésta:
. . .
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
. . .
En el mismo archivo, procederemos a eliminar # y a habilitar
el write_enable:
. . .
write_enable=YES
. . ..

2. Chroot tampoco se comentará para asegurarte de que el usuario


FTP sólo accede a los archivos dentro del directorio permitido.
Cambia también el valor NO por SÍ. Ten en cuenta que hay dos
líneas como ésta, y tienes que descomentar ambas.
. . .
chroot_local_user=YES
. . .

3. Hay algunos valores nuevos que también debes añadir al final del
archivo. En primer lugar, se agregará un user_sub_token en
la ruta del directorio local_root. Esto permitirá que la
configuración funcione con el usuario actual y con cualquier otro
usuario que se agregue posteriormente:
user_sub_token=$USER
local_root=/home/$USER/ftp

4. Para garantizar que haya una cantidad considerable de


conexiones disponibles, limitaremos la cantidad de puertos
utilizados en el archivo de configuración:
pasv_min_port=40000
pasv_max_port=50000

5. En este tutorial, planeamos permitir el acceso caso por caso, así


que ajustemos la configuración de forma tal que el acceso solo
se otorgue a los usuarios que se hayan agregado explícitamente
a una lista:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
El flag userlist_deny es el responsable de alternar la lógica; cuando
se establece en NO, solo se permitirá el acceso a los usuarios
especificados en la lista. Una vez hecho esto, haz clic en CTRL+X y
confirma los cambios del archivo.

6. Por último, procederemos con la creación y adición de nuestro


usuario al archivo:
echo "sistemas" | tee -a /etc/vsftpd.userlist
Verifica que el usuario esté realmente activo ejecutando el siguiente
comando:
cat /etc/vsftpd.userlist

El resultado debe ser «hostinger» como se muestra en esta captura


de pantalla:

7. Reinicia el daemon utilizando el siguiente comando para cargar


los cambios de configuración:
sudo systemctl restart vsftpd

Paso 5 – Hacer que el FTP sea seguro


1. Por defecto, FTP no hace ninguna encriptación de datos, por eso
utilizaremos TTL/SSL para garantizar la seguridad. En primer
lugar, debemos crear el certificado SSL y usarlo para proteger el
servidor FTP de Ubuntu. Para comenzar, usa el siguiente
comando:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
/etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
El flag -days hace que el certificado sea válido por un año y hemos
incluido una clave privada RSA de 2048 bits en el mismo comando.

2. Una vez sean solicitados, ingresa los datos personales


correspondientes en el campo provisto.
3. Cuando termines de crear el certificado, abre nuevamente el
archivo de configuración:
sudo nano /etc/vsftpd.conf
El final del archivo debe contener dos líneas que comiencen con
«_rsa«. Comenta ambas líneas así:
# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
En lugar de eso, apuntemos el archivo de configuración al certificado
que acabamos de crear. Añade los siguientes direcciones justo
debajo de las líneas anteriores:
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

4. Ahora habilitaremos SSL y nos aseguraremos de que solo los


clientes que tengan SSL habilitados nos puedan contactar.
Cambia el valor de ssl_enable a YES:
ssl_enable=YES
A continuación agrega las siguientes líneas para prohibir cualquier
conexión anónima a través de SSK
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
Configura el servidor para usar TLS usando:
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
Ahora cambiaremos 2 opciones más. En primer lugar, no será
necesario reutilizar SSL porque puede ocasionar que muchos
clientes de FTP se averíen. En segundo lugar, utilizaremos suites de
encriptación de alto cifrado, lo que significa que las longitudes de
claves son iguales o superiores a 128 bits.
require_ssl_reuse=NO
ssl_ciphers=HIGH
Vuelve a guardar el archivo pulsando CTRL+X seguido de Y, y luego
pulsa Intro.

6. Vamos a reiniciar vsftpd una vez más para aplicar las nuevas
configuraciones:
sudo systemctl restart vsftpd
¡Buen trabajo! Has configurado el servidor FTP en tu VPS de Ubuntu
para que funcione con el protocolo SSL/TLS.

Paso 6 – Prueba de conexiones con


FileZilla
Hoy en día, la mayoría de los clientes de FTP admiten
configuraciones de cifrado TLS, por lo que es una excelente manera
de comprobar si tu servidor FTP de Ubuntu funciona según lo
previsto. Para probar la conexión, utilizaremos un cliente FTP de
FileZilla.

1. Para comenzar inicia FileZilla y haz clic en el icono de Site


Manager. Luego haz clic en el botón New Site en la ventana que
aparece para comenzar a ingresar los detalles del servidor FTP
de Ubuntu.
2. Completa todos los detalles requeridos con tu información del
servidor FTP de Ubuntu recién creada. Como lo configuramos
para usar TLS, también podemos marcar el cifrado para que
sea explícitamente FTP sobre TLS. La configuración final
debería verse así:
3. Cuando esté listo, haz clic en Connect y
aparecerá una pantalla que te pedirá ingresar la
contraseña del usuario de FTP.

4. Finalmente, tendrás que verificar el certificado


SSL de tu servidor FTP en Ubuntu VPS.
Después de confirmar, el directorio raíz con el archivo de prueba
debería aparecer en tu pantalla.
¡Eso es todo! Ahora puedes realizar transferencias de archivos
desde tu computadora al servidor FTP de Ubuntu y viceversa.
Conclusión
Tener un servidor FTP Ubuntu te facilita compartir archivos entre tu
VPS/servidor de Ubuntu y tu ordenador. Es un método seguro y fiable
de transferencia de datos, gracias a la seguridad SSL/TLS y al
protocolo TCP/IP.
En este tutorial, has aprendido a configurar un servidor FTP en
Ubuntu 18.04 utilizando vsftpd. Hay cinco pasos que debes seguir.
Vamos a verlos una vez más.

1. Instala vsftpd en tu servidor Ubuntu y haz una


copia de seguridad del archivo de configuración
original.
2. Permite las conexiones FTP a través del
cortafuegos.
3. Crea un directorio de usuarios al que sólo puedan
acceder los usuarios especificados.
4. Configura vsftpd.
5. Asegura el servidor FTP.
6. Prueba tu conexión FTP con FileZilla.

También podría gustarte