Discussione:
[X-post] VSFTPD con utenti virtuali autenticati con le chiavi private di ogni client
(troppo vecchio per rispondere)
^Bart - Debian Bookworm
2023-12-12 23:17:10 UTC
Permalink
Ciao a tutti,

dopo aver investito diverso tempo per cercare di capire come
autenticarmi a VSFTPD con chiavi private create nei vari client con
openssl come solitamente avviene quando ci si connette ai server ho
chiesto delucidazioni a chatgpt che sentenzia:

"Se vuoi configurare vsftpd per utilizzare chiavi private per
l'autenticazione degli utenti virtuali, dovresti considerare un
approccio diverso. Attualmente, vsftpd non supporta nativamente
l'autenticazione SFTP basata su chiavi private per utenti virtuali.
Tuttavia, puoi prendere in considerazione l'uso di uno strumento
aggiuntivo come OpenSSH (il server SSH) per gestire l'autenticazione
basata su chiavi e quindi configurare vsftpd per consentire solo
connessioni SFTP."

In passato ovviamente ho già creato utenti virtuali con PAM ed
ovviamente funzionano, il web è pieno di tutorial che ne parlano ma
effettivamente nessuno parla di quello che vorrei fare io quindi mi sa
che più indizi fanno una prova... :\

Saluti.
^Bart
Giovanni
2023-12-13 17:07:11 UTC
Permalink
Post by ^Bart - Debian Bookworm
dopo aver investito diverso tempo per cercare di capire come
autenticarmi a VSFTPD con chiavi private create nei vari client con
openssl come solitamente avviene quando ci si connette ai server ho
"Se vuoi configurare vsftpd per utilizzare chiavi private per
l'autenticazione degli utenti virtuali, dovresti considerare un
approccio diverso. Attualmente, vsftpd non supporta nativamente
l'autenticazione SFTP basata su chiavi private per utenti virtuali.
Tuttavia, puoi prendere in considerazione l'uso di uno strumento
aggiuntivo come OpenSSH (il server SSH) per gestire l'autenticazione
basata su chiavi e quindi configurare vsftpd per consentire solo
connessioni SFTP."
In passato ovviamente ho già creato utenti virtuali con PAM ed
ovviamente funzionano, il web è pieno di tutorial che ne parlano ma
effettivamente nessuno parla di quello che vorrei fare io quindi mi sa
che più indizi fanno una prova... :\
Temo proprio che chatgpt abbia ragione. Il protocollo FTP non prevede
l'autenticazione mediante chiavi private. Puoi aprire un connessione
SSL ma è poi necessario autenticarsi con user e password (anche se anonimo).

Ho fatto parecchie prove con proftpd ma poi sono arrivato alla
conclusione che è proprio il protocollo che non lo prevede e che la
connessione criptata è utile solo per far sì che la user/password non
siano in chiaro. Anche i dati possono essere criptati ma, come nel mio
caso, si rendono accessibili q tutti non ha molto senso.

SFTP è un protocollo diverso basato e presumo che sia basato su entrambi
i protocolli ssh e ftp ed è basato sulla porte 22 (ssh) e sulla porta
115 (sftp).

Il comando 'scp' dal pacchetto SSH nelle ultime versioni usa sftp ma, a
differenza di quest'ultimo, non puoi usarlo interattivamente. Per
copiare file da una macchina all'altra lo trovo molto più pratico e,
come vuoi fare tu, accetta l'autenticazione con chiavi (senza user e/o
password).

Ciao
Giovanni
--
A computer is like an air conditioner,
it stops working when you open Windows.
< https://giovanni.homelinux.net/ >
sm
2023-12-13 21:54:33 UTC
Permalink
Post by Giovanni
SFTP è un protocollo diverso basato e presumo che sia basato su entrambi
i protocolli ssh e ftp ed è basato sulla porte 22 (ssh) e sulla porta
115 (sftp).
No sftp usa solo la porta 22 perché passa attraverso ssh. Per me è da anni
e anni lo standard de facto per il trasferimento file, non capisco quelli
che continuano ad insistere con ftp che peraltro è anche un colossale dito
in c..o.
^Bart - Debian Bookworm
2023-12-14 19:39:46 UTC
Permalink
Post by sm
No sftp usa solo la porta 22 perché passa attraverso ssh. Per me è da anni
e anni lo standard de facto per il trasferimento file, non capisco quelli
che continuano ad insistere con ftp che peraltro è anche un colossale dito
in c..o.
Perdona l'ignoranza perché quel protocollo l'ho sempre usato come con
utenti di sistema, nel caso invece si volessero usare dei virtual user
sarebbe fattibile sfruttare sempre i certificati?

Saluti.
^Bart
sm
2023-12-14 22:49:14 UTC
Permalink
Post by ^Bart - Debian Bookworm
Post by sm
No sftp usa solo la porta 22 perché passa attraverso ssh. Per me è da
anni e anni lo standard de facto per il trasferimento file, non capisco
quelli che continuano ad insistere con ftp che peraltro è anche un
colossale dito in c..o.
Perdona l'ignoranza perché quel protocollo l'ho sempre usato come con
utenti di sistema, nel caso invece si volessero usare dei virtual user
sarebbe fattibile sfruttare sempre i certificati?
Intanto quelli non sono certificati ma coppie di chiavi, i certificati
sono una cosa diversa.

Quanto agli utenti virtuali: è un concetto che esiste solo in vsftp, al di
fuori non significa nulla. Quindi devi chiederti cosa vuoi fare. La via
raccomandata è quella di avere più utenti di sistema, questo garantisce
una corretta segregazione. Se ti basta semplicemente avere differenti
working dir senza segregazione, allora puoi agire sul file authorized_keys
forzando il comando:

command="internal-sftp -d /path/workdir" ssh-rsa XXXXX

Però tutte le volte mi chiedo: ma gli utenti gli pagate?
^Bart - Debian Bookworm
2023-12-17 08:59:59 UTC
Permalink
Post by sm
Intanto quelli non sono certificati ma coppie di chiavi, i certificati
sono una cosa diversa.
Corretta precisazione.
Post by sm
Quanto agli utenti virtuali: è un concetto che esiste solo in vsftp, al di
fuori non significa nulla. Quindi devi chiederti cosa vuoi fare. La via
raccomandata è quella di avere più utenti di sistema, questo garantisce
una corretta segregazione.
Personalmente ho sempre preferito non creare utenti di sistema a chi,
passami il gioco di parole, non doveva collegarsi a quel sistema però è
altresì verso che in un sistema unix like puoi crearne restringendone
l'accesso praticamente a tutto tranne che a quella directory dove si
deve leggere e scrivere.
Post by sm
Se ti basta semplicemente avere differenti
working dir senza segregazione, allora puoi agire sul file authorized_keys
command="internal-sftp -d /path/workdir" ssh-rsa XXXXX
Non conoscevo questo comando, in sostanza dovrei inserire ogni riga per
ogni chiave che ovviamente punti alla specifica directory dell'utente.
Post by sm
Però tutte le volte mi chiedo: ma gli utenti gli pagate?
Ovvio che non si pagano gli utenti, come già accennato sopra, pur
limitandoli in tutto, in passato o in generale non era visto di buon
occhio creare utenti di sistema anche se gli stessi non dovevano
accedere al sistema.

Saluti.
^Bart
sm
2023-12-17 09:45:35 UTC
Permalink
Post by ^Bart - Debian Bookworm
Ovvio che non si pagano gli utenti, come già accennato sopra, pur
limitandoli in tutto, in passato o in generale non era visto di buon
occhio creare utenti di sistema anche se gli stessi non dovevano
accedere al sistema.
Ma quando mai, scusa. Se apri /etc/passwd è pieno di utenti che non devono
accedere al sistema.

Loading...