Daboweb

Tutorial Protfpd. Configurar servidor FTP

Publicado por Dabo on agosto 19, 2006
Manuales y Tutoriales
Nuestro compañero y moderador del foro de Linux, Goldfinger, ha preparado este tutorial, en el que nos muestra paso a paso la instalación y configuración de un servidor FTP en un sistema GNU/Linux  con Proftpd.

Instalar y configurar un servidor FTP con Protfpd… por goldfinger

En este tutorial vamos a configurar un servidor FTP en un sistema GNU/Linux paso a paso con Proftpd. Para hacerlo de la forma más sencilla utilizaremos el interfaz gráfico Gproftpd.

*Nota: Este texto está basado en una instalación sobre Ubuntu Dapper 6.06, el proceso es similar para distribuciones con distinta arquitectura, pero puede variar en algún punto.

INSTALACION

Necesitamos instalar proftpd y gproftpd, en Ubuntu tenemos estos paquetes en los repositorios oficiales, si en otras distribuciones no los encontramos en los repositorios, los podemos descargar de los siguientes enlaces:

Proftp – http://www.proftpd.org/download.html
Gproftpd – http://mange.dynalias.org/linux/gproftpd/

CONFIGURACION

Durante la instalación, en una ventana se nos pregunta cómo queremos que se ejecute el servicio, hay 2 opciones, en modo “Standalone” o  bajo inetd. La diferencia de usar un modo a otro se traducirá en en la velocidad de ejecución y en la carga que soportará el equipo, bajo inetd cada vez que se produzca una conexión nueva, se iniciará un nuevo proceso mientras que en modo “Standalone” el servicio se ejecuta como un proceso independiente, de este modo el proceso ya está inicializado y no es necesario crear otro distinto, el proceso principal se clona para cada conexión.

En principio eligiremos ejecutar el servicio en modo “Standalone”, si queremos que se ejecute desde inetd, debemos agregar la siguiente linea a /etc/inetd.conf:

ftp     stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/proftpd

Una vez instalados los programas, ejecutamos gproftpd como root para empezar con la configuración:

$ sudo gproftpd

Bien, ahora vamos a configurar nuestro FTP para usuarios con contraseña requerida, con permisos de lectura sobre el directorio asignado, y permisos también para descargar y subir archivos.

Nos situamos en el menú “Servidores”

Nombre DNS o dirección IP del servidor: Aquí introducimos la IP del equipo en el cual está ubicado el FTP.
Mostrar identidad alternativa del servidor: Esta opción la desactivamos.
Dirección de la pasarela NAT: Esta opción solo la activaremos en caso de que el servidor se encuentre bajo una pasarela NAT, en caso de duda dejarlo Desactivado.
El correo electrónico de los administradores: Opcional – Aquí indicaremos la dirección de correo de la persona que debe recibir algún mensaje, por ejemplo si el servidor falla.
Asociar servidores a sus direcciones: Activar esta opción.
Búsqueda de identidad: Desactivar esta opción.
Búsqueda en reversa. Desactivar esta opción.
Estándar de tiempo: Dos opciones: Hora local o GMT.
Puerto en el que escucha el servidor: Por defecto el puerto 21, si queremos podemos cambiarlo. En el cortafuegos hay que permitir el trafico entrante para este puerto.
Rango de puertos pasivos: Esto lo dejamos como viene por defecto 49152 – 65534
Máximo número de conexiones para cada servidor: Por defecto 30, el número de conexiones lo modificamos en función de nuestras necesidades, por ejemplo si solo tenemos 2 usuarios probablemente no necesitamos permitir más de 2 conexiones simultáneas.
Máximo número de intentos de login antes de la desconexión: Por defecto 3
Tiempo: Este es el tiempo máximo de sesión para una conexión, por defecto 300 minutos, después de este tiempo la conexión se cierra.
Tiempo inactivo: Tiempo máximo de inactividad de una conexión, por defecto 120 minutos, después de este tiempo sin actividad se cierra una conexión.
Longitud de nombre de usuario aleatoria, Longitud del password aleatoria y Mayúsculas o minúsculas aleatoriamente: En principio estas opciones no nos van a afectar porque introduciremos los usuarios y sus contraseñas  manualmente.

Modo de transferencia por defecto: Binario
Transferencias FXP: El protocolo de transferencia FlashFXP no es necesario, y no es recomendable activarlo ya que puede ser un punto vulnerable en el servidor así que en principio lo desactivaremos. Si después tenemos problemas con algún cliente, podemos activarlo más tarde.
Directorio raíz por defecto de los usuarios añadidos: Este será el directorio donde ingresarán los usuarios cuando se conecten al equipo.
Directorio de subida por defecto de los usuarios añadidos: Cuando un usuario suba algún archivo al servidor, lo hará al directorio (dentro de su directorio personal) que le indiquemos aquí.
El archivo de registro del sistema: Por defecto /var/log/secure, aquí se registrará toda lo que ocurra en el FTP.
Este servidor se ejecuta como este usuario: El usuario de sistema propietario del proceso -IMPORTANTE QUE PROFTPD NO SE EJECUTE COMO ROOT-
Usuario y grupo falsos que poseen todos los archivos: Lo dejamos como viene por defecto: nobody

En el siguiente apartado configuramos las opciones de subida y descarga de archivos:

Si queremos que se realicen conexiones desde internet a nuestro servidor, y contamos con una IP fija, podremos utilizar FTP-TLS y utilizar Certificados. Si no tenemos una IP fija no utilizaremos FTP-TLS (Versión estandarizada del SSL)

Para reiniciar el servidor con la nueva configuración, podemos hacerlo desde la linea de comandos;

sudo /etc/init.d/proftpd restart

o desde gproftp con el botón “Releer”

desde la barra de herramientas también podemos detener el servidor con el botón “Parar”, o desde la linea de comandos:

sudo /etc/init.d/proftpd stop

Ahora añadiremos a nuestros usuarios, nos vamos al menú “Usuarios”
Vamos a crear el usuario Usuario1 con la contraseña Password1:

Click en “Añadir”..

Se ha añadido Usuario1 que pertenece al grupo Usuario1, así está bien, pero para ser más ordenados, crearemos todos los usuarios en el grupo ftp, para editar usuarios, hacemos doble-click en uno de ellos, cambiamos el grupo, y nos aseguramos de que se les requiera la contraseña:

Desde esa ventana también podemos cambiar la contraseña, modificar el numero de conexiones, el directorio raíz, el directorio de subida o bannear al usuario.

Por ultimo, podemos añadir algunas reglas adicionales, en gproftpd desde menú “Configurar” editamos directamente etc/proftpd.conf. En este archivo está toda la configuracion del servidor, las posibilidades aquí son muchas, por ejemplo para esconder la actividad del servicio ftp buscamos la linea ServerIdent on  y la sustituimos por ServerIdent off . Comentando DeferWelcome Off o DeferWelcome On , indicaremos al servidor si el mensaje de Bienvenida se muestra al cliente antes o después de autenticarse. La linea ShowSymlinks Off esconderá los enlaces simbólicos, mostrandolos como archivos o directorios.

Podemos filtrar las conexiones entrantes por su IP, por ejemplo para permitir la conexión exclusivamente a la IP 80.42.35.87 tendríamos que editar estas lineas en /etc/proftpd.conf:

<Limit LOGIN>
Allow 80.42.35.87
DenyAll
</Limit>

Una característica de proftpd que es muy interesante es la de Servidores Virtuales, podemos crear más de un servidor en un mismo equipo, asignándoles diferentes puertos a cada uno. De esta forma podríamos tener un servidor anónimo y uno privado totalmente independientes en el mismo equipo.

Las posibilidades de configuración de proftpd server son muchas, opciones de autenticación enlazando a bases de datos, o conexiones seguras a traves de SSH… pero no vamos a extendernos mucho más.

Ya tenemos el servidor FTP a la escucha en el puerto 21 y tenemos unos usuarios, ahora vamos a monitorear la actividad desde Gproftp, en el menú “Transferencias”, aquí podemos controlar los usuarios que tenemos conectados, en que directorio se encuentran, que ancho de banda están ocupando, si están ejecutando algún comando… también podemos cerrarles la sesión o banearlos.

En el menú “Archivos” podemos ver el historial de transferencias y generar un reporte del mismo en formato html:

Por ultimo en “Seguridad” vemos el historial de conexiones:

Y con esto ya podemos lanzar nuestro servidor FTP con un cierto nivel de “seguridad” (esta palabra siempre entre comillas), recordad que las posibilidades de configuración de /etc/proftpd.conf son muchas y muy interesantes, tenemos más información sobre Proftpd en la documentación oficial (en inglés):

http://www.proftpd.org/docs/

Mis agradecimientos a Dabo, por las pruebas realizadas remotamente sobre mi equipo, mientras realizaba este tutorial.

Tags: , ,

¿Quieres comentar algo sobre este post? Puedes hacerlo en nuestro foro de noticias.

Puedes seguir nuestras actualizaciones vía RSS, en Facebook y también desde Twitter.