DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE...

15
Página 0 de 14 CONCEPTOS DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Proceso de instalación, configuración y gestión del servidor FTP más usado y de los clientes FTP más usados.

Transcript of DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE...

Page 1: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

Página 0 de 14 CONCEPTOS

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Proceso de instalación, configuración y gestión del servidor FTP más usado y de los clientes FTP más usados.

Page 2: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 1 de 14 ÍNDICE DE CONTENIDO

Índice de contenido 1 Descripción del protocolo ....................................................................................................................... 2

1.1 Introducción ......................................................................................................................................... 2

1.2 Historia ................................................................................................................................................. 2

1.3 El Modelo FTP ...................................................................................................................................... 2

2 Servidor FTP ............................................................................................................................................ 3

3 Cliente FTP .............................................................................................................................................. 3

3.1 Tipos de acceso a un servidor FTP ..................................................................................................... 4

3.1.1 Acceso anónimo ........................................................................................................................... 4

3.1.2 Acceso de usuario ........................................................................................................................ 4

3.1.3 Cliente FTP basado en Web ........................................................................................................ 4

3.1.4 Acceso de invitado ....................................................................................................................... 5

3.2 Modos de conexión del cliente FTP ................................................................................................... 5

3.2.1 Modo Activo ................................................................................................................................. 5

3.2.2 Modo Pasivo ................................................................................................................................. 6

3.2.3 Tipos de transferencia de archivos mediante FTP .................................................................... 6

3.3 Guía de comandos FTP ....................................................................................................................... 7

4 Instalación y configuración de un servidor FTP .................................................................................... 8

4.1 Instalación ........................................................................................................................................... 8

4.1.1 Mediante el terminal de comandos ............................................................................................ 8

4.1.2 Mediante el gestor de paquetes Synaptic ................................................................................ 9

4.2 Configurando el servidor ................................................................................................................... 10

4.3 Aumentando la seguridad del servidor ............................................................................................ 11

4.4 Alta de usuarios ................................................................................................................................. 11

5 Instalar y configurar un cliente FTP ..................................................................................................... 12

5.1 Instalación ......................................................................................................................................... 12

5.1.1 Mediante un terminal de root o mediante el gestor de paquetes Synaptic .......................... 12

5.2 Abrir el programa ............................................................................................................................... 12

5.3 Conectarse a un servidor .................................................................................................................. 12

5.3.1 De forma rápida ......................................................................................................................... 12

5.3.2 Usando el gestor de sitios ......................................................................................................... 13

6 Bibliografía ............................................................................................................................................ 14

Page 3: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 2 de 14 CONCEPTOS

1 Descripción del protocolo

1.1 Introducción

FTP (sigla en inglés de File Transfer Protocol - Protocolo de Transferencia de Archivos) en informática,

es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP

(Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se

puede conectar a un servidor para descargar archivos desde él o para enviarle archivos,

independientemente del sistema operativo utilizado en cada equipo.

El Servicio FTP es ofrecido por la capa de Aplicación del modelo de capas de red TCP/IP al usuario,

utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para

ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de

información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier

archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede

capturar este tráfico, acceder al servidor, o apropiarse de los archivos transferidos.

Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el

paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.

1.2 Historia

En 1968, nació ARPANET (Ver Historia de Internet) como una pequeña red de pocos ordenadores que

transmitían información de unos a otros mediante paquetes conmutados (lo que sería en el futuro

Internet), y tres años más tarde un grupo de investigadores del MIT presentó la propuesta del primer

"Protocolo para la transmisión de archivos en Internet" (RFC 114). Era un protocolo muy sencillo basado

en el sistema de correo electrónico pero sentó las bases para el futuro protocolo de transmisión de

archivos (FTP).

En 1985, quince años después de la primera propuesta, se termina el desarrollo del aún vigente

protocolo para la transmisión de archivos en Internet (FTP), basado en la filosofía de cliente-servidor.

Hasta el año 1995, cuando puede decirse que se produce el gran boom de internet a nivel del usuario

doméstico fue el más usado para transferir información.

Con la llegada del World Wide Web, y de los navegadores, ya no es absolutamente necesario aunque sí

muy recomendable conocer los complejos comandos de FTP. Este protocolo se puede utilizar escribiendo

la URL del servidor al que queramos conectar en el navegador web, indicando con ftp:// que vamos a

contactar con un servidor ftp y no con un servidor web (que sería http:// ).

La versión original del File Transfer Protocol fue publicado como RFC 114 el 16 de abril de 1971, y más

adelante reemplazado por el RFC 765 (junio de 1980) y el RFC 959 (octubre de 1985), la versión que se

usa actualmente. Muchos han propuesto alternativas a la versión de 1985, como por ejemplo el RFC

2228 (junio de 1997) que propone extensiones de seguridad y la RFC 2428 (septiembre de 1998) que

añade soporte para IPv6 y define un nuevo tipo de modo pasivo.

1.3 El Modelo FTP

En el modelo (que puedes ver en la página siguiente), el intérprete de protocolo (PI) de usuario, inicia la

conexión de control usando el puerto 21. Las órdenes FTP estándar las genera el PI de usuario y se

transmiten al proceso servidor a través de la conexión de control. Las respuestas estándar se envían

desde el PI del servidor al PI de usuario por la conexión de control como respuesta a las órdenes.

Page 4: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 3 de 14 CONCEPTOS

Estas órdenes FTP especifican

parámetros para la conexión de datos

(puerto de datos, modo de

transferencia, tipo de representación y

estructura) y la naturaleza de la

operación sobre el sistema de archivos

(almacenar, recuperar, añadir, borrar,

etc.). El proceso de transferencia de

datos (DTP) de usuario u otro proceso

en su lugar, debe esperar a que el

servidor inicie la conexión al puerto de

datos especificado (puerto 20 en modo

activo o estándar) y transferir los datos

en función de los parámetros que se

hayan especificado.

Vemos también en el diagrama que la comunicación entre cliente y servidor es independiente del

sistema de archivos utilizado en cada ordenador, de manera que no importa que sus sistemas operativos

sean distintos. Esto es debido a que las entidades que se comunican entre sí son los PI y los DTP, que

usan el mismo protocolo estandarizado: el FTP.

También hay que destacar que la conexión de datos es bidireccional, es decir, se puede usar

simultáneamente para enviar y para recibir, y no tiene por qué existir todo el tiempo que dura la conexión

FTP. Pero tenía en sus comienzos un problema, y era la localización de los servidores en la red. Es decir,

el usuario que quería descargar algún archivo mediante FTP debía conocer en qué máquina estaba

ubicado. La única herramienta de búsqueda de información que existía era Gopher con todas sus

limitaciones.

2 Servidor FTP Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado

a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su función es permitir

el intercambio de datos entre diferentes servidores/ordenadores.

Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por

lo que un usuario normalmente utilizará el FTP para conectarse remotamente a uno y así intercambiar

información con él.

Las aplicaciones más comunes de los servidores FTP suelen ser el alojamiento web, en el que sus

clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes; o como servidor

de copia de seguridad de los archivos importantes que pueda tener una empresa. Para ello, existen

protocolos de comunicación FTP para que los datos se transmitan cifrados, como el SFTP , Secure File

Transfer Protocol o Protocolo Seguro de Transferencia de Archivos.

En el caso de Debian 6.0, los servidores FTP más usados son ProFTPD y Vsftpd.

3 Cliente FTP Cuando un navegador no está equipado con la función FTP, o si se quiere cargar archivos en un

ordenador remoto, se necesitará utilizar un programa cliente FTP. Un cliente FTP es un programa que se

instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y

transferir archivos, ya sea para descargarlos o para subirlos.

Page 5: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 4 de 14 CONCEPTOS

Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside

(servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en caso

de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra.

Algunos clientes de FTP básicos en modo consola vienen integrados en los sistemas operativos,

incluyendo Microsoft Windows, DOS, GNU/Linux y Unix. Sin embargo, hay disponibles clientes con

opciones añadidas e interfaz gráfica. Aunque muchos navegadores tienen ya integrado FTP, es más

confiable a la hora de conectarse con servidores FTP no anónimos utilizar un programa cliente.

Los principales clientes FTP para Debian 6.0 son Filezilla, FTP-SSL o YAFC, aunque existen muchos en

el mercado.

3.1 Tipos de acceso a un servidor FTP

3.1.1 Acceso anónimo

Los servidores FTP anónimos ofrecen sus servicios libremente a todos los usuarios, permiten acceder a

sus archivos sin necesidad de tener un 'USER ID' o una cuenta de usuario. Es la manera más cómoda

fuera del servicio web de permitir que todo el mundo tenga acceso a cierta información sin que para ello

el administrador de un sistema tenga que crear una cuenta para cada usuario.

Si un servidor posee servicio 'FTP anonymous' solamente con teclear la palabra "anonymous", cuando

pregunte por tu usuario tendrás acceso a ese sistema. No se necesita ninguna contraseña

preestablecida, aunque tendrás que introducir una sólo para ese momento, normalmente se suele utilizar

la dirección de correo electrónico propia. Con esta configuración tan simple se consigue acceso a los

archivos del FTP, aunque con menos privilegios que un usuario normal. Normalmente solo podrás leer y

copiar los archivos que sean públicos, así indicados por el administrador del servidor al que nos

queramos conectar.

Normalmente, se utiliza un servidor FTP anónimo para depositar grandes archivos que no tienen

utilidad si no son transferidos a la máquina del usuario, como por ejemplo programas, y se reservan los

servidores de páginas web (HTTP) para almacenar información textual destinada a la lectura en línea.

3.1.2 Acceso de usuario

Si se desea tener privilegios de acceso a cualquier parte del sistema de archivos del servidor FTP,

queremos conceder a los usuarios la posibilidad de modificar los archivos existentes o subir sus propios

archivos, tenemos que crear a cada usuario una cuenta de usuario en el servidor FTP. En el servidor se

guarda la información de las distintas cuentas de usuario que pueden acceder a él, de manera que para

iniciar una sesión FTP debemos introducir una autentificación o login y una contraseña o password que

nos identifica unívocamente.

3.1.3 Cliente FTP basado en Web

Un "cliente FTP basado en WEB" no es más que un Cliente FTP al cual podemos acceder a través de

nuestro Navegador Web sin necesidad de tener otra aplicación para ello. El usuario accede a un servidor

web (http) que lista los contenidos de un servidor ftp. El usuario se conecta mediante http a un servidor

web, y el servidor web se conecta mediante ftp al servidor ftp. El servidor web actúa de intermediario

haciendo pasar la información desde el servidor ftp en los puertos 20 y 21 hacia el puerto 80 http que ve

el usuario.

Siempre hay momentos en que nos encontramos fuera de casa, no llevamos el ordenador portátil

encima y necesitamos realizar alguna tarea urgente desde un ordenador de acceso público, de un amigo,

Page 6: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 5 de 14 CONCEPTOS

del trabajo, la universidad, etc. Lo más común es que no estén instaladas las aplicaciones que

necesitamos y en muchos casos hasta carecemos de los permisos necesarios para realizar su instalación.

Otras veces estamos detrás de un Proxy o Cortafuegos que no nos permite acceder a servidores FTP

externos.

Al disponer de un Cliente FTP basado en Web podemos acceder al servidor FTP remoto como si

estuviéramos realizando cualquier otro tipo de navegación WEB. A través de un Cliente FTP basado en

Web podrás, crear, copiar, renombrar y eliminar archivos y directorios. Cambiar permisos, editar, ver, subir

y descargar archivos, así como cualquier otra función del protocolo FTP que el servidor FTP remoto

permita.

3.1.4 Acceso de invitado

El acceso sin restricciones al servidor que proporcionan las cuentas de usuario implica problemas de

seguridad, lo que ha dado lugar a un tercer tipo de acceso FTP denominado invitado (guest), que se

puede contemplar como una mezcla de los dos anteriores.

La idea de este mecanismo es la siguiente: se trata de permitir que cada usuario conecte a la máquina

mediante su nombre de usuario y su contraseña, pero evitando que tenga acceso a partes del sistema de

archivos que no necesita para realizar su trabajo, de esta forma accederá a un entorno restringido, algo

muy similar a lo que sucede en los accesos anónimos, pero con más privilegios.

3.2 Modos de conexión del cliente FTP

FTP admite dos modos de conexión del cliente. Estos modos se denominan Activo (o Estándar, o PORT,

debido a que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la

conexión) y Pasivo (o PASV, porque en este caso envía comandos tipo PASV). Tanto en el modo Activo

como en el modo Pasivo, el cliente establece una conexión con el servidor mediante el puerto 21, que

establece el canal de control.

3.2.1 Modo Activo

En el modo de conexión Activo, el

servidor siempre crea el canal de datos

en su puerto 20, mientras que en el

lado del cliente el canal de datos se

asocia a un puerto aleatorio mayor que

el 1024. Para ello, el cliente manda un

comando PORT al servidor por el canal

de control indicándole ese número de

puerto, de manera que el servidor

pueda abrirle una conexión de datos por

donde se transferirán los archivos y los

listados, en el puerto especificado.

Lo anterior tiene un grave problema

de seguridad, y es que la máquina

cliente debe estar dispuesta a aceptar cualquier conexión de entrada en un puerto superior al 1024, con

los problemas que ello implica si tenemos el equipo conectado a una red insegura como Internet. De

hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarán esas

conexiones aleatorias.

Page 7: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 6 de 14 CONCEPTOS

3.2.2 Modo Pasivo

Cuando el cliente envía un comando PASV sobre

el canal de control, el servidor FTP le indica por el

canal de control el puerto por el que se va a producir

la comunicación. Este puerto será siempre mayor a

1023 del servidor (Ej:2069 ) al que debe conectarse

el cliente. El cliente inicia una conexión desde el

puerto siguiente al puerto de control (Ej: 1036) hacia

el puerto del servidor especificado anteriormente (Ej:

2040).1

Antes de cada nueva transferencia, tanto en el modo Activo como en el Pasivo, el cliente debe enviar

otra vez un comando de control (PORT o PASV, según el modo en el que haya conectado), y el servidor

recibirá esa conexión de datos en un nuevo puerto aleatorio (si está en modo pasivo) o por el puerto 20

(si está en modo activo). En el protocolo FTP existen 5 tipos de transferencia en ASCII y en binarios.

3.2.3 Tipos de transferencia de archivos mediante FTP

Es importante conocer cómo se transportan un archivo a lo largo de la red. Si no utilizamos las

opciones adecuadas podemos destruir la información del archivo. Por eso, al ejecutar la aplicación FTP,

debemos acordarnos de utilizar uno de estos comandos o seleccionar la opción correspondiente en un

programa con interfaz gráfica:

Tipo ascii: es decuado para transferir archivos que

sólo contengan caracteres imprimibles. Esto quiere decir

que sean archivos ASCII, no archivos resultantes de un

procesador de texto. Por ejemplo páginas HTML, pero no

las imágenes que puedan contener.

Tipo binario: este tipo es usado cuando se trata de

archivos comprimidos, ejecutables para PC, imágenes,

archivos de audio...

En la tabla adjunta hay algunos ejemplos de cómo

transferir algunos tipos de archivo dependiendo de su

extensión.

En la red existen diversas soluciones de software que

desarrolla este tipo de tecnología, los más conocidos, son

Filezilla (software libre) y CuteFTP (shareware).

Extensión de Archivo Tipo de Transferencia

txt (texto) ascii

html (página WEB) ascii

doc (documento) binario

ps (poscript) ascii

hqx (comprimido) ascii

Z (comprimido) binario

ZIP (comprimido) binario

ZOO (comprimido) binario

Sit (comprimido) binario

pit (comprimido) binario

shar (comprimido) binario

uu (comprimido) binario

ARC (comprimido) binario

tar (empaquetado) binario

Page 8: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 7 de 14 CONCEPTOS

3.3 Guía de comandos FTP

Comando y

argumentos Acción que realiza

open servidor Inicia una conexión con un servidor FTP

close o disconnect Finaliza una conexión FTP sin cerrar el programa cliente

bye o quit Finaliza una conexión FTP y la sesión de trabajo con el programa cliente

cd directorio Cambia el directorio de trabajo en el servidor

delete archivo Borra un archivo en el servidor

mdelete patrón Borra múltiples archivos basado en un patrón que se aplica al nombre

dir Muestra el contenido del directorio en el que estamos en el servidor

get archivo Obtiene un archivo

noop No Operation

Se le comunica al servidor que el cliente está en modo de no operación, el servidor

usualmente responde con un "ZZZ" y refresca

el contador de tiempo inactivo del usuario.

mget archivos Obtiene múltiples archivos

hash Activa la impresión de caracteres # a medida que se transfieren archivos, a modo de

barra de progreso

lcd directorio Cambia el directorio de trabajo local

ls Muestra el contenido del directorio en el servidor

prompt Activa/desactiva la confirmación por parte del usuario de la ejecución de comandos.

Por ejemplo al borrar múltiples archivos

put archivo Envía un archivo al directorio activo del servidor

mput archivos Envía múltiples archivos

pwd Muestra el directorio activo en el servidor

rename archivo Cambia el nombre a un archivo en el servidor

rmdir directorio Elimina un directorio en el servidor si ese directorio está vacío

status Muestra el estado actual de la conexión

bin o binary Activa el modo de transferencia binario

ascii Activa el modo de transferencia en modo texto ASCII

! Permite salir a línea de comandos temporalmente sin cortar la conexión. Para volver,

teclear exit en la línea de comandos

? nombre de

comando Muestra la información relativa al comando

? o help Muestra una lista de los comandos disponibles

append nombre del

archivo Continua una descarga que se ha cortado previamente

bell Activa/desactiva la reproducción de un sonido cuando ha terminado cualquier

proceso de transferencia de archivos

glob Activa/desactiva la visualización de nombres largos de nuestro PC

literal Con esta orden se pueden ejecutar comandos del servidor de forma remota. Para

saber los disponibles se utiliza: literal help

mkdir Crea el directorio indicado de forma remota

quote Hace la misma función que literal

Page 9: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 8 de 14 CONCEPTOS

send nombre del

archivo Envía el archivo indicado al directorio activo del servidor

user Para cambiar nuestro nombre de usuario y contraseña sin necesidad de salir de la

sesión ftp.--

4 Instalación y configuración de un servidor FTP En esta guía vamos a instalar y configurar un servidor FTP potente y versátil licenciado bajo GPL y

altamente configurablemente. Su nombre es ProFTPD.

Se puede instalar mediante el gestor de paquetes Synaptic usando los repositorios Debian

configurados por defecto para España. Tenemos que escribir en la casilla de búsqueda: proftpd.

4.1 Instalación

4.1.1 Mediante el terminal de comandos

Para descargar los paquetes e instalarlo, abrimos un terminal como superusario y escribimos. Si nos

pide durante el proceso la configuración elegimos independiente:

root@curso:/apt-get install proftpd

root@curso:/home/josemariatc# apt-get install proftpd

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias

Leyendo la información de estado... Hecho

Nota, seleccionando «proftpd-basic» en lugar de «proftpd»

Paquetes sugeridos:

proftpd-doc proftpd-mod-mysql proftpd-mod-pgsql proftpd-mod-ldap proftpd-mod-odbc

proftpd-mod-sqlite

Se instalarán los siguientes paquetes NUEVOS:

proftpd-basic

0 actualizados, 1 se instalarán, 0 para eliminar y 0 no actualizados.

Se necesita descargar 0 B/2330 kB de archivos.

Se utilizarán 3779 kB de espacio de disco adicional después de esta operación.

Preconfigurando paquetes ...

Seleccionando el paquete proftpd-basic previamente no seleccionado.

(Leyendo la base de datos ... 151363 ficheros o directorios instalados actualmente.)

Desempaquetando proftpd-basic (de .../proftpd-basic_1.3.3a-6squeeze1_i386.deb) ...

Procesando disparadores para man-db ...

Configurando proftpd-basic (1.3.3a-6squeeze1) ...

Aviso: No se puede acceder al directorio personal /var/run/proftpd que especificó: No

existe el fichero o el directorio.

Añadiendo el usuario del sistema `proftpd' (UID 110) ...

Añadiendo un nuevo usuario `proftpd' (UID 110) con grupo `nogroup' ...

No se crea el directorio personal `/var/run/proftpd'.

Añadiendo el usuario del sistema `ftp' (UID 111) ...

Añadiendo un nuevo usuario `ftp' (UID 111) con grupo `nogroup' ...

Page 10: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 9 de 14 CONCEPTOS

Creando el directorio personal `/home/ftp' ...

«/usr/share/proftpd/templates/welcome.msg» -> «/home/ftp/welcome.msg.proftpd-new»

Starting ftp server: proftpd.

Es recomendable instalar todos los paquetes disponibles para adquirir todas las funcionalidades. Estos

son: proftpd-doc, proftpd-mod-mysql, proftpd-mod-pgsql, proftpd-mod-ldap, proftpd-mod-odbc y proftpd-

mod-sqlite. Podemos hacerlo mediante la consola de comandos o el gestor de paquetes Synaptic.

4.1.2 Mediante el gestor de paquetes Synaptic

Elegimos todos los paquetes a instalar:

Page 11: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 10 de 14 CONCEPTOS

Elección del tipo de funcionamiento. Tenemos dos opciones: para pocas conexiones puede instalarse

dede inetd creándose para cada conexión un proceso nuevo; para muchas conexiones hay que

seleccionar independiente. Este texto puede verse más extendido pulsando sobre el botón de ayuda:

Comprobamos que se ha instalado correctamente. Para ello tenemos que abrir un navegador y escribir

en la dirección: ftp:localhost. Nos saldrá una ventana pidiendo un nombre de usuario y su contraseña.

4.2 Configurando el servidor

La configuración del servidor se almacena en al archivo localizado en /etc/proftpd.conf. Por defecto no

está habilitado ningún tipo de usuario.

La forma más sencilla para configurar el servidor de forma correcta es copiar y pegar el código que

viene en la sección de Example Configurations de ProFTPD: http://proftpd.org/docs/example-conf.html.

Concretamente vamos a utilizar la configuración básico: http://proftpd.org/docs/configs/basic.conf.

Page 12: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 11 de 14 CONCEPTOS

Cada vez que hagamos algún cambio en el archivo de configuración, tenemos que reiniciar el servicio

mediante el siguiente comando:

/etc/init.d/proftpd restart

4.3 Aumentando la seguridad del servidor

Vamos a configurar ProFTPD para que reconozca conexiones TLS, y si así lo queremos, a que fuerce a

los usuarios a utilizar TLS, lo cual es altamente recomendado.

Lo primero es generar un certificado para el servidor, ejecutando como usuario root en un terminal la

siguiente orden:

make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/certs/proftpd.pem

Nos saldrá una pantalla para que introduzcamos el nombre del servidor, como poco.

Ahora tenemos que editar el archivo /etc/proftpd.conf para añadir al final lo siguiente:

<IfModule mod_tls.c>

TLSEngine on

TLSLog /var/ftpd/tls.log

TLSProtocol TLSv1

# Obligar a los clientes a usar TLS (on/off)

TLSRequired on

# Certificado del Servidor

TLSRSACertificateFile /etc/ssl/certs/proftpd.pem

# Permitir a usuarios que deseen usar FTP sobre TLS (on/off)

TLSVerifyClient on

</IfModule>

Por último, reiniciamos el servicio:

/etc/init.d/proftpd restart

4.4 Alta de usuarios

Para que un usuario pueda acceder a usar el servidor FTP alojado en el sistema tiene que cumplir las

siguientes condiciones:

1. Tiene que tener una cuenta de usuario con una contraseña, por tanto, la cuenta tiene que estar

activa.

2. Hay asignarle una carpeta en el servidor para que almacene sus documentos. Varios usuarios

pueden compartir la misma carpeta o podemos generar una carpeta para cada usuario, en función de

la instalación que hagamos.

3. El usuario tiene que tener una consola de comandos asignada. Hay que comprobar que la consola

de comandos asignada al usuario no sea /bin/false.

Los pasos para hacer esto mediante una consola de superusuario son los siguientes:

Para crear un usuario que cumpla todos los requerimientos:

root@curso:/home/josemariatc# useradd -d /home/ftp -s /bin/bash anonymous

root@curso:/home/josemariatc# passwd anonymous

Page 13: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 12 de 14 CONCEPTOS

Introduzca la nueva contraseña de UNIX:

Vuelva a escribir la nueva contraseña de UNIX:

passwd: contraseña actualizada correctamente

Para comprobar que el usuario tiene asignada una Shell:

root@curso:/home/josemariatc# cat /etc/passwd | grep anonymous

anonymous:x:1002:1002::/home/ftp:/bin/bash

5 Instalar y configurar un cliente FTP Vamos a instalar y configurar para su uso el programa Filezilla

5.1 Instalación

5.1.1 Mediante un terminal de root o mediante el gestor de paquetes Synaptic

apt-get install filezilla

5.2 Abrir el programa

Nos vamos a Aplicaciones → Internet →Filezilla. Nos saldrá la ventana siguiente.

5.3 Conectarse a un servidor

5.3.1 De forma rápida

Si en la parte superior de la pantalla escribimos en Servidor, Nombre de usuario y contraseña los datos

correctos, el servidor nos dará acceso a la carpeta del usuario.

Page 14: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 13 de 14 CONCEPTOS

5.3.2 Usando el gestor de sitios

Archivo → Gestor de sitios. Se nos abre la ventana mostrada a continuación:

Damos en el botón nuevo sitio y rellenamos los campos necesarios, siendo como poco:

Servidor, logon type, usuario y contraseña

Page 15: DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR … · DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE Página 2 de 14 CONCEPTOS 1 Descripción del protocolo 1.1 Introducción FTP (sigla en

DEBIAN TEMA 11: PROTOCOLO FTP SERVIDOR-CLIENTE

Página 14 de 14 BIBLIOGRAFÍAS

6 Bibliografía http://es.wikipedia.org/wiki/File_Transfer_Protocol

Características técnicas del protocolo actual. Documento RFC959: http://tools.ietf.org/html/rfc959

Sitio web oficial, en inglés, del servidor FTP instalado y configurado en esta guía: http://proftpd.org/