Revista Tecnología

Servidor FTP con SSL en ubuntu

Publicado el 10 julio 2013 por Antonio Carmona López @acarmonalopez
Anteriormente confeccione un tuto de como instalar y configurar un servidor ftp usando el demonio vsftpd. Ahora vamos a crearle un certificado SSL.sudo su

apt-get update & apt-get upgrade

-Lo primero será instalar el demonio FTPapt-get install vsftpd- Bien, ya tenemos totalmente operativo nuestro servidor FTP y podemos conectarnos por medio de cualquier cliente FTP:

  • 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 a 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 usuarioslocales.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 startAhora el servidor quedaría totalmente operativo:

ftp-ssl "ip del servidor"
  
      
      
      
      
      
	   
	  

Volver a la Portada de Logo Paperblog

Dossiers Paperblog

Revista