martes, 22 de septiembre de 2015

INSTALACIÓN DE VSFTP EN RASPBERRY Pt.2

En el anterior tutorial vimos como configurar un servidor "vsftpd" en Raspbian. Hoy veremos cómo evitar ataques de fuerza bruta y también cómo crear certificados SSL para encriptar las conexiones entre cliente y servidor, obteniendo así un poco más de seguridad.

Para generar nuestro certificado propio SSL, es imprescindible utilizar el programa "OpenSSL" (por defecto  está instalado en Raspbian):

$ sudo apt-get install openssl

Una vez instalado, procedemos a la creación del certificado:


$  sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Vemos las opciones:

-days: es la caducidad  del certificado.
-newkey rsa:1204: es el tipo y los bytes de encriptación (RSA 1024 bit).
-out: el directorio donde se almacenara el archivo del certificado.

A continuación accederemos al archivo de configuración del servidor ftp:

$ sudo nano /etc/vsftpv.conf

Insertamos los siguientes parámetros:


ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
rsa_cert_file=/etc/ssl/private/vsftpd.pem

También es importante reforzar  un poco más nuestro servidor FTP, por ello añadiremos las siguientes líneas en el archivo de configuración:


rsa_cert_file=/etc/ssl/private/vsftpd.pem
max_clients=2 #Máximo de clientes que se conectarán simultáneamente.
max_per_ip=2 #Límite de ips que se conectarán simultáneamente.
max_login_fails=1 #Máximo de login fallidos.
delay_failed_login=30 #Tiempo de espera tras el último login fallido. 

Reiniciamos el servicio:

$ sudo /etc/init.d/vsftpd restart

Ya tenemos un mínimo de seguridad para conectarnos vía ftp desde el exterior (ip pública). Es importante abrir los puertos en el router, tanto para la conexión (21 por defecto si no la hemos cambiado) como para el modo pasivo (abrir los rangos que estén en el archivo de configuración /etc/vsftpd.conf>pasv_min_port-pasv_max_port).

Configurado todo, nos conectaremos al servidor  mediante algún cliente ftp (Filezilla) desde fuera de nuestra LAN, elegimos el  modo ftp explícito sobre TLS y nos aparecerá un certificado como el siguiente:
































Una vez aceptada la conexión entre cliente/servidor estará cifrada.

No hay comentarios:

Publicar un comentario