Servidor FTP en ubuntu con SSL


- Lo primero es instalar el demonio del servidor FTP:

sudo apt-get install vsftpd.

Bien, ya tenemos totalmente operativo nuestro servidor FTP y podemos conectarnos  por medio de cualquier cliente FTP:

Como ya he dicho vamos a modificar el archivo de configuración de nuestro servidor FTP para que se establezca la conexión por cuentas de usuario:

- Para lo cual tipeamos en una consola:

sudo nano /etc/vsftpd.conf

  • Primero definimos la carpeta compartida:
anon_root=/home/antonio/ftp
  • Para que el servidor se inicie con el sistema:
 Listen=YES
  • Para no permitir usuarios anónimos, cambiamos la linea:
anonymous_enable=YES 
  • En caso de que esta variable la hubierais puesto aanonymous_enable=NO.:
  •  Crear usuario:
sudo adduser –home /home/antonio/ftp –no-create-home –shell /bin/bash user1
  • Asignar user1 al grupo ftp:
sudo addgroup user1 ftp
  • Para permitir al usuario que acceda al servidor FTP escribir en el directorio compartido, siempre y cuando tenga permisos en la carpeta compartida:
write_enable=YES
  • Esto linea permitirá acceder al sistema usuarioslocales.

     local_enable=YES. Esto linea permitirá acceder al sistema usuarios
locales.
  • Esta linea permite o no el acceso de usuarios locales a sus respectivas carpetas privadas
chroot_local_user=YES, para permitir acceso
chroot_local_user=NO, para denegar  acceso
  • En en caso de que esta opcion este a YES
chroot_list_file=/etc/vsftpd/chroot_list
sudo nano/etc/vsftpd/chroot_list, donde haremos una lista con los usuarios locales.
  •  Establecemos los permisos por defecto de los nuevos archivos que suban los usuarios.
local_umask=022 
- Tras lo que iniciaremos el demonio para que el servidor FTP tome los cambios:

sudo service vsftpd start


SERVIDOR FTP CON SSL EN UBUNTU


  • Se crea el certificado SSL que se ubicara en la ruta /etc/vsftpd y que tendrá una duración de 365 días:
Se crea el directorio que albergara el certificado:

mkdir /etc/vsftpd-ssl

cd /etc/vsftpd-ssl
    Se crea el certificado:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem

Ahora editamos el archivo de configuración de vsftp para su correcta configuración:

nano /etc/vsftpd
  • Primero definimos la carpeta compartida:
anon_root=/home/antonio/ftp
  • Para que el servidor se inicie con el sistema:
Listen=YES
  • Para no permitir usuarios anónimos, cambiamos la linea:
anonymous_enable=YES 
  • En caso de que esta variable la hubierais puesto NO:
  1. Crear usuario/s:
adduser –home /home/antonio/ftp –no-create-home –shell /bin/bash user1
  1. Asignar user1 al grupo ftp:
addgroup user1 ftp
  • Para permitir al usuario que acceda al servidor FTP escribir en el directorio compartido, siempre y cuando tenga permisos en la carpeta compartida:
write_enable=YES.
  • Para permitir acceder al sistema usuarios
    locales.

    local_enable=YES.
  • Esta linea permite o no el acceso de usuarios locales a sus respectivas carpetas privadas
chroot_local_user=YES, para permitir acceso
chroot_local_user=NO, para denegar  acceso
  1. En en caso de que esta opcion este a YES:
chroot_list_file=/etc/vsftpd/chroot_list
  1. nano /etc/vsftpd/chroot_list, donde haremos una lista con los usuarios locales.
  • Establecemos los permisos por defecto de los nuevos archivos que suban los usuarios.
local_umask=022.
  1. Instalar/configurar SSL:
  • Instalamos el modulo SSL para vsft:
apt-get install ftp-ssl
  • Configurar certificado SSL:

     nano /etc/vsftpd
# # # 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 
# This option specifies the location of the RSA certificate to use for SSL 
# encrypted connections. 
rsa_cert_file=/etc/vsftpd/vsftpd.pem
- Tras lo que iniciaremos el demonio para que el servidor FTP tome los cambios:

service vsftpd start

Ahora el servidor quedaría totalmente operativo:

ftp-ssl "ip del servidor"


No hay comentarios:

Publicar un comentario