Practica VSFTPD: Diferència entre les revisions

De Cacauet Wiki
Dreceres ràpides: navegació, cerca
m (Part II Server (chroot))
(Part II Server (chroot))
Línia 38: Línia 38:
  
 
=== Part II Server (chroot) ===
 
=== Part II Server (chroot) ===
# Els usuaris han d'estar bloquejats (engabiats, chroot) dins del seu ''home directory'' i no han de poder remenar els arxius del servidor.
+
Volem "engabiar" els usuaris (chroot) al seus ''home directory'' (perquè no remenin els arxius del servidor). Però no ho volem fer amb tots els usuaris perquè si no, no poden escriure al seu ''home'' i tampoc poden accedir a les carpetes públiques.
 +
# Crea un nou usuari "maceo".
 +
# L'usuari anonymous ha d'estar engabiat a la carpeta pública.
 +
# Activa la directiva d'engabiar usuaris (chroot).
 +
# Busca com seleccionar els usuaris que vols engabiar (chroot_list) i posa-hi només a "maceo".
 
#*NOTA: Des d'una certa versió del vsftpd, si engabiem amb chroot no ens deixarà entrar els usuaris que puguin escriure als seus ''home directories''.Tenim 2 solucions possibles:
 
#*NOTA: Des d'una certa versió del vsftpd, si engabiem amb chroot no ens deixarà entrar els usuaris que puguin escriure als seus ''home directories''.Tenim 2 solucions possibles:
 
#*# Retirar els permisos d'escriptura en els ''home directory''.
 
#*# Retirar els permisos d'escriptura en els ''home directory''.
Línia 45: Línia 49:
 
#*#* http://blog.thefrontiergroup.com.au/2012/10/making-vsftpd-with-chrooted-users-work-again/
 
#*#* http://blog.thefrontiergroup.com.au/2012/10/making-vsftpd-with-chrooted-users-work-again/
 
#*#* Però en aquest article hi ha la comanda add-apt-repository que no ve a la Ubuntu Server. Per tenir disponible aquest paquet instal·leu:<pre>$ sudo apt-get install python-software-properties</pre>
 
#*#* Però en aquest article hi ha la comanda add-apt-repository que no ve a la Ubuntu Server. Per tenir disponible aquest paquet instal·leu:<pre>$ sudo apt-get install python-software-properties</pre>
# Veuràs que els directoris compartits han deixat de funcionar. Busca una manera alternativa de compartir directoris ja que els links simbòlics no funcionen (pista: amb la comanda <code>mount --bind ...</code>).
+
# Intenta crear links als directoris compartits per "maceo", veuràs que amb simbolic links no funciona (i sí que funcionava amb "james" perquè no està engabiat).
# L'usuari anonymous ha d'estar engabiat a la carpeta pública.
+
# Busca una manera alternativa de compartir directoris amb l'usuari "maceo" ja que els links simbòlics no funcionen (pista: amb la comanda <code>mount --bind ...</code>).
 
<br>
 
<br>
  

Revisió de 08:22, 13 des 2013

L'objectiu de la pràctica és instal·lar un servei FTP per la nostra xarxa local.

La màquina que contindrà el servidor de FTP serà el Ubuntu Server (FUNKYSERVER). Aquesta serà l'encarregada de mantenir l'estructura de fitxers i directoris a oferir als clients, validar les connexions i executar les ordres dels clients.

Recorda que has de realitzar un informe d'aquesta pràctica segons les normes de presentació de treballs del curs.

Introducció

El servei FTP utilitza el port 21. Té 2 possibles modes:

  • Actiu (port 20): la iniciativa de transferència la pren el servidor.
  • Passiu (port aleatori no privilegiat): la iniciativa de transferència la pren el client.

Mireu-vos els diagrames d'aquest article sobre mode FTP actiu vs. passiu.


L'usuari anonymous és un usuari només del servei FTP. Per tant, no cal crear-lo, sinó simplement activar-lo en la configuració del servei FTP.


Configuració del servidor

Per poder-ho dur a terme les tasques heu de tenir molt clar:

  • L'arxiu de configuració és /etc/vsftpd.conf
  • Els permisos i propietari/grup de les carpetes esmentades.

Part I Server

  1. Crea 2 nous usuaris al servidor:
    • Usuari "james".
    • Usuari amb el teu nom.
  2. Activa el compte anonymous del servidor FTP.
  3. Esbrina quina és la carpeta per defecte on escriu l'usuari anonymous.
  4. Crea una carpeta pública a /var/ftp on tothom (tant anonymous com els usuaris de sistema) pugui llegir però no escriure.
    Modifica la configuració perquè la carpeta pública /var/ftp sigui la carpeta on va a parar l'usuari anonoymous.
  5. Crea una carpeta privada a /var/ftp-priv on només podran llegir i escriure els usuaris registrats al servidor (no el "anonymous").
    Pista: caldrà que creis un grup "lacetania" i atorguis els permisos necessaris perquè això funcioni.
  6. Els usuaris han de tenir accés directe a la carpeta pública i a la privada mitjançant links simbòlics des del seu home directory.
  7. Cal tenir un usuari administrador (funky) capaç de realitzar qualsevol operació sobre les carpetes.

Mostra el resultat al professor tal i com ho tens ara.

Part II Server (chroot)

Volem "engabiar" els usuaris (chroot) al seus home directory (perquè no remenin els arxius del servidor). Però no ho volem fer amb tots els usuaris perquè si no, no poden escriure al seu home i tampoc poden accedir a les carpetes públiques.

  1. Crea un nou usuari "maceo".
  2. L'usuari anonymous ha d'estar engabiat a la carpeta pública.
  3. Activa la directiva d'engabiar usuaris (chroot).
  4. Busca com seleccionar els usuaris que vols engabiar (chroot_list) i posa-hi només a "maceo".
    • NOTA: Des d'una certa versió del vsftpd, si engabiem amb chroot no ens deixarà entrar els usuaris que puguin escriure als seus home directories.Tenim 2 solucions possibles:
      1. Retirar els permisos d'escriptura en els home directory.
        Com que llavors els usuaris no podran escriure-hi res, caldria crear 2 carpetes internes perquè els usuaris pengin coses: "ftp" i "public_html" (amb els permisos adequats per escriure-hi).
      2. Saltar-nos aquesta directiva de seguretat com explica en aquest article:
  5. Intenta crear links als directoris compartits per "maceo", veuràs que amb simbolic links no funciona (i sí que funcionava amb "james" perquè no està engabiat).
  6. Busca una manera alternativa de compartir directoris amb l'usuari "maceo" ja que els links simbòlics no funcionen (pista: amb la comanda mount --bind ...).


Clients

Com a clients podeu utilitzar el mateix navegador d'arxius de l'Ubuntu o el de Windows (s'accedeix amb ftp://...). El firefox no serveix perquè només et deixa descarregar i no pujar arxius.

El client de FTP més conegut és el Filezilla. Instal·leu-lo ales màquines client i afegiu algun pantallasso.


Servidor AWS

Si disposes d'un servidor AWS d'Amazon el configurarem com un servei de hosting. Configura'l de la següent manera:

  • Usuaris "james" i "profe" tinguin accés al seu espai web però estiguin engabiats.
  • Crea també la carpeta compartida pels dos usuaris com has fet a la pràctica anterior. Ambdós han de poder escriure-hi.
  • Restringeix l'accés per SSH a l'usuari "james".