trasferimento file), รจ un Protocollo per la trasmissione di
dati tra host basato su TCP, in genere usato dagli autori di
pagine web per <em>pubblicare</em> queste nei propio spazi
- web. Storicamente veniva usato, mediate l'utilizzo di utenti
- anonimi, come punto di scambio per materiali di diversi
+ web. Storicamente veniva anche usato, mediate l'utilizzo di
+ utenze anonime, come punto di scambio per materiali di vari
utenti tra loro sconosciuti (una directory dei materiali
- scaricabili e una dedicata agli <em>uploads</em> delgi
- utenti, poi riordinat dall'<em>ftpmaster</em>). Tuttora si
+ scaricabili e una dedicata agli <em>uploads</em> degli
+ utenti, poi riordinati dall'<em>ftpmaster</em>). Tuttora si
mantiene la cosuetudine di renedere disponibile i materiali
- dei <em>mirrors</em> anche tramite FTP, probabilmente
+ dei <em>mirrors</em> anche tramite FTP, probabilmente per
garantire l'accesso ai client piu' datati che non possono
utilizzare tecnologie piu' recenti.</p>
- <p>Vsftp e' un server FTP con una forte inclinazione alla
- sicurezza: <em>Very Secure FTP Daemon</em>. Il protocollo FTP
- e' in chiaro (cioe' non criptato), sia per quanto riguarda il
- traffico ad esso associato che per il passaggio delle
- passwords degli utenti, facilmente sniffabili da chiunque
- abbia accesso alla rete. Naturalmente vsftp per quanto votato
- alla sicurezza non modifica queste caratteristiche del
- protocollo FTP.</p>
+ <p>Il protocollo FTP e' in chiaro (cioe' non criptato), sia
+ per quanto riguarda il traffico ad esso associato che per il
+ passaggio delle passwords degli utenti, facilmente sniffabili
+ da chiunque abbia accesso alla rete. Naturalmente vsftp per
+ quanto votato alla sicurezza non modifica queste
+ caratteristiche del protocollo FTP (ma consente di usare
+ OpenSSL per la autenticazione degli utenti).</p>
<p>Se propio si deve mettere a disposizione un server FTP ai
- propi utenti si considerino almeno le segiuenti
- alternative:</p>
+ propi utenti si considerino le seguenti alternative:</p>
<ul class="simple">
<li>Spingere gli utenti ad usare SFTP invece che FTP</li>
+ <li>Spingere gli utenti ad usare SSL per autenticarsi al
+ server FTP</li>
+
<li>Nel caso di webdesigners si consideri la possibilita'
di offrire alternative come GIT, Subversion, Rsync o
Webdav</li>
<tt class="docutils literal">noexec</tt> e <tt class=
"docutils literal">nosuid</tt> (vedi dopo)</li>
- <li>Utilizzare un demone FTP come Vsftp</li>
+ <li>Utilizzare un demone FTP come Vsftp: un server FTP con
+ una forte inclinazione alla sicurezza: <em>Very Secure FTP
+ Daemon</em>.</li>
</ul>
- <p>Per maggiori informazioni sull'attitudine alla sicurezza
- del demone si veda: <a class="reference external" href=
+ <p>Per maggiori informazioni sulle scelte di design legate
+ alla sicurezza del demone si veda: <a class=
+ "reference external" href=
"http://vsftpd.beasts.org/DESIGN">http://vsftpd.beasts.org/DESIGN</a></p>
<p>Vsftp mette a disposizione le seguenti funzionalita':</p>
"#id126">11.1 Pacchetti</a></h2>
<p>Per installare il demone vero e propio si usi il
- pacchetto <tt class="docutils literal">vsftpd</tt> , per
- aver un client da cui fare qualche test:</p>
+ pacchetto <tt class="docutils literal">vsftpd</tt> , mentre
+ per aver un client da cui fare qualche test sono
+ dipsonibili:</p>
<ul class="simple">
<li><tt class="docutils literal">ftp</tt> (pacchetto da
<h2><a class="toc-backref" href=
"#id127">11.2 Sessioni ftp</a></h2>
- <p>Per gestire una sessione ftp a riga di comando
- potrebbero essere utili i seguenti comandi:</p>
+ <p>Vediamo alcuni dei comandi di base per gestire una
+ sessione ftp a riga di comando:</p>
<dl class="docutils">
<dt>ftp nome_host</dt>
<dt>help</dt>
- <dd>Lista dei comandi disponibili</dd>
+ <dd>Lista dei comandi disponibili.</dd>
<dt>help [nome_comando]</dt>
- <dd>Cosa fa quel comando</dd>
+ <dd>Cosa fa quel comando.</dd>
<dt>put</dt>
- <dd>Per caricare un file</dd>
+ <dd>Per caricare un file.</dd>
<dt>get</dt>
- <dd>Per scaricare un file</dd>
+ <dd>Per scaricare un file.</dd>
<dt>ls</dt>
- <dd>Lista dei file disponibili</dd>
+ <dd>Lista dei file disponibili.</dd>
<dt>cd</dt>
- <dd>Spostarsi in un altra directory</dd>
+ <dd>Spostarsi in un altra directory.</dd>
<dt>lcd</dt>
- <dd>Cambio directory in LOCALE</dd>
+ <dd>Cambio directory in LOCALE.</dd>
<dt>mput/mget</dt>
- <dd>Per lavorare su file multipli</dd>
+ <dd>Per lavorare su file multipli.</dd>
<dt>prompt</dt>
<dt>(non vi chiede conferma di ogni singola
operazione</dt>
- <dd>su ogni singolo file...)</dd>
+ <dd>su ogni singolo file...).</dd>
</dl>
</dd>
</dl>
<dt>binary</dt>
- <dd>Entra in modalita' trasferimento binario</dd>
+ <dd>Entra in modalita' trasferimento binario.</dd>
<dt>asii</dt>
- <dd>Entra in modalita' trasferimento ascii</dd>
+ <dd>Entra in modalita' trasferimento ascii.</dd>
<dt>bye</dt>
- <dd>Per chiudere la sessione</dd>
+ <dd>Per chiudere la sessione.</dd>
</dl>
</div>
<em>sola lettura</em>. Per accedere al servizio si usi
quini come utente <tt class=
"docutils literal">anonymous</tt> (la passwords in genere
- e' il propio indirizzo email), la cui <em>home</em>
- directory sara' <tt class=
+ e' come consuetudine il propio indirizzo email), la cui
+ <em>home</em> directory sara' <tt class=
"docutils literal">/home/ftp/</tt>:</p>
<pre class="literal-block">
zoo:~# ftp localhost
<pre class="literal-block">
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
-# Disabilitiamo l'utente anonimo, a meno che non si intenda usarlo!
+# Disabilitiamo l'utente anonimo
# Uncomment this to allow local users to log in.
local_enable=YES
# Permettiamo agli utenti di caricare documenti nella loro home
# You may fully customise the login banner string:
-ftpd_banner=Benvenuti al servizio ftp di pinco pallino (che sareste voi).
+ftpd_banner=Benvenuti al servizio ftp del sito example.com
</pre>
<p>Per abilitare i cambiamenti si proceda a riavviare il
server: <tt class="docutils literal">/etc/init.d/vsftpd
- restart</tt> e si controlli il file di log <tt class=
+ restart</tt> e si monitorizzi il file di log <tt class=
"docutils literal">tail <span class="pre">-f</span>
/var/log/vsftpd.log</tt> per controllarne il funzionamento
(e anche <tt class="docutils literal">/var/log/syslog</tt>
"#id130">11.5 Jail chroot</a></h2>
<p>Si puo' impedire all'utente di spostarsi arbitrariamente
- per il file system del server, ad esempio per vedere il
- contenuto della directory <tt class=
+ per il file system del servere visualizzare il contenuto
+ delle directory, ad esempio la cartella <tt class=
"docutils literal">/etc</tt>, confinandolo in una jail
chroot limitata alla sua home directory:</p>
<pre class="literal-block">
chroot_local_user=YES
</pre>
- <p>Tipicamente un utente non dovrebbe interessarsi di cosa
- sia disponibile sul server al difuori degli spazi a lui
- assegnati, ad esempio per poter conoscere quali servizi
- sono installati:</p>
+ <p>Generalmente un utente di sistema con il solo accesso
+ FTP non dovrebbe avere la possibilita' di poter navigare
+ liberamente per il file system del server, esponendo file
+ di configurazione e quant'altro l'utente potrebbe trarre
+ utili informazioni sul quali software siano installati e di
+ che tipo:</p>
<pre class="literal-block">
Remote system type is UNIX.
Using binary mode to transfer files.
<p>Come accennato precedentemente e' opportuno che i
filesystems sui quali un utente puo' scrivere o modificare
il contenuto non abbiano i privilegi di eseguibilita' e
- suid, nel nonstro caso vsftpd lavora sull'intere <tt class=
+ suid, nel nonstro caso vsftpd lavora sull'intera <tt class=
"docutils literal">/home/</tt> directory quindi avremo in
<tt class="docutils literal">/etc/fstab</tt>:</p>
<pre class="literal-block">
<dd>Verra' tenuto un file di log <tt class=
"docutils literal">/var/log/vsftpd.log</tt> degli upload
- e download sul server</dd>
+ e download sul server.</dd>
<dt>hide_ids=YES</dt>
<dd>Nasconde le userid e groupid mascherandole con
- <tt class="docutils literal">ftp</tt></dd>
+ <tt class="docutils literal">ftp</tt> .</dd>
<dt>anon_root=/home/ftp</dt>
- <dd>Home directory dell'utente anonimo</dd>
+ <dd>Home directory dell'utente anonimo.</dd>
<dt>write_enable=YES</dt>
<dd>Permette agli utenti di eseguire i comandi che
possono modificare il filesystem: STOR, DELE, RNFR, RNTO,
- MKD, RMD, APPE e SITE</dd>
+ MKD, RMD, APPE e SITE .</dd>
<dt>idle_session_timeout=600</dt>
<dd>Permette agli utenti di restare connessi piu' a
lungo, utile per i webdesigners che passano intere
- giornate connessi al server</dd>
+ giornate connessi al server.</dd>
</dl>
</div>
</div>