Bonjour,
Afin d'éviter que des mots de passes de serveurs FTP se retrouvent sur des postes clients (voire même que les utilisateurs en aient connaissance) je cherche à savoir s'il existe un serveur FTP (à installer sur du Debian si possible) qui fasse l'intermédiaire avec d'autres serveurs FTP selon certains critères.
Je m'explique :
Actuellement, si Alice doit se connecter sur au serveur FTP : ftp://ftp.ndd.tld_ elle utilise les accès webmestre:secret_. Et donc, ces mots de passes se retrouvent bien, d'une façon où d'une autre stockés sur son disque dur (soit dans ses fichiers pour qu'elle les retrouve, soit parce qu'elle demande à FileZilla ne les retenir, soit dans ses e-mails, etc.)
J'aimerais faire en sorte qu'Alice n'ait pas besoin de ces accès pour s'y connecter. Pour ce faire j'envisage le système suivant :
Installer, sur un serveur perso, un logiciel se comportant comme un serveur FTP mais qui initierait, à la demande, une connexion vers un autre serveur FTP dont les coordonnées seraient stockées dans la configuration du serveur.
Exemple : Alice accède à ftp://ftpproxy.societe.com/abc et le serveur ftpproxy.societe.com lance une connexion vers le serveur FTP sous le label "abc".
Dans la configuration de du serveur ftpproxy.societe.com il y a les informations d'accès au serveur FTP "abc". Du style :
"abc" {
host: ftp.abc.net
port: 21
login: user42
password: secret
path: /storage/
}
Ainsi, le FileZilla d'Alice transférant le fichier dans ftp://ftpproxy.societe.com/abc/www/config_ les données iraient en réalité dans ftp://user42:secret@ftp.abc.net/storage/www/config_.
Pistes de solution : - Un moyen de détecter un accès à un dossier ("abc/" dans l'exemple) - Ouvrir à la volée une connexion FTP et la monter dans un dossier (avec curlftpfs)
Qu'en pensez-vous ?
# Intérêt ?
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 5.
Je ne vois pas l'intérêt. Au lieu de stocker en clair son nom d'utilisateur et son mot de passe de connexion sur un service, à la place elle stockera en clair son nom d'utilisateur et son mode passe de connexion sur ton service, et toi tu stockeras en clair son nom d'utilisateur et son mot de passe de connexion sur le service final.
Donc, ça me semble aussi compliqué pour elle, infiniment plus compliqué pour toi et deux fois plus dangereux de façon générale.
# Ou pas
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 3.
Ou pas. Pourquoi devrait-elle les stocker ? Elle pourrait les retenir.
[^] # Re: Ou pas
Posté par CDuv . Évalué à 0.
Parce qu'elle doit aller sur beaucoup beaucoup de serveurs FTP différents, alors retenir un simple label est plus simple qu'un triplet host/login/password.
Autre raison : la sécurité, les mots de passes d'accès aux serveurs FTP ne sont pas sur une machine cliente (à l'OS pouvant aller de Mac à GNU/Linux en passant par Windows) et peu sécurisés vu que FileZilla ne chiffre pas ces informations dans ces fichiers XML de profil.
Ils sont en revanche tous sur un serveur unique, à l'environnement contrôlé.
Bonus : Alice n'ayant plus du tout connaissance de ces identifiants FTP elle ne sera pas tenté d'aller les revendre à un concurrent.
# y a une faille dans le raisonnement
Posté par NeoX . Évalué à 2.
que se passe-t-il si BOB, le mechant, se connecte aussi à ftp://ftpproxy.societe.com/abc ?
car Alice veut peut-etre envoyer/recevoir des fichiers importants dont Bob ne doit pas avoir connaissance ?
et donc finalement il faut que tu identifies Alice à un moment donné donc qu'il y ait un login/pass
[^] # Re: y a une faille dans le raisonnement
Posté par Seb0uil . Évalué à 0.
Ou alors se baser sur l'authentification du système et utiliser un système tel que Kerberos par la suite pour l'authentification au serveur FTP.
[^] # Re: y a une faille dans le raisonnement
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 3.
Woah, tout de suite l'usine à gaz… Autant acheter à Alice un vrai trousseau de clef comme gnome-keyring, ce sera plus simple.
[^] # Re: y a une faille dans le raisonnement
Posté par CDuv . Évalué à -1.
J'ai simplifié la chose mais il est bien sûr possible d'envisager qu'Alice ne connecte pas à ftp://ftpproxy.societe.com/abc mais a ftp://alice:pwd@ftpproxy.societe.com/abc. Ainsi le méchant Bob ne pourras pas y aller (sauf s'il a lui aussi un compte).
# mais c'est achement compliqué ce truc
Posté par fearan . Évalué à 5.
moi je ferai plutôt un compte dédié accessible en ssh uniquement et un shell /bin/false
filezilla permettrai d'y accéder en sftp via les clé authorized_host, et peut être même une passphrase; ça me parait quand même plus simple.
Mais peut être que ça ne répond pas à ta problématique.
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
# Petite précision
Posté par CDuv . Évalué à 0.
Je précise une chose : je n'ai pas la main sur le(s) serveur(s) FTP qui seront accessible par ce système.
Mon seul lien est la connexion FTP qu'il m'est possible d'ouvrir avec les accès qui m'ont été donnés par les administrateurs respectifs de chaque serveur.
# ftpfs
Posté par fyah . Évalué à 1.
pour faire cela, voilà comment je m'y prendrais:
1/ monter les dossiers du serveur ftp distant (ftp.abc.net dans ton exemple)
2/ installer un serveur ftp local (ftpproxy.societe.com) qui sert les dossiers montés au 1/
Du coups tu gères les droits d'accès normalement, comme sur un simple serveur ftp local...
Un peu de doc:
- wiki
- ubuntu-fr
- le site du projet
[^] # Re: ftpfs
Posté par CDuv . Évalué à 0.
C'est bien ce vers quoi je pensais que j'allais m'orienter.
Mais comment ne pas monter en permanence tous les FTP distants ?
Est-il possible d'exécuter un script (qui fera les mount ftpfs) au moment d'une tentative d'accès ? Ou alors comme hook dans le serveur FTP ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.