Salta el contingut

UD6. Servei FTP

Portada FTP

Introducció

Si bé els usuaris d’Internet disposen d’eines com els blocs on, a mode de bitàcola, poden inserir les seves reflexions, notícies o opinions en línia, també tenen la possibilitat d’agrupar un major volum d’informació mitjançant una pàgina web. De fet, davant dels diferents formats que pot tenir la informació a compartir (arxius de so, vídeo, documents en PDF, etc.), hem de disposar de les eines per pujar la informació a la pàgina web. En aquest cas, és el protocol de transferència d’arxius (FTP, file transfer protocol) qui facilita aquestes tasques.

Un procés de càrrega i descàrrega tant es pot realitzar establint una sessió FTP des del navegador, o bé, utilitzant programari especialitzat. Val a dir que, moltes vegades, pel tipus d’arxius emmagatzemats, un cop s’ha establert la connexió, s’ha de proporcionar una identificació i una contrasenya assignada pel responsable del servidor de protocol de transferència d’arxius (FTP, file transfer protocol).

Un cop que s’estableix la seva identitat s’obre un vincle entre l’ordinador client i el servidor. A partir d’aquí les ordres s’envien i s’executen en el servidor i els resultats es retornen al client. Aquesta comunicació permetrà navegar i manipular els diferents arxius continguts dins de l’ordinador servidor.

Un cop s’ha finalitzat la transferència d’arxius, la connexió s’acabarà automàticament. De fet, després de finalitzar la sessió, es pot produir la desconnexió tancant el vincle d’instruccions i finalitzant la sessió.

El Protocol de transferència d'arxius (en anglès File Transfer Protocol o FTP) és un protocol de xarxa per a la transferència d'arxius entre sistemes connectats a una xarxa IP basat en l'arquitectura client-servidor. Des d'un equip client es pot connectar a un servidor per descarregar arxius des d'ell o per enviar-arxius, independentment del sistema operatiu utilitzat en cada equip.

Els objectius de FTP són:

  1. Per promoure l'intercanvi d'arxius (programes i / o dades),
  2. Fomentar indirectament l'ús d'ordinadors remots.
  3. Fer transparent a l'usuari de la variació en els sistemes d'emmagatzematge d'arxius entre els hosts.
  4. Transferir dades de forma fiable i eficient.

FTP, encara que es pot usar directament per un usuari en un terminal, està dissenyat principalment per al seu ús mitjançant programes.

Informació

El protocol de transferència d’arxius s’acostuma a utilitzar per pujar a Internet les pàgines web un cop elaborades i dissenyades perquè puguin estar accessibles per al públic des d’Internet.

Funcionament

Cal recordar...

Un port de xarxa és una interfície utilitzada per comunicar-se amb un programa a través d’una xarxa. Acostumen a estar numerats i una determinada implementació de protocol de transmissió de xarxa (per exemple, TCP o UDP) assigna algun d’aquests números a la informació que envia; per exemple, el programari de correu electrònic utilitza el port 25.

A diferència de la majoria dels protocols utilitzats a Internet, el servei de protocol de transferència d’arxius (FTP, File Transfer Protocol) necessita utilitzar múltiples ports de xarxa per establir les comunicacions i les diferents transferències de dades.

Per defecte, els ports que utilitza un servidor FTP són el 20 i el 21 on, des del punt de vista del servidor, el port 21 (també anomenat port d'ordres) és l’encarregat d’escoltar (o rebre) les ordres provinents del client així com d'iniciar la connexió, mentre que el port 20 és el seleccionat per arrancar la connexió de dades amb el client. Paral·lelament, qualsevol petició de dades des del servidor cap al client es realitza mitjançant el port 20, això és el port de dades.

Ports d'FTP

Arribats a aquest punt, cal destacar que tant el port escollit per a la connexió de dades com la modalitat en què s'inicien les connexions depenen de l'opció que el client seleccione per a la transferència de dades des del servidor d'arxius, això és, una transferència en mode actiu o passiu.

Quan establim una comunicació amb el servidor d'arxius en mode actiu s'estableixen dues connexions diferents on el servidor estableix la connexió des del port 20 a un port aleatori sense privilegis especificat per l'ordinador que actua com a client.

sequenceDiagram
    participant Client as Client
    participant Servidor as Servidor FTP

    Note left of Client: Port de control 1035<br>Port de dades 1036
    Note right of Servidor: Port de control 21<br>Port de dades 20

    Client->>Servidor: 1. Enviar comandament PORT i el port 1036
    Servidor->>Client: 2. Enviar resposta ACK
    Servidor->>Client: 3. Obrir connexió des del port de dades 20 al port 1036
    Client->>Servidor: 4. Enviar resposta ACK
Ara bé, atès que molts usuaris han anat apostant, al llarg dels anys, per la utilització de tallafocs per protegir-se de possibles atacs provinents (o mitjançant) la xarxa d’Internet, va sorgir el mode passiu. Cal destacar que els tallafocs presents en els ordinadors client tendeixen a rebutjar les connexions entrants des dels servidors d’arxius, ja que les interpreten com a processos desconeguts.

En el mode passiu, és l’ordinador client qui inicia la connexió adreçant-se al servidor d’arxius per sol·licitar l’accés a les dades i l’obertura dels ports corresponents per a l’establiment de les connexions de control i dades. En conseqüència, els tallafocs presents en els ordinadors client no detecten cap mena de connexió des de l’exterior que puga ser considerada perillosa.

sequenceDiagram
    participant Client as Client
    participant Servidor as Servidor FTP

    Note left of Client: Port de dades 1036<br>Port de control 1035
    Note right of Servidor: Port de control 21<br>Port de dades 2040<br>Port de dades 20 (no utilitzat)

    Client->>Servidor: 1. Enviar comandament PASV
    Servidor-->>Client: 2. Resposta del servidor amb un port > 1023
    Client->>Servidor: 3. Iniciar connexió de dades des del port 1036 a un port aleatori del servidor
    Servidor->>Client: 4. Enviar comandament ACK
    Client->>Servidor: 5. Tancar la connexió

Tallafocs

Dispositiu configurat per controlar connexions de dades segons una política de seguretat. La tasca bàsica d’un tallafocs (firewalls) -en forma de maquinari o programari- és controlar el trànsit entre xarxes establint diferents nivells de confiança com, per exemple, entre la xarxa d’Internet i una xarxa d’àrea local.

Gestió d'usuaris i permisos

En els serveis FTP podem distingir fins a tres tipus d'usuaris diferents:

  • Usuaris locals: s'empren les credencials dels usuaris del sistema per a accedir.
  • Usuaris genèrics: es connecta amb l'usuari anonymous [anònim] i una clau lliure (sol ser un compte de correu). Permet una connexió com a convidat, amb la que sols es pot accedir a una part del servei.
  • Usuaris virtual: no requereix un compte local del sistema. Es connecta i s'autentica en una base de dades específica que no té connexió amb la resta de serveis del sistema.

Accés anònim

Normalment, si bé, l’establiment de connexions amb servidors d’arxius comporta la necessitat de disposar d’un nom d’usuari i una contrasenya per autoritzar tant la connexió com l’accés a un compte dins del servidor, dins d’Internet hi ha servidors d’arxius que faciliten l’accés de forma anònima.

Els servidors d’arxius anònims acostumen a ser grans “calaixos de sastre” que contenen arxius de programari -normalment, de domini públic o de lliure distribució-, arxius d’imatge, de so i/o de vídeo, etc.

Per últim, tot i que gran part dels servidors d’arxius anònims acostumen a permetre, únicament, la lectura dels arxius emmagatzemats, també n’hi ha que faciliten la possibilitat de deixar arxius dins d’un directori d’entrada (incoming) que, de tant en tant, és revisat per l’administrador del servidor.

Permisos

Atès que el protocol FTP es va desenvolupar en l’entorn de GNU/Linux, hi ha la possibilitat d’atorgar diferents permisos d’execució, lectura i escriptura als arxius i, alhora, establir tres tipus d’usuaris (Propietari, Grup i Altres). Normalment, el Propietari és qui ha creat o ha pujat l’arxiu al servidor. El Grup es refereix a un grup d’usuaris al qual pot pertànyer el propietari i, per últim, els Altres són tots aquells usuaris anònims o que pertanyen al grup indicat.

Quotes

Un servidor de protocol de transferència d’arxius (FTP, file transfer protocol) no és més que un programa que es pot instal·lar i executar en qualsevol ordinador connectat a qualsevol tipus de xarxa per facilitar l’intercanvi de dades entre l’ordinador servidor i els ordinadors client. Ara bé, la utilització d’un ordinador comporta que hi hagi limitacions d’espai.

En conseqüència, amb la finalitat de respectar l’espai per al programari present en l’ordinador i el dels arxius emmagatzemats, dins dels diferents comptes FTP existeix un paràmetre consistent en la quota o l’espai en disc disponible. Per tant, la grandària de tot allò que hi hagi emmagatzemat dins del servidor d’arxius per part d’un compte FTP no pot superar la quota establerta.

Si no definíssim quotes d'espai en un servidor d'arxius, aquest quedaria saturat en un espai de temps breu.

És a dir, podem disposar d’un servidor d’arxius amb diversos comptes definits amb diferents quotes d’espai cadascuna. Per exemple, si disposéssim de dos comptes FTP diferents, podríem establir una quota de 100 MB i una quota de 300 MB, respectivament. En aquest cas, podríem utilitzar ambdós comptes sempre que la grandària dels arxius emmagatzemats en el servidor mitjançant un dels comptes no excedís els 100 MB. En aquest cas, únicament podríem pujar aquests arxius mitjançant el compte amb una quota d’espai de 300 MB i emmagatzemant-los en el seu espai -amb la condició que no superéssim l’espai disponible de 300 Mb.

Límit d'amplada de banda

El límit de l’amplada de banda és la màxima quantitat d’arxius que poden ser transferits entre l’ordinador servidor i els navegadors web dels visitants.

La majoria dels llocs web disposen d’una determinada quantitat d’arxius que, en el moment de ser visitats mitjançant les diferents pàgines web, es descarreguen des del servidor temporalment a l’ordinador mentre l’usuari estigui visitant la pàgina web.

Normalment, aquesta operació es realitza, per primera vegada, quan es visita la pàgina web, ja que és llavors quan els arxius queden emmagatzemats temporalment en els directoris del navegador web. És per aquest motiu que, en el cas d’un lloc web amb un gran nombre de visitants, hi ha una transferència massiva dels arxius temporals del lloc web i, en conseqüència, un alt consum de l’amplada de banda. De fet, això pot comportar que, en els moments de més audiència, l’accés al lloc web pot esdevenir impossible.

En el cas del protocol de transferència d’arxius (FTP, file transfer protocol), la pujada d’arxius molt pesats mitjançant un client FTP pot comportar un alt consum de l’amplada de banda i, en conseqüència, limitar l’accés al lloc web .

Comandaments

Comandament i arguments Acció que realitza
open servidor Inicia una connexió amb un servidor FTP.
close o disconnect Finalitza una connexió FTP sense tancar el programa client.
bye o quit Finalitza una connexió FTP i la sessió de treball amb el programa client.
cd directori Canvia el directori de treball en el servidor.
delete fitxer Esborra un fitxer en el servidor.
mdelete patró Esborra múltiples fitxers basat en un patró que s'aplica al nom.
dir Mostra el contingut del directori en el qual estem en el servidor.
get fitxer Obté un fitxer.
noop Comunica al servidor que el client està en mode de no operació; el servidor usualment respon amb un «ZZZ» i refresca el comptador de temps inactiu de l'usuari.
mget fitxers Obté múltiples fitxers.
hash Activa la impressió de caràcters # a mesura que es transfereixen fitxers, a manera de barra de progrés.
lcd directori Canvia el directori de treball local.
ls Mostra el contingut del directori en el servidor.
prompt Activa/desactiva la confirmació per part de l'usuari de l'execució de comandaments, per exemple, en esborrar múltiples fitxers.
put fitxer Envia un fitxer al directori actiu del servidor.
mput fitxers Envia múltiples fitxers.
pwd Mostra el directori actiu en el servidor.
rename fitxer Canvia el nom d'un fitxer en el servidor.
rmdir directori Elimina un directori en el servidor si aquest directori està buit.
status Mostra l'estat actual de la connexió.
bin o binary Activa el mode de transferència binari.
ascii Activa el mode de transferència en mode text ASCII.
! Permet sortir a la línia de comandaments temporalment sense tallar la connexió. Per tornar, teclejar exit en la línia de comandaments.
? nom del comandament Mostra la informació relativa al comandament.
? o help Mostra una llista dels comandaments disponibles.
append nom del fitxer Continua una descàrrega que s'ha tallat prèviament.
bell Activa/desactiva la reproducció d'un so quan ha acabat qualsevol procés de transferència de fitxers.
glob Activa/desactiva la visualització de noms llargs del nostre PC.
literal Amb aquesta ordre es poden executar comandaments del servidor de forma remota. Per saber els disponibles s'utilitza: literal help.
mkdir Crea el directori indicat de forma remota.
quote Fa la mateixa funció que literal.
send nom del fitxer Envia el fitxer indicat al directori actiu del servidor.
user Per canviar el nostre nom d'usuari i contrasenya sense necessitat de sortir de la sessió FTP.

Transferència en mode text i binari

Des del punt de vista del programari encarregat d’establir sessions de protocol de transferència de fitxers (FTP, file transfer protocol), la importància de considerar l’extensió dels arxius queda justificada per la necessitat d’establir la modalitat d’enviament més adient. Dins del programari de transferència de fitxers, hi ha dues modalitats de transferència, això és, la modalitat ASCII per a l’enviament d’arxius de text o dades, o bé la modalitat binària en el cas dels programes i imatges.

És inevitable reconèixer que la modalitat de transferència binària és, tant per la fiabilitat com per l’optimització del seu codi (únicament, utilitza dos símbols), la més utilitzada en la majoria d’ocasions, ja que, en el procés de transferència, l’arxiu obtingut és exactament igual a l’original. Ara bé, si aquesta modalitat s’aplica a l’hora d’enviar arxius de text, hi ha la possibilitat que sorgeixin petits errors -principalment, en els salts de línia presents dins de l’arxiu- quan la transferència es realitza entre dos ordinadors amb diferents sistemes operatius.

T06-NEV01 - Exercicis teoria
  1. Quina funció té el servei FTP.
  2. Quines característiques té el servei FTP: Ports, protocols, modes, etc.
  3. Realitza un esquema del funcionament del FTP Passiu. Explica’l. Per què va sorgir aquest mode de funcionament.
  4. Tipus d’usuaris FTP. Explica las característiques de cadascun d’ells. Utilitats.
  5. Explica els següents comandaments FTP: open, user, dir, get, put.

Presentació

Presentació