[Risolto]chroot server ftp

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
xAstyle
Prode Principiante
Messaggi: 11
Iscrizione: domenica 20 dicembre 2020, 13:00
Desktop: Gnome
Distribuzione: 20.10
Sesso: Maschile

[Risolto]chroot server ftp

Messaggio da xAstyle »

Salve a tutti,
ho da poco configurato un server ftp su ubuntu server ed ho abilitato anche il protocollo ssl/tls.
Ho la necessità di vincolare un account ftp alla propria cartella e per questo motivo ho utilizzato il chroot_local impostandolo su YES.
Il server ftp si collega correttamente però non appena un utente ftp prova ad accedere tramite un client, viene stampato il seguente errore

Errore: Errore GnuTLS -15 in gnutls_record_recv: An unexpected TLS packet was received.
Errore: Impossibile leggere dal socket: ECONNABORTED - Connessione interrotta
Errore: Impossibile collegarsi al server


Qualcuno saprebbe spiegarmi come risolvere il problema o cosa lo causa? Grazie a tutti

Edit: mi sono accorto dopo vari tentativi e sperimenti che il problema, quando viene abilitato il chroot_local_user, è che il permesso di scrittura della home directory (dell'utente ftp) non può essere concesso. Se venisse dato, allora si riscontrerebbero gli errori riportati in alto. Per risolvere questo problema, oltre al chroot_local_user, bisogna inserire la seguente configurazione nel file vsftpd.conf
allow_writeable_chroot=YES
In questo modo, si da il permesso all'utente di scrivere nella propria home directory con il chroot abilitato.
Per maggiori dettagli, la soluzione è spiegata in questo post viewtopic.php?t=630056
Grazie per le risposte ed il supporto.
Ultima modifica di xAstyle il mercoledì 8 settembre 2021, 20:03, modificato 2 volte in totale.
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2867
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: chroot server ftp

Messaggio da DoctorStrange »

Il chroot è una speciale directory all'interno del proprio sistema operativo, nella quale si "crea" una specie di sandbox, per confinare in un posto sicuro applicazioni sospette.
Non capisco per quale motivo tu abbia cercato di abilitare il chroot su un server ftp.

Se vuoi fare in modo che le utenze autorizzate a connettersi al tuo server tramite ftp, non possano uscire da una specifica directory, ti basterà creare una (o piu) utenze sul sistema operativo, specificanto "/sbin/nologin" tra gli attributi al momento della creazione dell'utenza stessa, in modo che questa non possa loggarsi sul sistema, e poi assegnare a questa utenza accesso completo alla sola directory FTP condivisa alla quale possa accedere.

In questo modo, quell'utenza potrà acedere a quell'unica sua directory e, anche quando sarai connesso da remoto non potrai andare oltre quell'unica directory.
xAstyle
Prode Principiante
Messaggi: 11
Iscrizione: domenica 20 dicembre 2020, 13:00
Desktop: Gnome
Distribuzione: 20.10
Sesso: Maschile

Re: chroot server ftp

Messaggio da xAstyle »

DoctorStrange ha scritto:
mercoledì 8 settembre 2021, 9:58
Il chroot è una speciale directory all'interno del proprio sistema operativo, nella quale si "crea" una specie di sandbox, per confinare in un posto sicuro applicazioni sospette.
Non capisco per quale motivo tu abbia cercato di abilitare il chroot su un server ftp.

Se vuoi fare in modo che le utenze autorizzate a connettersi al tuo server tramite ftp, non possano uscire da una specifica directory, ti basterà creare una (o piu) utenze sul sistema operativo, specificanto "/sbin/nologin" tra gli attributi al momento della creazione dell'utenza stessa, in modo che questa non possa loggarsi sul sistema, e poi assegnare a questa utenza accesso completo alla sola directory FTP condivisa alla quale possa accedere.

In questo modo, quell'utenza potrà acedere a quell'unica sua directory e, anche quando sarai connesso da remoto non potrai andare oltre quell'unica directory.
Per mia ignoranza in quest'ambito ho cercato in rete ed avevo trovato alcuni post che facevano uso del chroot_local_user per vincolare gli utenti alla propria home directory. Visto e considerato che è un procedimento sbagliato ed in rete non ho trovato altro, potresti darmi le direttive per vincolare un utente alla propria home directory quando si collega tramite server ftp?
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2867
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: chroot server ftp

Messaggio da DoctorStrange »

Ti basterà creare un nuovo utente "fittizio" nel tuo sistema operativo. Usando il comando

Codice: Seleziona tutto

sudo adduser --disabled-login --home /path/assoluto/alla/directory/ftp/condivisa --firstuid 1000 <nomeUtenteFTP>
creerai un nuovo utente, il cui nome è <nomeUtenteFTP> e la cui home directory è /path/assoluto/alla/directory/ftp/condivisa . Logicamente questi due parametri li dovrai cambiare in funzione delle tue scelte e del tuo sistema.

Questo utente inoltre non sarà in grado di fare login sul sistema operativo, questo vuol dire che non potrà fare alcuna operazione sul sistema.

A questo punto, imposterai la directory FTP condivisa in modo che l'utente FTP appena creato possa accedere in lettura e scrittura a questa directory:

Codice: Seleziona tutto

sudo chown -R nomeUtenteFTP /path/assoluto/alla/directory/ftp/condivisa && sudo chgrp -R nomeUtenteFTP /path/assoluto/alla/directory/ftp/condivisa && sudo chmod -R 0664 /path/assoluto/alla/directory/ftp/condivisa
A questo punto devi configurare il server FTP vero e proprio. Questa parte non la conosco molto bene. C'è qui sul forum questa guida: viewtopic.php?f=28&t=609698 fatta benissimo dall'utente thece.

Saluti
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 8 ospiti