martes, 17 de marzo de 2015

PROTOCOLO FTP





Definición

El protocolo FTP (file transfer protocol) es una serie de instrucciones para la transferencia de archivos en internet.

Como funciona


El protocolo FTP está incluido dentro del modelo cliente-servidor, es decir, un equipo envía órdenes (el cliente) y el otro espera solicitudes para llevar acabo las acciones requeridas (servidor)
Durante una conexión FTP se encuentran abiertos dos canales de transmisión

  1. Un canal de comandos (canal de control)
  2. un canal de datos



Por lo tanto, el cliente y el servidor cuentan con dos procesos que permiten la administración de estos dos tipos de información:


  • DTP (proceso de transferencia de datos): es el proceso encargado de establecer la conexión y de administrar el canal de datos
  • PI (intérprete de protocolo): interpreta el protocolo y permite que el dtp pueda ser controlado mediante los comandos recibidos a través del canal de control. Esto es diferente en el cliente y el servidor
Una vez que se establece la conexión, el servidor PI proporciona el puerto por el cuál se enviarán los datos al cliente DTP. El cliente DTP escucha el puerto especificado para los datos provenientes del servidor



  • 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 dos tipos de redes       LAN,MAN, etc) su función es permitir el intercambio de datos entre diferentes                       servidores/ordenadores


  • Cliente FTP


      Un cliente FTP es un programa que se instala en el pc del usuario y que emplea el               protocolo FTP para conectarse a un servidor FTP y transferir archivos, ya sea para               descargarlos o para subirlos.

      Para utilizar un cliente FTP se necesita conocer el nombre de archivo

      Es más confiable a la hora de conectarse con servidores FTP no anónimos utilizar un           programa cliente


  • 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. No se necesita ninguna contraseña preestablecida.



En nuestro propio sitio web podemos crear una zona FTP reservada o no a los usuarios que pueden tener un acceso anónimo o bien condicionado por un usuario y contraseña para realizar la descarga de documentos.

En muchas situaciones empresariales está presente esta posibilidad en los sitios de las empresas para que los diferentes colaboradores puedan descargar materiales directamente desde los sitios de la compañía.

En nuestro pc podemos configurar uns ervicio FTP pero se necesita un pc de gran tamaño y gran capacidad

Podemos transferir archivos mediante un cliente FTP como es por ejemplo Filezilla o mediante un escritorio virtual como es jooce.

         jooce es un sitio que nos permite utilizar un escritorio virtual y un pc que no es el                  nuestro para transferir archivos y hacer que siempre estén disponibles


Permisos



El protocolo FTP se desarrolló en entornos de tipo UNIX similares a los populares 
GNU/Linux. Por eso tenemos los permisos de ejecución, lectura y escritura, estableciéndose tres tipos de usuarios: 

Propietario: Es normalmente la persona que ha creado o que ha subido el archivo al servidor FTP.

  Grupo: Se refiere a un grupo de usuarios al que probablemente pertenece el propietario. 

Otros: Son todos los demás usuarios anónimos o que no pertenecen al grupo indicado.


Estos permisos se establecen como ya vimos en los distintos comandos de linux, mediante el chmod y la combinación pertinente numérica o de caracteres.

Cuotas

Si queremos que los usuarios de nuestro sistema no consuman más recursos de los
disponibles resulta indispensable habilitar un límite de ocupación de espacio en el disco duro.

Esto es lo que se conoce como cuotas de disco.

Los pasos son los siguientes:

* Instalar la característica de control de cuotas

apt-get install quota

* Indicar las particiones en las que aplicaremos las quotas editando /etc/fstab y añadiendo las opciones usrquota, grpquota

# <file system> <mount point> <type> <options> <dump> <pass>

/dev/hda5 /home ext3 defaults, usrquota, grpquota 0 2


* Crearemos los archivos de control de quota y reiniciamos las particiones

touch /home/quota.user /home/quota.group

chmod 600 /home/quota.*

mount -o remount /home

* Editar la quota de los usuarios

Antes de nada deberíais saber que existen dos tipos de cuota:

- Cuotas rígidas: no será posible superar el límite y será negado el acceso.

- Cuotas flexibles: se pueden superar y el usuario sólo recibirá un aviso de

Se nos mostrará una serie de registros con los siguientes campos:

Filesystem (el sistema de archivos en el que se aplica la cuota)

blocks (el número de bloques máximo a ocupar. 0 = ilimitado)

soft (el número de KB máximo a ocupar para cuota flexible. 0 = ilimitado)

hard (el número de KB máximo a ocupar para quota rígida. 0 = ilimitado)

inodes (el número de archivos máximo. 0 = ilimitado)

Formas de conectarse a un servidor FTP

De modo Activo

El cliente se conecta al puerto 21 del servidor desde un puerto superior al 1024 
para enviarse comandos.

El cliente le indica al servidor el puerto por el cual recibirá los datos.
El servidor abre su puerto 20 para realizar la transferencia de datos sobre el cliente en el puerto especificado.

Importante: El servidor siempre emplea el puerto 20 para transmisión de datos.

Problema: El cliente debe aceptar conexiones en puertos superiores a 1024 (se evita con un Firewall).



De modo Pasivo

El cliente emplea un puerto superior al 1024 para conectar con el puerto 21 del servidor FTP y enviarle comandos.

El servidor enviará por ese puerto, el puerto aleatorio que va a emplear para la comunicación de datos (puerto mayor a 1023).

El cliente y el servidor abren el puerto especificado por el servidor y comienzan a transmitir datos.

Aspectos a destacar: El cliente siempre inicia las comunicaciones y nunca se emplea el puerto 20 para transmitir datos.





 

Tiposde transferencia de archivos


Es importante conocer cómo debemos transportar 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 poner la correspondiente opción en un programa con interfaz gráfica):

tipo ASCII

Adecuado para transferir archivos que sólo contengan caracteres imprimibles (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...


Ejemplos de cómo transferir algunos tipos de archivo dependiendo de su extensión:

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

Seguridad en FTP


Por naturaleza, el FTP no es seguro: El nombre de usuario, la contraseña y el resto de credenciales se transmiten por la red en texto sin cifrar.
Del mismo modo, los archivos que se cargan o descargan lo hacen también en texto sin cifrar, por lo que su contenido puede ser visto y utilizado de forma malintencionada. 
Además, cualquier atacante podría suplantar al servidor FTP, en cuyo caso no se podría saber si un determinado servidor FTP es, en efecto, el equipo con el que el usuario intenta comunicarse. 
Por lo tanto, resulta muy arriesgado utilizar el adaptador de FTP para transmitir datos confidenciales a través de una red no segura, a menos que se pueda garantizar la seguridad en las capas de archivo o mensaje mediante cifrado y firmas digitales.

FTPS (FTP/SSL): FTPS Implícito. FTPS Explícito (FTPES)

FTPS (comúnmente referido como FTP/SSL) es un nombre usado para abarcar un número de formas en las cuales el software FTP puede realizar transferencias de ficheros seguras. Cada forma conlleva el uso de una capa SSL/TLS debajo del protocolo estándar FTP para cifrar los canales de control y/o datos. No debería confundirse con el protocolo de transferencia de ficheros SFTP, el cual suele ser usado con SSH.

El uso más común de FTP y SSL es:

AUTH TLS o FTPS Explicito

nombrado por el comando emitido para indicar que la seguridad TLS es obligatoria. Este es el método preferido de acuerdo al RFC que define FTP sobre TLS. El cliente se conecta al puerto 21 del servidor y comienza una sesión FTP sin cifrar de manera tradicional, pero pide que la seguridad TLS sea usada y realiza la negociación apropiada antes de enviar cualquier dato sensible.

AUTH como está definido en RFC 2228.

FTPS Implícito 

es un estilo antiguo, pero todavía ampliamente implementado en el cual el cliente se conecta a un puerto distinto (como por ejemplo 990), y se realiza una negociación SSL antes de que se envíe cualquier comando FTP.


No hay comentarios:

Publicar un comentario

analytics