Forum général.cherche-logiciel Synchronisation FTP + Chiffrement

Posté par  .
Étiquettes : aucune
0
20
juin
2007
Bonjour à tous,

Je cherche un logiciel qui me permettrait de synchroniser un répertoire local avec un répertoire distant (comme rsync donc) via le protocole FTP.
Mais comme je suis paranoïaque, j'aimerais qu'il propose un chiffrement des données. En fait, j'aimerais, qu'il chiffre les données dans un répertoire temporaire avant de les envoyer. Lors de la réception, j'aimerais qu'il déchiffre avant de les rapatrier. J'aimerais un chiffrement transparent en gros.
Pour éviter de retransferer le dossier source à chaque fois, je voudrais une comparaison basée sur la taille (mon FTP ne supporte pas la modification des timestamps). Mais cependant, le chiffrement peut modifier la taille du fichier (si on utilise un bloc cipher comme AES, du fait du padding), il faudrait que le logiciel soit capable de tolérer le padding du au chiffrement :-S. Oui, je veux le beurre et l'argent du beurre !

Voilà, alors, si ça existe, je m'incline bien bas devant ce logiciel. Si ça existe pas... mon interpréteur python m'attends.
( Cela devrait aller, y'a ftplib et j'ai une lib qui gère le chiffrement ,seulement, cette lib chiffre à partir d'une clé de taille fixe, par exemple, 32 octets pour AES 256, et je voudrais générer une clé à partir d'un mot de passe de taille variable... ).

Merci de m'avoir lu jusqu'au bout. (Ah oui, toutes les réponses m'intéressent, même si c'est pour me dire que vous avez déjà cherché et que vous n'aviez pas trouvé !)
  • # .

    Posté par  . Évalué à 3.

    Je connais pas de logiciel qui fait ce que tu cherches, mais j'ai une petite remarque :

    >Pour éviter de retransferer le dossier source à chaque fois, je voudrais une comparaison basée sur la taille

    Tu stockes ton fichier et un petit fichier de métadonnées. A chaque fois tu récuperes ton petit fichier de metadonnées. L'overhead sera négligeable et un fichier contenant taille+checksum sera quand meme plus fiable que de se baser seulement sur la taille.
    • [^] # Re: .

      Posté par  (site web personnel) . Évalué à 4.

      Je comprend pas pourquoi il se pend la tête en bricolage...

      Il aurait pour 40x plus simpliste d'utiliser un coup de sftp avec clef publique/privée et c'est torché...
      (pas de mot de passe, chiffrement de bout en bout, etc...)
      • [^] # Re: .

        Posté par  . Évalué à 1.

        Ouais, je sais ça fait un peu bricolage mon affaire...

        Mais bon mon FTP ne supporte pas le SSH, j'ai pas accès au serveur, je peux pas y installer ce que je veux.

        Sinon, cette nuit, j'ai pensé à une solution :
        - Avec curlftpfs et fuse, on peut monter un FTP sur un répertoire de notre aborescence.
        - Une fois le FTP monté, je créée un répertoire chiffré dedans avec Encfs.
        - Ensuite je lance un rsync la dessus.

        Mais apparemment, ça ne marche pas. En effet, j'arrive à monter le FTP puis à créer un répertoire chiffré encfs. J'arrive aussi à monter le répertoire chiffré encfs. Mais la, j'arrive pas à écrire dedans. Peut-être que fuse n'aime pas que l'on fasse un montage fuser dans un montage fuse...
    • [^] # Re: .

      Posté par  . Évalué à 1.

      Effectivement, c'est une bien meilleure idée, pour quelques kilo-octets de transfert en plus. J'y penserai, merci
  • # il me semble

    Posté par  . Évalué à 1.

    que rsync dispose d'une option ftp

    peut-etre meme une option sftp

    man rsync pourra surement t'en dire plus.
    • [^] # Re: il me semble

      Posté par  . Évalué à 1.

      Non, Je crois que rsync n'a pas d'option FTP.
      J'ai lu sa page man en entier avant de venir en plus :-)...

      J'ai même fait une recherche dans sa page man (avec Konqueror) et les seules occurrences de FTP sont celles qui donnent l'adresse du FTP de rsync, etc...
      • [^] # Re: il me semble

        Posté par  . Évalué à 1.

        j'avais du utiliser un autre soft alors.

        sinon rsync semble savoir se servir de ssh donc peut-etre de scp ou sftp
  • # La Solution...

    Posté par  . Évalué à 2.

    Bon alors, voilà, j'ai trouvé une solution utilisant fuse (file system in urserland), encfs(permet de monter des répertories chiffrés), curlftpfs(permet de monter un ftp sur un répertoire local), et rsync (permet de synchroniser deux répertoires). Tous sont disponibles sous forme de paquets pour la distribution Ubuntu. Pour les autres, je n'en sais rien !.
    Je viens de la tester à l'instant pour faire une sauvegarde de 25 Mo.
    Je poste ici cette solution, si quelqu'un est intéressé ! Elle a quand même plusieurs défauts :
    - Le transfert n'est pas chiffré (enfin il me semble)
    - Les performances sont catastrophiques, avec un Upload de 64Ko/s, le transfert se fait à.... 2 Ko/s

    Les étapes à suivre dans l'ordre sont :
    - Monter le répertoire ftp :
    curlftpfs ftp://ftp.monftp.fr ~/mountftp -o user=login:password
    - Monter le répertoire chiffré :
    encfs --no-default-flags ~/mountftp/backup ~/mountbackup
    L'option no-default-flags, permet de désactiver le support des permissions, très utile si votre FTP ne les supporte pas. C'est l'erreur que j'obtenais précédemment. Voir man encfs
    - Un coup de rsync :
    rsync -tr --force --size-only --delete --verbose --progress "/home/me/Programmation/" "/home/me/mountbackup"
    (Comparaison basée sur la taille, mon ftp ne supporte pas les timestamps)
    rsync -tr --force --checksum --delete --verbose --progress "/home/me/Programmation/" "/home/me/mountbackup"
    (Comparaison bassée sur un checksum : +fiable )

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.