Vous êtes sur la page 1sur 10

ESQUEMATEMA 4

Servicio FTP
Características
Componentes y funcionamiento
Servidores FTP
Clientes FTP
Clientes en líneas de comandos
Clientes gráficos
Navegadores / exploradores
Protocolo FTP
Tipos de acceso
Conexiones y modos
Tipos de transferencia de archivos
Seguridad
FTPS (o FTP/SSL)
Protocolo FXP

Servicio TFTP

Servicios SFTP/SCP

RESUMENTEMA 4
Los conceptos clave de este capítulo son los siguientes:

o FTP es uno de los servicios de transferencia de ficheros más utilizado. Es un servicio fácil
de mantener y configurar, ofrece rapidez en la transferencia de ficheros y abstrae a los
usuarios de los detalles de los sistemas operativos empleados.

o El funcionamiento de FTP se basa en el modelo cliente servidor. Los servidores FTP


acceden al sistema de ficheros del equipo donde están instalados y atienden las peticiones
de descarga y/o subida de los clientes FTP. La comunicación entre cliente y servidor se
basa en el protocolo 'FTP.

o Los servidores FTP permiten dos tipos de acceso desde los clientes. Acceso anónimo
donde la conexión al servidor de realiza con usuario especial (anonymous o ftp) y acceso
autorizado donde el cliente se conecta con un usuario que debe existir en el servidor (puede
ser un usuario local o un usuario "virtual"). En el servidor se configuran los privilegios que
tiene cada usuario. Lo normal es que el usuario anónimo solo pueda descargar archivos.

o Los servidores y los clientes mantienen conexiones TCP independientes para control y
transferencia de datos.

o Los clientes FTP puede iniciar conexiones a servidores FTP de dos formas distintas que
se conocen como modo activo y modo pasivo. En el modo activo el cliente inicia y establece
la conexión de control al puerto 2/TCP del cliente, y el servidor inicia las conexiones de
datos desde su puerto 20/TCP a puertos que previamente le comunica el servidor. En el
modo pasivo es siempre el cliente el que inicia las conexiones con el servidor, el puerto 20
del servidor no se utiliza.

o Los archivos pueden estar en formato ASCII o binario. Los clientes FTP permiten definir o
detectan de forma automática el formato de transmisión a utilizar en función del tipo de
archivo a transferir.

o FTP no es seguro. No se garantiza que los equipos involucrados en la transferencia sean


quien dicen ser y el intercambio de información se realiza sin cifrar. FTPS (o FTP/SSL) es el
conjunto de especificaciones que determinan cómo encapsular FTP en SSL o en TLS para
ofrecer comunicaciones seguras. Existen dos métodos para implementar FTPS, FTPS
Explícito (FTPES) y FTPS Implícito.

o FXP es un protocolo de transferencia de datos directa entre servidores FTP, utilizando un


cliente solo para conectarlos inicialmente.

o TFTP es un protocolo diseñado para ofrecer un servicio de transferencia de ficheros


simple y rápido. Utiliza UDP y no garantizar la integridad de la información transmitida.

o SFTP y SCP son protocolos de transferencia de ficheros basados en SSH. Ofrecen


autenticación, confidencialidad e integridad. Es diferente a FTPS.
TEMA 4 FTP

FTP( File transfer Protocol)


Es un protocolo de la capa de aplicación diseñado para ofrecer un servicio estándar de
transferencia entre diferentes sistemas conectados a redes TCP/IP

CARACTERÍSTICAS
permite a los usuarios:
● Acceder a sistemas remotos y listar directorios y ficheros
● Transferir ficheros desde o hacia el sistema remoto, es decir, subir (upload) o bajar
(download) ficheros.
● Realizar acciones adicionales en el sistema remoto como renombrar, borrar, crear
archivos y carpetas, cambiar permisos, descomprimir, etc

Es un servicio fácil de mantener y configurar para los administradores, ofrece rapidez en la


transferencia de ficheros y abstraer a los usuarios de los detalles de los sistemas operativos
empleados.

COMPONENTES Y FUNCIONAMIENTO
Su funcionamiento se basa en el modelo cliente/servidor y está formado por los siguiente
componentes:
● clientes FTP: Acceden al sistema de ficheros del equipo donde están instalados y
establecen conexiones con los servidores FTP para subir o descargar archivos.
● Servidores FTP: Acceden al sistema de ficheros del equipo donde están instalados,
manejan las conexiones de los clientes y en función de los privilegios definidos
permiten la descarga y/o subida de ficheros.

para conectarse a un servidor ftp ejemplo:


ftp://ftp.rediris.es

SERVIDORES FTP
Es un programa que atiende y procesa las conexiones de los clientes FTP y que puede
acceder al sistema de ficheros del equipo donde esta instalado permitiendo la subida y
bajada de archivos. Ofrecen multiples opcines de configuracon para establecer privilegios
de los usuarios, limitaciones de subida y descarga, tiempos de conexión y espera, etc
(recordar filezilla cuando lo configuramos)

CLIENTES FTP
Programas que acceden al archivo de ficheros del equipo donde están instalados y
establecen conexiones con los servidores FTP para subir o descargar archivos. Ejemplo
filezilla client que usamos

CLIENTES EN LINEAS DE COMANDOS


Dependiendo del sistema operativo pueden variar los comandos a utilizar. Con el comando
help o ? podemos consultar los comandos disponibles.
Si se quiere ejecutar un comando en el equipo local se precede del simbolo ! (hay una
pregunta que nombre algo de eso al final del temario), !ls o !dir muestran un listado del
directorio actual del cliente, con la excepcion del comando cd que en local se usa lcd y no
!cd.
CLIENTES GRAFICOS
más utilizados: Filezilla client, winSCP,Gftp,SmartFTP, cuteFTP

NAVEGADORES / EXPLORADORES

Los navegadores actuales pueden actuar como clientes ftp, para utilizarlos hay que indicarlo
como se indica:

● formato general:ftp://[usuario][:password]@servidor
● ejemplos: ftp://ftp.rediris.es, ftp://alumno@92.68.00.00 (SALE EN UNA
PREGUNTA)
● PARA REALIZAR CONEXIONES CON ANONYMOUS NO HAY QUE INDICAR NI
USUARIO NI CONTRASEÑA.
● Usan el modo activo por defecto.

PROTOCOLO FTP
Determina un conjunto de normas y reglas en función de las cuales dialogan los clientes y
servidores FTP.
Utiliza el TCP como protocolo de transporte
Las respuestas FTP son enviadas por el servidor como consecuencia de la accion
ejecutada al recibir un comando. Se componen de 3 digitos:
● el primero indica si la accion solicitada por el comando fue exitosa o fallida
● el segundo indica a que se refiere la respuesta
● el tercero ofrece informacion más especifica reacionada con el segundo digito

TIPOS DE ACCESO
Los servidores FTP permiten dependiendo de como se configuren dos tipos de acceso
desde los clientes

1)Acceso anonimo:
.) el cliente ftp se conecta al servidor con el usuario especial anonymous y /o ftp .2)de
manera habitual el usuario anonymous solo puede descargar archivos y su
acceso se limita a un directorio del servidor

2)Acceso autorizado:
2.1)el cliente ftp se conecta con un usuario que debe existir en el servidor. Los
usuarios pueden ser locales o virtuales.
2.2)Una vez se ha autenticado, el usuario accede a un directorio del servidor en que
puede estar o no confinado o “enjaulado” (no puede subir a directorios superiores)
2.3)En el servidor se configuran los privilegios que tiene cada usuario (descargar,
subir, borrar, limitacion de espacio, acceso a unos directorios u otros, limitacion de
velocidades, etc)

CONEXIONES Y MODOS
Es un servicio basado exclusivamente en TCP que utiliza varias conexiones y puertos

Conexión de control y conexiones de datos


Conexióndecontrol: Inicialmente el cliente establece una conexión con el servidor para
dialogar con el. con comando de descarga get, subida put, listado ls, etc. Esta conexión
permanece activa hasta que el usuario cierra la sesion o el servidor finalice por inactividad
(timeout). Los servidores pueden atender multiples conexiones de control a la vez, tantas
como se configure en el servidor para evitar su sobrecarga.

conexiones de datos:
cuando el cliente solicita una transferencia de información se crea una nueva conexión de
datos que se cierra al finalizar la transmision, pueden haber tantas transferencias de datos
simultaneas como se configure en el servidor para evitar su sobrecarga.

Por la conexión de control nunca se envian datos y por la conexión de datos nunca se
envian comandos de control.

los servidores FTP usa el puerto 2/TCP para atender conexiones de control y el puerto
20/TCP para las conexiones de datos, pero actualemnte no se usa siempre la 20, sino
puertos mayores a 023 para iniciar o atender conexiones.

Un cliente FTP puede iniciar una conexión a un servidor de dos formas distintas que se
conocen como modo activo y modo pasivo.

MODO ACTIVO
ES EL MODO NATIVO DE FTP,
1. Se incia el cliente y establece una conexión de control
a. abre un puerto local superior al 023
b. establece una conexión TCP con el puerto 2 del servidor.
2. Cuando se solicita una transferencia de ficheros
a. El cliente envia el comando PORT al servidor en el que especifica su
direccion IP y un numero de puerto que abrira para usar en la conexión de
datos
b. el servidor inicia una conexión TCP desde su puerto 20 hacia el puerto que le
ha indicado el cliente (ejemplo el 300)
c. se utiliza la conexión de datos para realizar la transferencia de informacion.

En este modo, es el servidor el que INICIA LA CONEXIÓN DE DATOS Y EL CLIENTE


TIENE QUE ABRIR PUERTOS PARA ATENDER DICHAS CONEXIONES.

Los cortafuegos instalados en el equipo donde esta el cliente FTP o en la red a la que
pertenece evitaran las conexiones a estos puertos superiores al 023 para prevenir
ataques.

Los cortafuegos actales y versiones modernas de NATP implemente FTP ALG (Application
Level Gateway)
Por lo tanto si un NATP implementa un ALG LOS CLIENTES DE LA RED INTERNA
PODRAN INICIAR CONEXIONES FTP UTILIZANDO EL MODO ACTIVO
No todos los cortafuegos / NATP implementan ALG.

MODO PASIVO
En el modo pasivo es siempre el cliente el que inicia las conexiones con el servidor. EL
PUERTO 20 DEL SERVIDOR NO SE UTILIZA.
1. El cliente se inicia y establece una conexión de control
a. abre un puerto superior al 023
b. establece una conexión TCP con el puerto 2 del servidor
c. esto es igual que el modo activo

2. Cuando se solicita una transferencia de ficheros


a. el cliente envía el comando PASV para activar el modo pasivo. Como
respuesta a este comando, el servidor retorna un numero de puerto que
tenga disponible. ejem:4000
b. el cliente incia una conexión TCP abre un puerto local superior al 023 ejem:
300
c. se utiliza la conexión de datos para realizar la transferencia de informacion

EL MODO PASIVO RESUELVE EL PROBLEMA DE QUE EL CLIENTE TENÍA QUE


ACEPTAR CONEXIONES EN PUERTOS MAYORES A 023 PERO LO TRASLADA AL
SERVIDOR.

-La máquina donde se ejecuta el servidor FTP tiene que aceptar conexiones en multiples
puertos y esto es una amenaza para el equipo. LOS CORTAFUEGOS ACTUALES
PERMITEN HACER SEGUIMIENTO A LAS CONEXIONES PASIVAS DE DATOS PARA
COMPROBAR QUE EL CLIENTE QUE SOLICITA LA CONEXIÓN AL PUERTO
ESPECIFICADO POR EL SERVIDOR ES EL CLIENTE AL QUE SE LE INDICO ESE
PUERTO Y POR LO TANTO LA CONEXIÓN SE ESTABLECE PARA EL ENVIO O
RECEPCION DE DATOS.

Si el servidor esta detras de un NATP hay que:


-Configurar en el servidor la ip externa que usa el NATP y un rango de puertos para aceptar
conexiones de datos.
-Redirigir el rango de puertos del encaminador que hace NATP al equipo donde esta el
servidor FTP.

CORTAFUEGOS Y ENCAMINADORES NATP

CLIENTE FTP
Conexión modo activo
● el cortafuegos tiene que permitir conexiones TCP salientes hacia el puerto 2 y
entranten a puertos mayores que el 023 desde el puerto 20
● si el cliente esta detras del cortafuegos de red y/o un encaminador NATP
○ si el NATP no implementa el FTP ALG existiran problemas porque se filtraran
las conexiones TCP iniciadas desde el exterior por los servidores FTP a
puertos mayores que 023 del cliente
○ si el NATP implementa FTP ALG los cliente podran usar el modo activo
porque se permitiran conexiones entrantes a puertos mayores que 023.
Conexión modo pasivo
● los cortafuegos existentes tienen que permitir conexiones TCP salientes hacia el
puerto 2 y hacia puertos mayores que 023.

SERVIDOR FTP

● ACEPTA CONEXIONES EN MODO ACTIVO


○ los cortafegos existentes tienen que permitir conexiones TCP entranstes al
puerto 2 del servidor
○ los cortafuegos existentes tiene que permitir conexiones TCP salientes desde
el puerto 20 del servidor hacia puertos mayores que 023

● ACEPTA CONEXIONES EN MODO PASIVO


○ el cortafuegos tiene que permitir conexiones TCP entrantes hacia el puerto 2
y a puertos mayores que el 023 y es recomendable que el cortafuegos haga
un seguimiento de las conexiones pasivas de datos comprobando que
el cliente que solicita la conexión al puerto especificado es el mismo cliente al
que se le indico ese puerto.
○ si el servidor está detrás de un cortafuegos o encaminador/NATP
■ los cortafuegos deben permitir los conexiones TCP entrantes al
puerto 2
■ hay que redirigir el puerto 2 del NATP al puerto 2 del servidor
■ se debe configurar en el servidor la ip externa del NATP y un rango
de puertos para aceptar conexiones de datos
■ los cortafuegos de red deben permitir las conexiones tcp entrantes
hacia los puertos definidos en el rango
■ hay que redirigir el rango de puertos del NATP al servidor FTP

RESUMEN Y COMPARATIVA DE MODOS

MODO ACTIVO
● conexión control: cliente (>023 ) => Servidor (2)
● conexiones de datos: cliente (>023) <= Servidor (20)
MODO PASIVO
● conexión control: cliente (>023) => Servidor (2)
● conexiones de datos: cliente (>023) => Servidor (>023)

EL MODO ACTIVO facilita la configuración y la administración del servidor FTP pero


presenta problemas de seguridad para los clientes. EL MODO PASIVO favorece al
cliente pero implica una configuración más compleja en el servidor.
TIPOS DE TRANSFERENCIA DE ARCHIVOS
● ASCII Se transmite byte a byte, para archivos de texto (txt, html, java,etc)
● binario: se transmite bit a bit, para archivos que no son de texto, ejemplo:
ejecutables, imagenes, videos

Casi todos los clientes ofrecen modo automatico que detecta el modo de archivo y
establece el tipo de transferencia adecuado

SEGURIDAD

FTP no es un protocolo seguro. Fue diseñado para ofrecer velocidad pero no


seguridad.
● Es vulnerable a ataques de suplantacion de identidad (spoofing)
El intercambio de informacion, incluyendo usuario y password es en texto plano, sin ningun
tipo de cifrado. Es vulnerable a ataques de analisis de trafico de red (sniffing)

FTPS
Es un conjunto de especificaciones que determinan como encapsular FTP en SSL (secure
sockets layer) o en TLS (transport layer security) para ofrecer comunicaciones seguras.
Gracias a la utilizacion de algoritmos criptograficos y certificados digitales se pueden
garantizar la confidencialidad y la integridad de la informacion transmitida, asi como la
autenticidad de los servidores.

Hay dos metodos:


● FTPS implicito
○ el cliente establece una conexión de control y se establece la conexión
SSL/TLS
○ si el servidor no soporta FTPS se cierra la conexión
○ todas las comunicaciones. conexión de control y conexiones de datos, son
cifradas. El cliente y el servidor no negocian
○ para mantener la compatibilidad con los clientes FTP que no soportan
SSL/TLS se utilizan otros puertos para atender las peticiones FTPS (para
control puerto standar 990/TCP y datos el 989/TCP)

● FTP Explicito
○ el cliente establece una conexión de control al puerto 2 y solicita
explicitamente que la comunicacion sea segura con el comando AUTH SSL o
AUTH TTL y si el servidor lo soporta se establece una conexión SSL/TLS
basandose en algoritmos criptograficos y certificados digitales.
○ si el servidor no soporta FTPS le ofrece al cliente la posibilidad de usar FTP
“normal” no seguro
○ el cliente y el servidor pueden negociar que parte de las comunicaciones si
conexiones de control y/o datos seran cifradas.
○ es el metodo más recomendado porque permite mayor control sobre las
comunicaciones
RECORDAR QUE FTPS, SFTP (SSH File Transfer Protocol) y Secure FTP(que es
enviar el protocolo FTP a traves de una conexión SSH) SON DIFERENTES!!!

PROTOCOLO FXP
FXP(File eXchange Protocol) es un protocolo de transferencia de datos directa entre
servidores FTP, utilizando un cliente solo para conectarlos inicialmente, es decir, el ancho
de banda del cliente es solo para conexión inicial y no para la transferencia de ficheros que
se hace directamente de un servidor a otro.

se usa si se quieren migrar ficheros de un servidor FTP a otro ahorrando la descarga


desde un servidor al cliente y subiendolo luego del cliente a otro servidor( TIENE
COMO VENTAJA QUE CONSIGUE MAYOR RAPIDEZ Y MENOS SOBRECARGA DE
RED)

SERVICIO TFTP
TFTP(Trivial File Transfer Protocol) es un protocolo de la capa de aplicacion diseñado
para ofrecer un servicio de trasnferencia de ficheros simple y rapido basado en el modelo
cliente/servidor

al igual que FTP existen clientes TFTP y servidores TFTP

Características Principales
● TFTP utiliza UDP como protocolo de nivel de transporte y usan el puerto 69/UDP
como puerto estándar
● no existen mecanismos de autenticación o cifrado

al usar el protocolo UDP la capa de transporte no garantiza la integridad de la


información transmitida pero la velocidad es mayor que en FTP
se utiliza principalmente en dispositivos de red para hacer copias de seguridad del sistema
operativo, archivos de configuración, aplicaciones, etc.

SERVICIO SFTP/SCP
SSH(Secure shell protocol) es un protocolo de la capa de aplicación diseñado para ofrecer
un servicio de acceso a terminales de equipos remotos. está basado en el modelo
cliente/servidor. Usan el puerto 22/TCP como puerto estándar, ofrece autenticación,
confidencialidad e integridad.

● se autentica a los dos extremos de la conexión


○ el servidor se autentica ante el cliente con una clave
○ el cliente se autentica entre el servidor

● se cifran los datos intercambiados


○ nombres de usuarios y passwords viajan cifrados
○ la información transmitida viaja también cifrada

se basa en los protocolos SFTP (SSH File Transfer Protocol) y SCP (Secure copy Protocol)
● SFTP
○ permite la transferencia de ficheros entre sistemas remotos
○ permite listar ficheros y directorios del servidor
○ permite realizar funciones adicionales en el servidor como renombrar, borrar,
crear archivos y carpetas, cambiar permisos, etc

● SCP
○ permite la copia de ficheros entre sistemas remotos
○ hay clientes SCP graficos que integran funcionalidades adicionales como
listar, borrar, etc. No son clientes scp puros

LOS SERVIDORES SSH atienden peticiones de transferencia de ficheros desde clientes


SFTP y/o SCP, ejemplo openSSH

Existen multiples clientes SFTP/SCP y se pueden clasificar segun el interfaz de usuario que
ofrecen
● Clientes en linea de comandos
○ clientes que se pueden invocar desde la linea de comandos
○ clientes scp y sftp

● clientes graficos
○ la mayoria de los clientes graficos FTP también pueden actuar como clientes
SFTP/SCP

TIPS DE LAS PRACTICAS A TENER EN CUENTA

el fichero de configuracion del servidor en linux para ftp es /etc/vsftpd.conf


el fichero de logs por defecto en linux es /var/log/vsftpd.log

PARA HABILITAR EL ACCESO A USUARIOS ANONYMOUS


anonymous_enable=yes

PARA DESHABILITAR EL ACCESO A LOS USUARIOS LOCALES (directiva


local_enable)
local_enable=NO

NO SE PERMITE SUBIR ARCHIVOS AL SERVIDOR


write_enable=NO

PARA REINICIAR EL SERVIDOR


/etc/init.d/vsftpd stop
/etc/init.d/vsftpd start

PARA QUE LOS USUARIOS LOCALES SEAN ENJAULADOS EN SU DIRECTORIO


HOME
chroot_local_user=YES

Vous aimerez peut-être aussi