User Tools

Site Tools


doc:appunti:linux:sa:proftpd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:proftpd [2022/02/24 12:58] – [TimesGMT] niccolodoc:appunti:linux:sa:proftpd [2024/05/31 11:54] (current) – [Explicit vs Implicit FTP over TLS] niccolo
Line 11: Line 11:
 </file> </file>
  
-**ATTENZIONE**: Sembra tuttavia che sia prassi consolidata fornire i timestamp in GMT ed è compito del client tradurre in localtime. Ad esempio Filezilla mostra il timestamp corretto solo se ProFTP è impostato al valore predefinito **TimesGMT on**.+**ATTENZIONE**: Sembra tuttavia che sia prassi consolidata fornire i timestamp in GMT ed è compito del client tradurre in localtime. Ad esempio Filezilla 3.52 mostra il timestamp corretto solo se ProFTP è impostato al valore predefinito **TimesGMT on**.
  
 ==== Password NIS ==== ==== Password NIS ====
 +
 Se l'autenticazione avviene tramite NSS con password NIS o LDAP è indispensabile disattivare l'opzione **PersistentPasswd**: Se l'autenticazione avviene tramite NSS con password NIS o LDAP è indispensabile disattivare l'opzione **PersistentPasswd**:
 <file> <file>
Line 65: Line 66:
 <file> <file>
 DefaultRoot  ~      pdf-web DefaultRoot  ~      pdf-web
-DefaultRoot  ~      ftpuser+DefaultRoot  ~      ftpusers
 </file> </file>
-==== Supporto TLS ==== 
  
-Per evitare che le password transitino in chiaro sulla rete è opportuno abilitare il protocollo TSL obbligatorio. Si può creare un file **/etc/proftpd/conf.d/local.conf** con dentro:+===== Supporto TLS ===== 
 + 
 +Per evitare che le password transitino in chiaro sulla rete è opportuno abilitare il protocollo TSL obbligatorio. 
 + 
 +Il modulo **/usr/lib/proftpd/mod_tls.so** è incluso nel pacchetto Debian **proftpd-basic**, mentre Ubuntu lo fornisce con il pacchetto aggiuntivo **proftpd-mod-crypto**. Inoltre si deve verificare che in **/etc/proftpd/modules.conf** sia attiva la riga 
 + 
 +<file> 
 +LoadModule mod_tls.c 
 +</file> 
 + 
 +Quindi si può creare un file **/etc/proftpd/conf.d/local.conf** con dentro:
  
 <file> <file>
Line 90: Line 100:
  
 Il parametro **NoSessionReuseRequired** serve per i client (notabilmente **Filezilla 3.39**) che non riusano la connnessione SSL aperta per il controllo anche per il successivo trasferimento dati. Il parametro **NoSessionReuseRequired** serve per i client (notabilmente **Filezilla 3.39**) che non riusano la connnessione SSL aperta per il controllo anche per il successivo trasferimento dati.
 +
 +==== FTP over TLS: Explicit vs Implicit ====
 +
 +Il supporto a FTP su TLS può essere implementato in due modi:
 +
 +  * **Explicit**: La connessione iniziale avviene in chiaro sulla porta **21/TCP** e successivamnte viene negoziato esplicitamente il TLS.
 +  * **Implicit**: La connessione avviene generalmente sulla porta **990/TCP** direttamente in TLS.
 +
 +=== Explicit ===
 +
 +Dovrebbe essere la modalità consigliata.
 +
 +Con il client FileZilla si può impostare come **Encryption** la modalità **Require explicit FTP over TLS**, in modo da essere sicuri che l'autenticazione avvenga su connessione cifrata. La porta predefinita del servizio è comunque la **21/TCP**.
 +
 +Con il client da riga di comando **lftp** si potrà usare un comando del tipo:
 +
 +<code bash>
 +lftp -e "set ssl:verify-certificate false" -u ftp_username 'ftp_server.domain.org:21'
 +</code>
 +
 +
 +=== Implicit ===
 +
 +La modalità **Implicit** può essere attivata anche sulla porta **21/TCP**, sebbene questo contravvenga il [[wp>Principle of least astonishment|principio di minima sorpresa]]; è sufficiente aggiungere l'opzione ''UseImplicitSSL'' a ''TLSOptions'':
 +
 +<file>
 +<IfModule mod_tls.c>
 +    TLSOptions   NoSessionReuseRequired UseImplicitSSL
 +</IfModule>
 +</file>
 +
 +Con il client FileZilla si dovrà selezionare come **Encryption** la modalità **Require implicit FTP over TLS**, inoltre si dovrà esplicitamente indicare la porta **21/TCP** e il client stesso emetterà un warning: //Selected port usually in use by a different protocol//.
 +
 +Volendo utilizzare il client da riga di comando **lftp** si dovrà utilizzare una riga di comando del tipo:
 +
 +<code bash>
 +lftp -e "set ssl:verify-certificate false" -u ftp_username 'ftps://ftp_server.domain.org:21'
 +</code>
 +
doc/appunti/linux/sa/proftpd.1645703896.txt.gz · Last modified: 2022/02/24 12:58 by niccolo