Instal·lació i administració de servidors de transferència de fitxers

Les aplicacions de transferència de fitxers van ser una de les primeres eines en desenvolupar-se en l’expansió de les xarxes d’internet. La necessitat de poder accedir a diferents sistemes i intercanviar informació va originar un dels sistemes que actualment es fan servir.

Actualment hi ha diferents formes d’intercanvi d’informació de forma distribuïda en format fitxer:

  • Sistemes de fitxers en xarxes
  • Programari de missatgeria
  • Programari de distribucions de fitxers P2P (peer-to-peer)

P2P

El P2P és un concepte de xarxes de computadors referent a la transmissió entre dos equips dins la xarxa. Concepte aplicat en les aplicacions com Napster, eMule, Bittorrent, en la transmissió de fitxers en les xarxes d’internet entre clients.

Windows 10 fa servir tecnologia P2P per realitzar la distribució de les actualitzacions del sistema operatiu dins d’una xarxa local.

L’FTP (file transfer protocol) o protocol de transferència de fitxers és un protocol que proporciona el servei de transferència de fitxers entre sistemes de diferent naturalesa, és a dir, es poden interconectar clients de Linux cap a un sistema de Microsoft o d’altres.

La implementació de l’FTP es remunta a l’any 1971, quan es va desenvolupar un sistema de transferència de fitxers, definit dins la RFC (request for comments) 141, entre equips de l’Institut Tecnològic de Massachusets (MIT, Massachusetts Institute of Technology). Durant els anys posteriors es van fer diferents innovacions al protocol bàsic, que es van incloure l’any 1973.

Per obtenir més informació sobre l’especificació del protocol FTP en la RFC 959, aneu a la secció “Annexos” del web d’aquest mòdul.

El protocol FTP, tal com es coneix actualment com a estàndard, s’especifica dins la RFC 959 l’any 1985 i defineix el funcionament del protocol. Posteriorment, el protocol FTP s’ha anat revisant amb algunes noves característiques, però la seva base de funcionament ha estat mantinguda.

RFC

Els request for comments o documents RFC són una sèrie de publicacions que descriuen diversos aspectes del funcionament d’internet, xarxes de computadors, protocols i procediments. La seva creació, per part de Steve Crocker l’any 1969, estava destinada al registre dels dissenys del grup de treball de xarxa per a ARPANET. El registre s’efectua basat en un esquema per realitzar el contingut i usant text en format ASCII (American Standard Code for Information Interchange).

Protocol d'internet

Conjunt de regles de comunicació de xarxa en què es basa internet i que, a més, faciliten l’intercanvi de dades entre ordinadors connectats a la xarxa.

El protocol FTP es basa en l’arquitectura client/servidor i fa ús del protocol de control de transport, TCP (transport control protocol) per realitzar el canal de transmissió entre el client i el servidor, amb la garantia que la informació que s’envia o es llegeix arribarà al seu destí.

TCP

El TCP (transmission control protocol) és un protocol de control de transmissió dissenyat l’any 1973 i 1974 per Vint Cerf i Robert Kahn que es defineix dins la capa de transport en la pila de protocols TCP/IP. Les especificacions es troben dins la RFC 793 i la RFC 1323.

Es fan servir dos canals de comunicació dins del protocol FTP, el canal de control i el canal de dades:

  • El canal de control envia totes les ordres de comunicació, com poden ser iniciar la sessió de treball i ordres d’execució com llegir, escriure, llistar, esborrar, etc.
  • El canal de dades envia el contingut d’aquells fitxers a treballar, que pot ser tant per llegir el contingut del fitxer com per fer l’escriptura del fitxer.

Tant el client com el servidor gestionen dos processos:

No confongueu les sigles IP (intèrpret de protocol) amb l’Internet Protocol.

  • PTD (procés de transferència de dades): és l’encarregat d’establir la connexió i administrar el canal de dades. Tant el client com el servidor tenen el seu propi PTD.
  • IP (intèrpret del protocol): interpreta el protocol i permet que el PTD pugui ser controlat mitjançant ordres rebudes pel canal de control.

L’IP és diferent en el client i servidor, cadascú s’encarrega d’unes funciones específiques. A la figura podeu observar l’estructura de funcionament.

Figura Gràfic del funcionament del client i servidor FTP juntament amb el procés IP i PTD

L’IP del servidor:

  • Escolta les ordres que provenen de l’IP de l’usuari mitjançant el canal de control per un port de dades.
  • Estableix la connexió del canal de control.
  • Rep les ordres FTP de l’IP de l’usuari, les respon i executa al PTD del servidor.

L’IP del client:

  • És el responsable d’establir la connexió amb el servidor FTP.
  • Envia ordres FTP.
  • Rep les respostes del servidor IP.
  • Controla el PTD de l’usuari.

Quan un client connecta al servidor FTP, l’IP de l’usuari inicia la connexió amb el servidor amb el protocol Telnet (RFC 854).

Telnet

Telnet és un protocol que permet connectar-se a sistemes remots anomenats hosts fent servir la xarxa TCP/IP (xarxes LAN o internet). Mitjançant un programa anomenat client de Telnet, es pot fer una connexió a un servidor Telnet remot.

Una vegada iniciada la comunicació amb el servidor Telnet, s’obté un terminal virtual que permet la comunicació amb el servidor Telnet o host remot.

Per poder accedir a un host remot es necessita un usuari i una contrasenya que ha de ser dins del sistema remot.

L’especificació del protocol Telnet es troba dins la RFC 854.

El client envia ordres FTP al servidor, el servidor les interpreta, executa el PTD i respon amb un format estàndard. Una vegada establerta la connexió, l’IP del servidor proporciona el port pel qual s’enviaran les dades al PTD del client, per on escoltarà i rebrà les dades del servidor. El sistema d’emmagatzematge dels fitxers dependrà del sistema on sigui i el seu sistema de fitxers. Per exemple, sistemes de fitxers ext4 per a Unix o NTFS per a Microsoft Windows.

NVT-ASCII

Sistema estàndard definit dins del sistema Telnet per a l’enviament d’ordres i dades fent servir el sistema de codificació de caràcters ASCII.

Tota la comunicació que es fa en el canal de control segueix les recomanacions del protocol Telnet. Les ordres FTP són cadenes de caràcters Telnet amb format NVT-ASCII (Network Virtual Terminal-American Standard Code for Information Interchange) per on s’envien les ordres de l’FTP.

Les ordres FTP permeten especificar:

  • El port que es farà servir.
  • El mètode de transferència de dades.
  • L’estructura de dades.
  • L’acció que es durà a terme (llegir, eliminar, llistar, emmagatzemar, etc.).

Hi ha tres distribucions d’ordres FTP:

  • Ordres de control d’accés: especifiquen els identificadors del control d’accés. La majoria d’aquests controlen qui accedeix al servidor FTP i quins privilegis tindrà l’usuari.
  • Ordres de paràmetres de transferència: tenen un valor per defecte del servidor FTP, i només es fa ús d’aquests paràmetres si han estat modificades.
  • Ordres de servei FTP: són les ordres més usades. Defineixen la transferència de fitxers i la navegació dels directoris remots per a l’usuari. L’argument principal de les ordres de servei sol ser el nom d’un directori. Totes les dades que s’envien per a una ordre de servei sempre s’envien pel canal de dades.

Configuració del servei de transferència de fitxers. Permisos i quotes

Actualment hi ha moltes aplicacions que implementen el protocol FTP tant per la banda del client com per la del servidor. D’aquestes implementacions del protocol FTP n’hi ha de font pública i que es poden baixar gratuïtament en sistemes propietaris o lliures. La decisió d’una aplicació o una altra que implementi el protocol FTP ve donada per les possibilitats que ofereix i el sistema de treball on s’exerceix la feina. En el cas del desplegament d’aplicacions web, qualsevol servidor o client FTP s’ajusta a les necessitats del desplegament web.

Per defecte la majoria de sistemes operatius porten un client FTP gràfic o terminal, per poder accedir remotament als servidors externs.

Configuració del servei de transferència de fitxers

En aquesta unitat fareu servir el servidor FTP anomenat ProFTPD (short for PRO FTP Daemon). ProFTPD és un servidor FTP amb llicència GPL (general public license) per a Linux que permet fer una customització del seu funcionament depenent de les necessitats de configuració de l’entorn de treball per part de l’administrador.

Les característiques principals d’aquest programari són:

Per a més detall del funcionament del servei Apache Web server, dirigiu-vos al punt 2.2. d’aquesta unitat, “Configuració avançada del servidor web”.

  • El seu sistema de configuració es basa en un fitxer de configuració amb directrius intuïtives molt semblants a les que podeu haver fet en les configuracions dins del servidor Apache Web Server.
  • Permet la configuració de servidors virtuals.
  • Permet l’execució del servei com a servidor independent (standalone) o inetd.
  • Permet mantenir l’arrel del directori anònim.
  • El codi font està disponible per als desenvolupadors.
  • Permet amagar els fitxers i directoris, basant-se en els permisos que fa servir Linux.

Dimonis 'standalone' i 'inetd'

El dimoni standalone escolta les peticions del servei i llança diferents processos per tractar-les. Es fa servir per a trànsits elevats de dades i usuaris. El servei sempre està actiu.

El dimoni inetd escolta les peticions del servei dels ports. Si detecta comunicació en el port configurat, inicia el servei passant-li la connexió. Es fa servir en situacions de poc trànsit.

Hi ha una gran varietat de ProFTPD en distribucions basades en Unix excepte plataformes Microsoft, encara que és possible que es pugui executar gràcies a l’acord Ubuntu Microsoft, que permet executar el Terminal Bash al sistema Windows 10 des de l’any 2016, amb el programa desenvolupador.

Configuració de ProFTPD

El sistema on es fa la instal·lació i configuració està basat en un sistema Debian (Ubuntu o Lubuntu). El conjunt d’instruccions d’instal·lació o configuració mitjançant ordres de sistema en són dependents (si anem a un sistema REDHAT, CENTOS, etc., haureu de mirar el procediment d’instal·lació i les ordres específiques del sistema).

La configuració interna és independent del sistema operatiu usat, qualsevol configuració que feu durant aquests apartats és compatible amb altres sistemes operatius basats en Unix.

Per iniciar el procés d’instal·lació de ProFTPD, primer de tot obriu un terminal i executeu l’ordre d’actualització dels repositoris d’Ubuntu:

  1. sudo apt-get update

APT

APT (Advanced Package Tool) és un programari gratuït dins de Debian que funciona amb les llibreries del nucli, per tractar les instal·lacions, configuracions i eliminar programari.

APT permet de forma fàcil agafar la versió més nova d’un paquet d’instal·lació referent a un programari i aplicar les configuracions necessàries depenent de la versió del sistema.

  1. sudo apt-get install proftpd

Una vegada accepteu la instal·lació, el procés APT instal·la proFTPD i us fa escollir entre dues opcions referents a la modalitat d’inici del servei.

A la figura podeu veure la finestra amb les dues opcions. Per defecte, escolliu proFTPD com a procés indepenent (standalone).

Figura Opcions de modalitat d’inici de servei

El fitxer /etc/shadow conté els noms dels usuaris del sistema on treballeu.

Una vegada finalitzada la instal·lació, procediu a verificar el resultat d’executar unes ordres. Executeu l’ordre següent:

  1. sudo cat /etc/shadow

L’ordre que acabeu d’executar llista tots els usuaris del sistema on treballeu. Si us hi fixeu bé trobareu una línia anomenada ftp i proftpd. Aquestes línies fan referència a dos usuaris que ha creat el procés de configuració inicial de proFTPD. Els usuaris ftp i proftpd són usuaris d’accés per realitzar accessos anònims.

Podeu comprovar el mateix resultat amb les ordres següents:

  1. sudo cat /etc/shadow | grep proftpd
  2. sudo cat /etc/shadow | grep ftp

O amb una ordre única:

  1. sudo cat /etc/shadow | grep -E "proftpd|ftp"

Vegeu el resultat d’aquesta ordre dins la :figura.

Figura Usuaris ProFTPD i FTP dins de /etc/shadow

A continuació comproveu l’estat dels processos realitzats amb ProFTPD:

  1. sudo ps -ef | grep proftpd

Us sortirà la següent sortida per terminal:

  1. root@IOC:/etc/proftpd# ps -ef | grep proftpd
  2. proftpd 35075 1 0 10:01 ? 00:00:00 proftpd: (accepting connections)
  3. root 36023 11190 0 11:18 pts/1 00:00:00 grep --color=auto proftpd

Veureu que hi ha un procés anomenat proftpd i que està acceptant les connexions. A continuació, executeu l’ordre:

  1. sudo netstat -ltn

Aquesta ordre us mostrarà aquells processos que estan escoltant el port 21 (port del servei FTP).

Per a més detall, vegeu l’apartat 3.7.1 “Mode FTP actiu”.

La línia que us interesa reconeixer és l’última, ja que confirma que hi ha un procés que està escoltant el port 21, que és el que es fa servir dins del protocol FTP.

  1. root@IOC:/etc/proftpd# netstat -ltn
  2. Conexiones activas de Internet (solo servidores)
  3. Proto Recib Enviad Dirección local Dirección remota Estado
  4. tcp 0 0 0.0.0.0:10000 0.0.0.0:* ESCUCHAR
  5. tcp 0 0 127.0.1.1:53 0.0.0.0:* ESCUCHAR
  6. tcp6 0 0 :::80 :::* ESCUCHAR
  7. tcp6 0 0 :::21 :::* ESCUCHAR

Una vegada heu verificat els processos i els ports de proFTPD, la configuració del servei FTP es realitzarà mitjançant un fitxer de text pla, tal com se sol fer amb molts serveis d’Unix, com per exemple Apache Web Server.

El directori on es troben les configuracions són dins de /etc/proftpd/ i el fitxer de configuració principal és el fitxer proftpd.conf.

Editar el fitxer original pot comportar haver de modificar el fitxer i perdre les dades inicials de configuració. Sempre és bo fer una còpia de seguretat del fitxer. Amb l’ordre cp (per copiar fitxers) o navegant al directori /usr/share/proftpd/templates/ teniu les còpies dels fitxers originals, en cas de voler recuperar les configuracions inicials.

Navegueu fins al directori de configuracions de ProFTPD /etc/proftp i executeu:

  1. ls -l

Amb aquesta ordre llistareu tot el contingut del directori, amb el resultat següent:

  1. root@IOC:/etc/proftpd# ls -l
  2. total 1324
  3. -rw-r--r-- 1 root root 1310700 abr 5 2016 blacklist.dat
  4. drwxr-xr-x 2 root root 4096 abr 5 2016 conf.d
  5. -rw-r--r-- 1 root root 9420 abr 5 2016 dhparams.pem
  6. -rw-r--r-- 1 root root 701 ene 31 16:26 ldap.conf
  7. -rw-r--r-- 1 root root 2882 ene 31 17:54 modules.conf
  8. -rw-r--r-- 1 root root 5356 ene 31 17:29 proftpd.conf
  9. -rw-r--r-- 1 root root 862 ene 31 16:26 sql.conf
  10. -rw-r--r-- 1 root root 2082 ene 31 16:26 tls.conf
  11. -rw-r--r-- 1 root root 832 ene 31 16:26 virtuals.conf

LDAP

Servei de directori organitzat que emmagatzema dades per ser consultades en un entorn de xarxes. Per a més informació, cerqueu a internet o dirigiu-vos l’apartat d’aquesta unitat “Servidors web i d’aplicacions”.

Com podeu veure, el contingut del directori /etc/proftpd conté diferents fitxers, inclòs el proftpd.conf. Els fitxers que hi ha dins fan refèrencia a fitxers de configuracions de modularitats que amplien la capacitat de ProFTPD, com poden ser vinculacions de dades amb SQL, configuracions de seguretat per xifrar la informació, creació de servidors virtuals, vinculació amb el servei de directori LDAP (Lightweight Directory Access Protocol), etc.

Inicieu l’edició del fitxer proftd.conf. Dins del directori feu:

  1. sudo nano proftpd.conf

En les següents ordres dins d’aquest apartat es fa servir l’editor de text Nano, però podeu editar els fitxers de configuracions amb diferents editors dins del terminal o gràfics.

Abans de detallar configuracions, fixeu-vos en el fitxer proftpd.conf. Moltes de les línies del fitxer de configuracó estan iniciades amb el caràcter # (hashtag o etiqueta). El caràcter # es fa servir en múltiples configuracions de serveis del sistema i permet comentar línies de configuració i fer comentaris. L’intèrpret de l’aplicació no els executarà.

Com podeu comprovar, el fitxer de configuració proftpd.conf és bastant extens. Tot seguit es detallen les opcions de configuració més rellevants.

ProFTPD té una gran extensió de directives i per la seva extensió no es pot detallar tot.

Dins de la configuració inicial, les directives més importants són:

  • Servername: defineix el nom del servidor que mostrarà, en aquest cas “Debian”. Podeu cambiar el nom per un que identifiqui el nostre servei.
  • TimeoutIdle: defineix el temps que un usuari pot estar connectat sense fer cap acció.
  • TimeoutStalled: defineix el temps que una connexió de dades pot estar aturada.
  • DisplayLogin: defineix el fitxer de text on es mostrarà el missatge de benvinguda.
  • DisplayChdir: defineix el fitxer de missatge que es mostrarà a cada canvi de navegació de directori.
  • ListOptions: defineix l’ordre ”-l” per a llistar els directoris.
  • DefaultRoot: encapsula els usuaris en els directoris home de cada usuari.
  • RequireValidShell: si el valor és on obliga que els usuaris de sistema tinguin definit un shell vàlid a la seva configuració.
  • Port: defineix el número de port que es farà servir per a les connexions de control, per defecte el 21.
  • Umask: màscara de permisos que tindrà per defecte.
  • AllowOverWrite: permet sobreescriure el fitxer si el valor està a \on\.
  • QuotaEngine: permet activar el motor de quotes del servidor FTP.

Aquestes directives estan actives sense el símbol tag i funcionen per defecte en el servidor.

Vegeu a “Annexos” les directives ProFTPD, per a més detall de les directives FTP.

Les següents directives amb el símbol tag:

Per ampliar la teoria, vegeu l’apartat “Protocol de transferència de fitxers segur”.

  • #Include /etc/proftpd/virtuals.conf: fitxer on s’habilitaran les configuracions de servidors virtuals alternatius que es poden configurar.
  • #Anonymous: habilita el servidor anònim.
  • #Include /etc/proftpd/tls.conf: fitxer on es configurarà el servidor per suportar connexions segures.
  • #Directory: configura un directori específic amb una configuració específica, com pot ser habilitar accés als usuaris, permetre llegir, escriure, llistar, etc.

Permisos

Dins d’un servei FTP, un dels passos importants és el de concedir permisos determinats per controlar l’accés al servidor o als diferents directoris.

Dins de ProFTPD la directiva <LIMIT> permet fer les configuracions de permisos dins del servidor FTP.

La directiva <LIMIT> la podem configurar dins de les directives. Dins de la configuració general del servidor:

  • <VirtualHost>
  • <Directory>
  • <Anonymous>
  • <Global>

Vegeu a “Annexos” les ordres i permisos de ProFTPD per a més detall dels permisos FTP.

I els permisos generals que podem configurar són:

  • ALL (tots els permisos excepte de LOGIN).
  • DIRS (inclou CDUP, CWD, LIST, MDTM, MLSD, MLST, NLST, PWD, RNFR, STAT, XCUP, XCWD, XPWD)
  • LOGIN (accés d’usuaris)
  • READ (inclou RETR, SIZE)
  • WRITE (inclou APPE, DELE, MKD, RMD, RNTO, STOR, STOU, XMKD, XRMD)

Vigileu quan gestioneu permisos de directoris de sistema amb CHMOD. Reviseu pertinences de grups i permisos dels usuaris. Una màscara 770 ens donarà permís total (escriptura, lectura i execució) a propietaris i al grup, la 774 permet la lectura a la resta d’usuaris i la 777 donaria permisos a tothom, eviteu fer servir aquest últim. El principal receptor de la gestió d’aquests permisos és la directiva <Directory>.

Aquestes paraules clau (ALL, DIRS, LOGIN, READ, WRITE) permeten configuracions generals, però podem també configurar permisos específics que estan englobats dins les generals.

Altres directives útils que podeu fer servir dins de <LIMIT> són:

  • AllowUser nomUsuari: dona el permís a un usuari específic.
  • DenyUser nomUsuari: denega el permís a un usuarui específic.
  • AllowAll: dona el permís a tots els usuaris.
  • DenyAll: denega el permís a tots els usuaris.

Vegeu alguns exemples de configuracions, que poden anar dins del fitxer proftpd.conf:

  1. #permet entrar al servidor FTP a l'usuari 1 i 2 i denegar l'accés a la resta
  2. <LIMIT LOGIN>
  3. AllowUser usuari1
  4. AllowUser usuari2
  5. DenyAll
  6. </LIMIT>
  7.  
  8. #modifiquem els permisos del directori /var/ftp/dades
  9. <Directory /var/ftp/dades>
  10. #es dona permisos de lectura a l'usuari 1 i 2 i es nega la lectura de fitxers a la resta
  11. <LIMIT READ>
  12. AllowUser usuari1
  13. AllowUser usuari2
  14. DenyAll
  15. </LIMIT>
  16. #es dona permisos d'escriptura a l'usuari 1, es nega l'escriptura de fitxers a l'usuari 2 i a la resta d'usuaris
  17. <LIMIT WRITE>
  18. AllowUser usuari1
  19. DenyAll
  20. </LIMIT>
  21. </Directory>

Sempre que vulgueu configurar els permisos d’un directori de ProFTPD necessitareu crear la directiva <Directory> i indicar la configuració dels permisos que vulgueu editar.

Quotes

ProFTPD permet configurar quotes d’espai diferenciant entre quotes generals del servidor, quotes vinculades a usuaris o grups de treball.

Les quotes generals del servidor permeten configurar:

  • Restringir la velocitat de pujada i de descàrrega dins del servidor FTP.
  • Restringir el màxim d’espai d’emmagatzematge d’un fitxer al servidor FTP.
  • Restringir el màxim de la mida del fitxer que podem descarregar del servidor.

Les quotes d’usuari o grups de treball permeten:

  • Restringir la velocitat de pujada i de descàrrega de l’usuari o el grup de treball.
  • Restringir el màxim d’espai d’emmagatzematge d’un fitxer per part de l’usuari o del grup de treball.
  • Restringir el màxim de la mida del fitxer que pot descarregar l’usuari o el grup de treball.
  • Restringir d’espai propi per emmagatzemar dades en el directori de configuració de l’usuari o del grup de treball.

Quotes generals del servidor ProFTPD

Per realitzar la configuració i limitar les quotes generals a tots els usuaris, cal afegir les directives.

Per configurar el màxim de fitxer d’emmagatzematge dins del servidor FTP:

  1. #Unitats amb case-insensitive "Gb" (Gigabytes), "Mb" (Megabytes), "Kb" (Kilobytes), o "B" (bytes)
  2. MaxStoreFileSize 20 Mb

Per configurar el màxim de descàrrega d’un fitxer del servidor FTP:

#Unitats amb case-insensitive "Gb" (Gigabytes), "Mb" (Megabytes), "Kb" (Kilobytes), o "B" (bytes)
MaxRetrieveFileSize 		20 Mb

Quotes d'usuari o grups de treball a ProFTPD

ProFTPD fa servir dos tipus de configuracions de quotes dins de dos fitxers:

  • limit: per fixar els màxims de descàrrega, pujada, ràtios, etc.
  • tally: per portar el compte de la quantitat fins al moment.

Per realitzar les quotes d’usuari, cal fer servir les ordres de terminal que implementa ProFTPD per configurar les quotes.

Per crear el fitxer limit i tally, feu el següent dins del terminal Linux i dins del directori de treball on s’emmagatzemaran els fitxers:

  1. cd /etc/proftpd
  2. mkdir /etc/proftpd/quotes
  3. cd /etc/proftpd/quotes
  4. ftpquota --create-table --type=limit
  5. ftpquota --create-table --type=tally

Aquestes ordres donen com a resultat els fitxers següents:

  1. ftpquota.limittab
  2. ftpquota.tallytab

Dins del fitxer de proftpd.conf afegiu les següents línies dins del servidor principal o, si esteu configurant un servidor virtual:

  1. <IfModule mod_quotatab_file.c>
  2. QuotaEngine on
  3. #mostrar a l'usuari les unitats de la quota "b"|"Kb"|"Mb"|"Gb"
  4. QuotaDisplayUnits Mb
  5. # Permet fer l'ordre quote SITE QUOTA
  6. QuotaShowQuotas on
  7. QuotaLog /var/log/proftpd/quota.log
  8. QuotaLimitTable file:/etc/proftpd/quotes/ftpquota.limittab
  9. QuotaTallyTable file:/etc/proftpd/quotes/ftpquota.tallytab
  10. </IfModule>

La instrucció <IfModule mod_quotab_file.c> permet que s’executi el conjunt de configuracions que hi ha dins d’aquesta etiqueta, sempre que el mod_quotab_file.c estigui habilitat.

Detall de les directives:

  • QuotaEngine: permet iniciar el sistema de quotes amb el valor on.
  • QuotaDisplayUnits unitat: permet mostrar l’estat de la quota en la unitat d’emmagatzematge que especifiquem, “b”|”Kb”|”Mb”|”Gb”.
  • QuotaShowQuotas: habilitem l’ordre SITE QUOTA dins d’FTP. Permet mostrar l’estat de la quota i habilitar amb el valor on.
  • QuotaLog: permet configurar el directori de registres de Log.
  • QuotaLimitTable i QuotaTallyTable: especifica on es troben els fitxers de quota creats amb les ordres ftpquota.

Una vegada creats els fitxers de quotes i afegida la configuració bàsica al fitxer proftpd.conf, executeu les ordres per crear la quota a un usuari específic.

Executeu l’ordre següent a tants usuaris o grups com s’hagin de configurar:

  1. ftpquota --add-record --type=limit --name=nomUsuari --quota-type=user --units=B --bytes-download=15728640

Per a més detall de l’ordre ftpquota i les opcions de quotes adreceu-vos a les configuracions de quotes a ProFTPD dels annexos.

El detall de l’ordre:

  • –add-record: afegeix un registre al fitxer de quotes que s’espicificarà.
  • –type: especifica a quin fitxer anirà el registre, fitxer limit o tally.
  • –name: especifica el nom de l’usuari o grup a qui és aplicable la quota.
  • –quota-type: especifica si la quota és per usuari o grup, user o group.
  • –units: unitats que es faran servir per calcular les unitats d’emmagatzematge i processament de dades, “B” o “byte”, “Kb” o “kilo”, “Mb” o “mega”, i “Gb” o “giga”. Per defecte, fa servir “byte” si no es fa servir la directiva units.
  • –bytes-download: especifica el nombre màxim de bytes que s’han de descarregar de la quota en unitats d’emmagatzematge bytes.

Un cop finalitzada la configuració de quotes, en podeu veure l’estat tant per a les quotes límit com per a les quotes tally, amb:

  1. ftpquota --show-records --type=limit
  2. ftpquota --show-records --type=tally

Per eliminar les quotes dels fitxers limit o tally feu:

  1. ftpquota --delete-record --type=limit --name=usuari --quota-type=user

El detall de l’ordre:

  • –delete-record: elimina el registre del fitxer limit o tally.
  • –type: especifica a quin fitxer eliminarà el registre, fitxer limit o tally.
  • –name: especifica el nom de l’usuari o grup a qui és aplicable la quota.
  • –quota-type: especifica si la quota és per usuari o grup, user o group.

Per actualitzar les quotes del fitxer limit o tally feu:

  1. ftpquota --update-record --type=limit --name=usuari --quota-type=user --bytes-download=100 --files-download=1 --units=B

El detall de l’ordre:

  • –update-record : actualitza el registre del fitxer limit o tally amb les configuracions noves.
  • –type: especifica a quin fitxer actualitzarà el registre, fitxer limit o tally.
  • –name: especifica el nom de l’usuari o grup a qui és aplicable la quota.
  • –quota-type: especifica si la quota és per usuari o grup, user o group.
  • –bytes-download: especifica el nombre màxim de bytes que s’han de descarregar de la quota en unitats d’emmagatzematge bytes.
  • –files-download: especifica el nombre de fitxers que es poden descarregar del servidor.
  • –units: unitats que es faran servir per calcular les unitats d’emmagatzematge i processament de dades (B o byte, Kb o quilo, Mb o mega i Gb o giga. Per defecte fa servir byte si no es fa servir la directiva units.

Tipus d’usuaris i accessos al servei

Hi ha dos tipus d’usuaris dins del servei FTP:

  • Usuari del sistema: usuari propi del sistema on hi ha el servei FTP i que accedeix al seu directori personal.
  • Usuari anònim: usuari que no té contrasenya de validació i d’accés públic al servei.

D’aquest tipus d’usuaris podem especificar-ne un tercer que deriva dels usuaris de sistema, anomenats usuaris virtuals. La diferència ve donada perquè aquests no són dependents del sistema sinó del servidor FTP directament.

Els permisos es poden configurar per usuari i per grups de treball. Dirigiu-vos a l’apartat “Permisos” per a més detall.

Tots els usuaris que tenen accés al servei FTP, com a administradors del servei, habilitareu permisos per poder manipular els fitxers i directoris del servei. Aquests permisos poden ser lectura, escriptura, llistar, eliminar, etc. Són els que permeten treballar amb els directoris d’accés realitzats a la configuració del servei i els que permet la definició del protocol.

Dins dels tipus d’usuaris diferenciarem també els tipus d’accessos al servei.

Accés anònim.

Els servidors poden oferir servei lliurement a tots els usuaris, accedir sense tenir un identificador d’usuari, llegir i navegar pel contingut dels directoris lliurement, indiferentment de qui hi accedeix i del lloc on ho fa.

L’accés anònim és una forma còmoda de permetre que tots els clients tinguin accés a certa informació sense que l’administrador del servei hagi de controlar els comptes d’usuaris.

La informació que es treballa per a l’accés anònim és de caràcter públic i es poden llegir els continguts dels directoris però no eliminar-los ni modificar-los. Normalment, el contingut sol ser programari de domini públic o de lliure distribució, imatges, so, vídeos, etc.

Accés anònim

Exemples de servidors públics amb accés anònim: ftp://ftp.rediris.es i ftp://cdimage.ubuntu.com.

El requisit per accedir per accés anònim és mitjançant un nom predefinit que existeix en el servei FTP i que ha d’estar configurat prèviament.

Aquest usuari que permet l’accés anònim es diu anonymous. Quan es valida la connexió, el nom de l’usuari que posem és anonymous, i sense contrasenya (encara que demani una contrasenya, no és necessari escriure res o, si ho demana obligatòriament, podeu posar qualsevol correu electrònic com a contrasenya vàlida).

L’accés anònim és un tipus d’accés que és inviable en el cas del desplegament web, on el control d’accés dels usuaris és important, ja que és de caràcter privat, confidencial i depèn també la nostra aplicació web. Permetre un accés al directori arrel de l’aplicació web amb un accés anònim mitjançant FTP és una falta greu de seguretat i amb conseqüències desastroses.

Accés per usuari identificat

Es dona en els casos de la necessitat de privilegis i la informació amb la qual es treballa és d’indole privada. S’ha d’accedir al servei mitjançant usuaris identificats dins de l’FTP, anomenats comptes.

Els comptes d’usuari poden ser:

  • Usuari de sistema: usuari definit dins del sistema on s’ofereix el servei.
  • Usuari virtual: no té una relació directa amb el sistema.

Tots aquests usuaris tindran configurat una sèrie de permisos depenent de la implicació que tinguin els usuaris, per exemple dins del projecte web. Us poden interessar usuaris que només puguin llegir la informació del projecte i d’altres que puguin actualitzar els fitxers, tot això gestionant la jerarquia de l’equip del projecte que està fent l’aplicació web.

Creació d’usuaris a ProFTPD

Hi ha dos tipus d’usuari que es poden crear per accedir a ProFTPD:

  • Usuari de sistema, creat dins de /etc/shadow (fitxers d’usuaris) i /etc/passwd (fitxer de configuració de l’usuari) i grups a /etc/group.
  • Usuari virtual, fitxer per a ProFTPD amb usuari no dependent del sistema.

Usuari de sistema a ProFTPD

Per crear usuaris de sistema i que tinguin vinculació amb ProFTPD, procediu a fer les comprovacions i executar les ordres detallades.

Modifiqueu el fitxer /etc/shells amb:

  1. sudo nano /etc/shells

Afegiu-lo al final de tot de la línea /bin/false com a resultat:

  1. # /etc/shells: valid login shells
  2. /bin/sh
  3. /bin/dash
  4. /bin/bash
  5. /bin/rbash
  6. /usr/bin/tmux
  7. /usr/bin/screen
  8. /bin/false

Si deixeu accés als usuaris amb un shell vàlid podran accedir al servei FTP dins del directori arrel configurat o al seu directori home.

Quan afegiu /bin/false permetrà que quan es creïn usuaris hi afegiu el shell /bin/false, així evitareu que els usuaris FTP tinguin accés al servei FTP només si l’administrador permet l’accés.

Creeu un usuari amb l’ordre:

  1. useradd usuari -d directoriTreball -s /bin/false
  2. passwd usuari

On:

  • usuari: nom de l’usuari que creareu dins del sistema.
  • directoriTreball: directori de treball de l’usuari, per exemple /home/usuari.

Eliminació de l’usuari:

  1. sudo userdel -r nomUsuari

Creació del grup de treball:

  1. sudo groupadd nomGrup

Eliminació del grup de treball:

  1. sudo groupdel nomGrup

Usuari virtual a ProFTPD

Per crear usuaris virtuals dins de ProFTPD, executeu l’ordre ftpasswd, que crearà un fitxer anomenat ftpd.passwd:

  1. sudo mkdir /etc/proftpd/usuaris
  2. cd /etc/proftpd/usuaris
  3. sudo ftpasswd --passwd --name=nomUsuari --home=pathTreball --shell=/bin/false --uid=500

On:

  • –name: nom de l’usuari que creareu.
  • –home: directori de treball, per exemple /home/usuari.

Per crear grups de treball virtuals dins de ProFTPD, executeu l’ordre ftpasswd que crearà un fitxer anomenat ftpd.group:

  1. cd /etc/proftpd/usuaris
  2. sudo ftpasswd --group --name=nomGrup --gid=idGrup --member=nomUsuari

On:

  • –name: nom del grup que creareu.
  • –gid: id del grup en format numèric enter.

Dins del fitxer de configuració proftpd.conf, afegiu les directives que permeten que s’agafin els usuaris i grups virtuals creats.

RequireValidShell  off
AuthUserFile  /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group

Modes de connexió del client

El mode de transferència s’estableix a l’inici de les comunicacions FTP i és dependent de com és el sistema de fitxers del servidor.

El 'mainframe'

Ordinador gran i potent utilitzat principalment per les grans companyies per a processament de grans quantitats de dades, com pot ser per al processament de transaccions bancàries en les corporacions bancàries.

La majoria dels sistemes fan ús de l’estructura de fitxers binaris, antics sistemes Unix i mainframe i poden utilitzar l’estructura de fitxers ASCII. En qualsevol cas, aquest mode es decideix dins del servidor FTP i el client automàticament detectarà quin dels dos modes farà servir.

El protocol FTP es basa en el protocol TCP, amb dos canals de dades amb diferents ports, un per enviar les dades i l’altre per enviar les ordres.

Els ports que es fan servir per defecte són:

  • Port número 21, per al canal de control
  • Port número 20, per al canal de dades de transmissió

Dins del protocol FTP es defineixen dos modes de connexió que es configuren dins del servei, el mode ftp actiu i el mode ftp passiu.

Mode FTP actiu

En el mode FTP actiu, el client connecta aleatòriament per un port més gran de 1024 (anomenem-lo N) cap al port 21 d’ordres del servidor.

El client inicia l’escolta al port (N+1) i envia l’ordre FTP al port (N+1) del servidor FTP. El servidor connecta de nou al client pel port de dades especificat per part del client, que és el port 20.

Quan treballeu en mode actiu es té en compte el tallafoc del sistema. El tallafoc ha de tenir els ports oberts de treball del servidor i del client, per poder establir les comunicacions.

Ports que s’obriran en mode actiu dins del servidor:

  • El client connectarà al port 21 del servidor FTP amb un port més gran de 1024 del client. (Iniciació de la connexió del client)
  • El port 21 del servidor FTP connectarà a un port més gran de 1024. (El servidor respon al port de control del client.)
  • El port 20 del servidor FTP connectarà a un port més gran de 1024. (El servidor inicia la connexió de dades cap al port de client de dades.)
  • El client connectarà amb un port més gran de 1024 cap al port 20 del servidor FTP. (El client envia la confirmació de connexió al port de dades del servidor FTP.)

A la figura, dins de l’etapa 1, el client connecta amb el port 21 d’ordres mitjançant un port més gran de 1024 aleatori, en aquest cas el 1026. El servidor li envia en el pas 2 el reconeixement al port 1026 del client.

Figura Gràfic de funcionament del sistema FTP actiu

En el pas 3 el servidor inicia l’obertura del canal de comunicació de dades pel port 20 cap al port del client 1027 (origen d’iniciació del port 1026 + 1). Per finalitzar el pas 4, el client confirma el canal al servidor.

Mode FTP passiu

Per evitar que el servidor iniciï la connexió al client hi ha un altre mètode de connexió anomenat passiu.

En el mètode FTP passiu el client inicia les dues connexions al servidor, resolent el problema de control del tallafoc en el filtratge del port de dades en el servidor cap al client.

El client, a l’iniciar la connexió FTP, agafa un port aleatori més gran de 1024 N i el següent com N + 1.

El primer port N fa la connexió pel port 21 del servidor i evita fer la connexió al port de dades 20. El client farà ús d’una ordre PASV. El servidor obre un port aleatori P més gran de 1024 i li retorna al client amb l’ordre PASV. El client inicia el canal de dades del port (N + 1) al port P.

Per controlar el tallafoc en el servidor FTP en mode passiu obrirem els ports següents:

  • El client connectarà al port 21 del servidor FTP amb un port més gran de 1024 del client. (Iniciació de la connexió del client.)
  • El port 21 del servidor FTP connectarà a un port més gran de 1024 del client. (El servidor respon al port de control del client.)
  • Un port més gran de 1024 del client connectarà a un port més gran de 1024 del servidor. (El client inicia el canal de dades a un port aleatori del servidor.)
  • Un port més gran de 1024 del servidor connectarà a un port més gran de 1024 del client. (El client inicia el canal de dades a un port aleatori del servidor.)

A la figura al pas 1 el client contacta amb el servidor pel port 21 demanant una connexió passiva amb l’ordre PASV.

Figura Gràfic de funcionament del sistema FTP passiu

El servidor respon en el pas 2 amb un port aleatori, en l’exemple 2024, demanant al client quin port és el que farà servir per obrir el canal de dades. En el pas 3 el client inicia el canal de dades del port de dades del client 1027 al port que ha obert el servidor 2024. En el pas 4 el servidor confirma la connexió.

Amb el mode passiu es resolen molts problemes del client, però s’amplien els problemes del servidor. Un dels principals problemes és l’obertura d’un gran rang de ports en el servidor per poder iniciar canals de dades.

Un dels avantatges actualment és que les implementacions de servidors FTP permeten escollir el rang de ports que es faran servir.

Per realitzar la configuració dins de ProFTPD en el mode passiu, afegiu dins de la configuració del fitxer /etc/proftpd/proftpd.conf la directiva:

PassivePorts 1024 2000

El rang de ports de configuració anirà mínim del port número 1024 fins, com a màxim, al 65536.

Protocol de transferència de fitxers segur

Quan es va redactar el protocol FTP dins la RFC 959 la seguretat no era un tema crític. Amb l’evolució de les xarxes i la transferència massiva de dades dins les xarxes públiques, ha canviat molt respecte a les idees originals en els anys 70 i 80. Aquesta evolució fa que enviar dades sense encriptar sigui molt arriscat i que protocols antics hagin d’evolucionar per garantir que la tramesa de dades sigui segura.

Amb l’evolució de les xarxes, el protocol FTP va fer que se n’originessin noves revisions per pal·liar les deficiències de seguretat i l’any 1997 es va redactar l’actualització del protocol FTP que dona com a resultat l’FTPS.

Els autors de la RFC van llistar l’any 1999 les diferents vulnerabilitats FTP:

  • Atacs Spoofing
  • Atacs de força bruta
  • Atacs rebot (bounce attacks)
  • Captura de paquets (sniffing)
  • Robatori de ports (port stealing)
  • Claus d’usuari i dades no xifrades

L’especificació FTP amb SSL (secure Sockets Layer) es troba dins la RFC 2228 i afegeix les extensions de seguretat fent ús d’SSL i dins RFC 4217 es defineix FTP amb TLS (transport layer security).

El protocol FTPS fa ús d’SSL, TLS i és una combinació d’algoritmes de xifrat asimètrics (RSA,DSA), algoritmes simètrics (DES/3DES,AES etc.) i un algoritme d’intercanvi de claus amb autenticació de certificats X.509.

Hi ha dos modes de treball amb FTPS:

  • El mode FTPS implícit SSL. Es requereix una sessió SSL entre el client i el servidor abans que s’intercanviï qualsevol dada. Com el nom diu, l’ús d’SSL és implícit i qualsevol intent de connexió dels clients sense fer ús d’SSL és rebutjat pel servidor. Els ports de treball de l’FTPS implícit són el 990 i el 989.

Actualment es fa servir molt poc FPS implícit a favor de fer ús del segon mètode FTPS explícit SSL.

  • El mode FTPS explícit SSL. El client i el servidor negocien el nivell de protecció que es farà servir. Aquesta situació és útil per poder treballar amb el mateix port amb sessions encriptades o no encriptades.

En el mode explícit SSL el client inicia una connexió sense encriptar amb el servidor FTP. El client demana una petició al servidor FTP per iniciar una ordre sobre SSL, enviant les ordres AUTH TLS o AUTH SSL.

Una vegada iniciat el canal SSL el client envia les credencials al servidor FTP. Totes les credencials són encriptades i enviades pel canal SSL. De la mateixa manera que s’ha fet la protecció del canal de control, el canal de dades segueix el mateix procediment fent ús de l’ordre PROT. Els ports que fa servir són el 20 i el 21, on s’efectua el xifrat.

Hi ha una altre tipus de servei segur amb FTP anomenat SFTP.

SFTP sol ser confós amb el servei FTPS i viceversa, i realment no tenen res a veure mútuament. Excepte per la seguretat en la tramesa de fitxers, el procediment intern és diferent.

SFTP està basat en SSH (secure shell), protocol conegut per proveir seguretat als terminals remots.

No fa ús de canals d’ordres i de dades. Els dos canals que fem servir en FTPS s’envien en paquets amb format dins d’un mateix canal, és a dir, el canal de dades i d’ordres és únic.

Totes les dades enviades i rebudes són encriptades mitjançant un algoritme d’encriptació prèviament acordat.

Les sessions estan protegides mitjançant claus públiques i privades, que ofereixen un sistema d’autenticació conegut com a autenticació de clau pública que es pot fer servir com a alternativa o unió dels sistemes d’autenticació tradicionals de noms d’usuari i contrasenyes.

Configuració FTPS a ProFTPD

Per configurar FTPS dins de ProFTPD, feu les instal·lacions i configuracions necessàries per habilitar-ho.

Dins dels sistemes Debian o basats en Debian ja pot venir instal·lada l’aplicació openssl. Reviseu-ne l’existència amb:

dpkg -l | grep openssl

Procediu a instal·lar el paquet d’eines d’administració i biblioteques relacionades amb encriptació openSSL.

  1. sudo apt-get update
  2. sudo apt-get install openssl

Creeu el directori /etc/proftpd/ssl i situeu-vos dins:

  1. sudo mkdir /etc/proftpd/ssl
  2. cd /etc/proftpd/ssl

Dins del directori /etc/proftpd/ssl creeu els certificats x.509 per configurar l’FTPS. Executeu:

  1. sudo openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Ompliu les dades del certificat amb les dades que us demanarà.

Una vegada finalitzada l’ordre openssl, obtindreu dos fitxers:

  • Certificat x509, anomenat proftpd.cert.pem
  • Claus públiques i privades proftpd.key.pem

Canvieu els permisos als fitxers de certificats amb permisos de lectura i escriptura per a usuaris.

  1. sudo chmod 600 /etc/proftpd/ssl/proftpd.*

Un cop obtinguts els certificats, editeu el fitxer de configuració /etc/profptd/tls.conf:

  1. sudo nano /etc/proftpd/tls.conf

I afegiu-hi:

  1. <IfModule mod_tls.c>
  2. # Fem servir el servei FTPS
  3. TLSEngine on
  4. # configuració del log de sortida al path corresponent
  5. TLSLog /var/log/proftpd/tls.log
  6. # protocols que es poden fer servir SSLv23 SSLv3 TLSv1 TLSv1.1 TLSv1.2
  7. TLSProtocol TLSv1.2
  8. #combinació d'alogritmes per autenticar, xifrar etc.
  9. TLSCipherSuite AES128+EECDH:AES128+EDH
  10. TLSOptions NoCertRequest AllowClientRenegotiations
  11. # path dels certificats i claus generades
  12. TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
  13. TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
  14. # demana un certificat al client
  15. TLSVerifyClient off
  16. # obliga el client a fer una connexió TLS
  17. TLSRequired on
  18. RequireValidShell no
  19. </IfModule>

Dins del fitxer de configuració proftpd.conf:

  1. sudo nano /etc/proftpd/proftpd.conf

Afegiu la directiva a dalt del fitxer, que permetrà agafar la configuració per a FTPS, o feu-ne la cerca i traieu el tag:

include /etc/proftpd/tls.conf

Utilització d’eines gràfiques

Les aplicacions gràfiques que implementen el protocol FTP fan ús dels avantatges dels llenguatges de programació mitjançant les llibreries gràfiques del sistema operatiu i les llibreries que implementen el protocol FTP.

Un exemple de llibreria FTP és la implementació ftplib a Python, que té les funcionalitats necessàries per realitzar un client FTP. Es podria desenvolupar en poc temps un client gràfic o un terminal alfanumèric que faria les mateixes funcionalitats que qualsevol programi que hi ha al mercat.

Client gràfic Filezilla

Tenim diferents opcions per fer servir clients FTP en mode gràfic. Un dels més coneguts és Filezilla client: filezilla-project.org.

El projecte Filezilla, sota la llicència GNU, posseeix una solució FTP com a client per a sistemes Microsoft, Linux i Mac OS i una solució servidor només implementat per sistemes Microsoft.

Característiques principals del client Filezilla:

  • Suport per a FTP, FTP amb SSL/TLS (FTPS) i SSH FTP (conegur com SFTP)
  • Traducció a múltiples llenguatges
  • Suport per treballar amb fitxers més grans de 4 GB (GigaBytes)
  • Interfície amb pestanyes
  • Cua de transferència i gestor d’administració avançat
  • Suport per a Drag & Drop
  • Configuració de velocitats de transferència
  • Navegació de directoris sincronitzada
  • Cerca de fitxers remot
  • Editor de fitxers remot
  • Comparació de directoris

Per instal·lar el client Filezilla en el sistema basat en Debian, executeu dins d’un terminal:

  1. sudo apt-get update
  2. sudo apt-get install filezilla

Executeu Filezilla. Podeu veure que l’entorn gràfic és intuïtiu. Aneu a l’opció sota el menú Fitxer i sobre Amfitrió, hi ha una icona que representa un servidor (vegeu la figura).

Figura Finestra inicial de Filezilla

Dins del menú que us mostra permet crear diferents configuracions d’accés a servidors remots FTP.

En l’exemple configureu un lloc anomenat repositori Ubuntu, amb les opcions:

  • Amfitrió o adreça del servidor remot cdimage.ubuntu.com.
  • Protocol FTP, no volem fer servir SFTP.
  • Xifratge, si està disponible l’FTP explícit sobre TLS. Si el servidor requereix connexió encriptada es farà servir aquesta. En cas que no tingui xifratge, es farà servir sense xifrar.
  • Tipus d’entrada, anònim. Podem demanar usuari i posar anonymous com a usuari.

Vegeu els passos a seguir a la figura i la figura.

Figura Finestra de configuracions de connexions a Filezilla
Figura Exemple de configuració a Filezilla

Connecteu i Filezilla connectarà amb el servidor remot FTP. Vegeu la sortida de missatges que us mostrarà dins la finestra.

Una vegada el client ha connectat amb el servidor remot, fixeu-vos amb la finestra que es divideix en dues parts, l’arbre de directoris de l’equip local i l’arbre de directoris del servidor remot.

Podeu navegar dins del servidor remot fins a trobar el fitxer que us interessa i prémer botó dret per veure el menú d’opcions, tal com podeu veure a la figura i la figura.

El menú d’opcions permet donar les ordres per copiar el contingut remot cap al directori actual de l’arbre de directoris de l’equip local on esteu en aquell moment. Podeu fer el mateix arrossegant els fitxers i directoris d’un llistat a l’altre.

Figura Finestra de navegació a un servidor FTP remot dins de Filezilla
Figura Ordres FTP dins de Filezilla

Client gràfic dels sistemes operatius

Dins de l’entorn gràfic del sistema operatiu Windows o Linux permeten accedir amb l’explorador de fitxers del sistema a un servidor remot FTP.

Dins del navegador de fitxers dels sistemes Windows fiquem com a ruta de navegació ftp://cdimage.ubuntu.com. Veureu que farà la connexió que us enllaça al servidor FTP remot. Pot ser que ens demani l’usuari i la contrasenya si és necessari. Vegeu la figura i la figura d’un exemple d’accés a un servidor remot configurat amb proFTPD mitjançant Windows 10.

Figura Pantalla d’accés i validació a un servidor FTP
Figura Pantalla de navegació dels directoris remots

Per poder copiar o escriure fitxers dins d’una connexió FTP treballeu de la mateixa manera que si fos una carpeta local del sistema o en xarxa. Això sí, no podreu modificar els continguts si esteu en una connexió anònima o l’administrador no ho permet.

En el cas del funcionament dins d’un sistema Linux serà exactament igual dins del navegador de fitxers del sistema Linux.

Poseu dins de la barra de navegació ftp://cdimage.ubuntu.com i premeu la tecla intro. La connexió es realitzarà i demanarà, si és necessari, l’usuari i la contrasenya. Vegeu la figura i la figura d’un exemple d’accés a un servidor remot configurat amb proFTPD mitjançant Ubuntu.

Figura Pantalla d’accés i validació a un servidor FTP
Figura Pantalla de navegació dels directoris remots

Utilització del servei de transferència de fitxers des del navegador

Un dels grans avantatges que té el protocol FTP es que permet ser implementat fàcilment en diferents tipus de sistemes operatius (escriptori, mòbils, consoles, etc.).

A més, el protocol FTP és incorporat dins d’aplicacions, com una extensió de la funcionalitat principal de l’aplicació. Imagineu aplicacions IDE de desenvolupament o els navegadors web.

Els navegadors web permeten accedir als servidors FTP com un client FTP directe, amb la seva validació d’usuari, llegir el directori remot i accedir a la informació.

La forma d’accedir a un servidor FTP mitjançant el navegador és escriure dins de la barra de navegació l’esquema:

ftp://<url>

Vegeu un exemple bàsic dins del navegador. Obriu una finestra i copieu a la barra de navegació la següent direcció: ftp://ftp.rediris.es.

A la figura veureu que dins de la part de visualització web es llista un directori amb el seu contingut. Aquesta llista del directori pertany a l’arrel del servidor remot al qual ens hem conectat. Proveu de navegar i de baixar algun contingut.

Figura Pantalla del navegador accedint a un servidor anònim

La limitació que ofereix el navegador és que no podem modificar els fitxers. Això vol dir que les accions crear, modificar o esborrar fitxers no es poden realitzar. Per aquesta deficiència, hi ha una altra alternativa, que és la d’ampliar el funcionament del navegador amb extensions del navegador.

Les extensions no són més que programari alternatiu que funcionen juntament amb el navegador per ampliar les seves capacitats. Feu una cerca dins de Google Chrome o Mozilla Firefox de les diferents extensions que es poden afegir al navegador.

Utilització del servei de transferència de fitxers en el procés de desplegament de l’aplicació web

El procés de desplegament (en anglès deployment) consisteix en l’encapsulació del projecte i la distribució final dins d’un entorn de producció on s’executarà.

La distribució final de l’aplicació web a un entorn de producció es pot dur a terme:

  • Mitjançant un fitxer d’encapsulació que engloba tot el contingut del projecte i que depèn de la tecnologia que fem servir per desenvolupar l’aplicació web.
  • Mitjançant una estructura de directoris. Aquests directoris contenen els fitxers html, php, fulles d’estil i fitxers com imatges, sons, vídeos, etc.

La pràctica habitual és dissenyar l’aplicació web en un disc dur en local amb un servidor web local (anomenat entorn de desenvolupament), per després enviar-ho a un servidor final de producció. A vegades existeix un pas intermedi que consisteix a enviar l’aplicació, en un entorn de proves el més semblant possible a l’entorn de producció.

La transferència dels fitxers de l’aplicació web es farà mitjançant un client FTP cap a un servidor FTP que enllaçarà amb el directori principal del servidor web. Aquesta transferència de fitxers es farà mitjançant un usuari autenticat dins del servidor FTP.

Les dades necessàries per fer la transferència seran:

  • URL o adreça IP del servidor.
  • Usuari i contrasenya creats dins del servidor FTP i amb permisos d’escriptura als directoris on s’emmagatzemen els fitxers de l’aplicació web.

El client FTP que feu servir per a pujar l’aplicació és indiferent, podeu fer servir clients FTP integrats en els IDE de desenvolupament, clients FTP dins del terminal Unix, Microsoft o clients gràfics.

El desplegament de l’aplicació web, dins del cas d’actualització de les funcionalitats, sempre serà en hores on l’ús del servei és minoritari, per evitar problemes als usuaris. A vegades també l’aplicació web pot tenir programada una opció per aturar el servei i permetre que es puguin actualitzar els continguts del servidor.

Anar a la pàgina anterior:
Annexos
Anar a la pàgina següent:
Activitats