miércoles, 13 de enero de 2016

El servicio VSFTPD en modo pasivo y el firewall IPTABLES en UBUNTU 12.04

En esta pequeña entrada comentare como configurar el servicio VSFTPD en modo pasivo y los ajustes correspondientes en las reglas IPTABLES para evitar problemas de acceso al servicio.


El servicio vsftpd nos permite instalar en un servidor FTP en Ubuntu y configurarlo en modo pasivo. En el siguiente link se explica la diferencia entre los modos activos y pasivos del servicio FTP (http://mimesadetrabajo.blogspot.com/2009/01/ftp-modo-pasivo-o-modo-activo.html).

A mi modo de ver esta concepción nos puede traer un dolor de cabeza, como fue en mi caso. El asunto es que en el modo pasivo el cliente pide un puerto al servidor para la conexión de datos, dicho puerto es aleatorio, de modo que: ¿Cómo configuramos iptables y vsftpd para conocer de antemano los puertos que serán abiertos? Y así evitar problemas de acceso al servicio.

VSFTPD

Editamos el fichero de configuración del servicio vsftpd en Ubuntu en la ruta /etc/vsftpd.conf y ajustamos los siguientes parámetros:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=65535

Con estos parámetros le estamos diciendo al servicio que trabaje en modo pasivo y que use el rango de puertos 30000 – 65535 para el tráfico de datos.

IPTABLES

Editamos nuestro script de iptables y configuramos las siguientes reglas

iptables -A INPUT -s $RED1 -p tcp  -- dport 20:21 -j ACCEPT
iptables -A OUTPUT  -s $RED1 -p tcp  --sport 20:21 -j ACCEPT
iptables -A INPUT -s $RED1 -p tcp  --dport 30000:65535 -j ACCEPT
iptables -A OUTPUT -s $RED1 -p tcp  --sport 30000:65535 -j ACCEPT

Estas reglas iptables permiten comunicación a la red definida en la variable RED1 a los rangos de puertos del server del 21-21 y del 30000-65535.

Como se aprecia en este pequeño articulo solo me limito a mostrar la configuración de ambos servicios para que trabajen coherentemente para el modo pasivo del vsftpd.