10
votes

Est-il possible de chiffrer le contenu stocké dans svn?

Si je stocke mon code source dans SVN sur une société d'hébergement partagée, il serait-il possible de chiffrer le contenu de manière à ce que quelqu'un ait accès au repo qu'ils ne peuvent pas voir la source en vue uni?

Y a-t-il un plugin pour cela? Sinon, j'imagine que ce serait fou la mise en œuvre de ce soi-même!

svn

1 commentaires

Il devrait être possible (sur certains systèmes de contrôle de la révision, en fonction de la manière dont ils fonctionnent en interne): Si le système de contrôle de la révision stocke des deltas (non des révisions), et cela ne vous dérange pas de fuir le nombre de révisions qu'il y ait. Ensuite, vous pouvez crypter les Deltas, puis les vérifier dans un autre référentiel. Maintenant, je peux voir l'histoire (peut-être des commentaires de Checkin, en fonction de la politique), sans la clé. Mais vous avez besoin de la clé pour voir quelque chose de plus. Diffs fonctionnera bien et la taille du référentiel ne sera pas affectée négativement, car la compression du référentiel fonctionne toujours telle qu'elle est faite localement, avant le cryptage.


4 Réponses :


0
votes

La poste de Mathew est destinée à un système de fichiers crypté que le fournisseur d'hébergement devrait fournir. C'est probablement le seul moyen facile de le faire.


1 commentaires

Ce n'est pas seulement que - il stocke également des blobs cryptés dans le référentiel, perdant toute la version utile suivante dans le processus.



0
votes

Le plugin que vous aimeriez avoir à être du côté du client (évidemment si vous ne faites pas confiance aux personnes ayant accès au référentiel hébergé). Tout algorithme cryptographique puissant génère de grandes variations de la sortie à partir d'une entrée très similaire (en raison de leur entraplopie élevée).

Cela signifie même si vous auriez une solution:

  • Ce serait une catastrophe en termes de performance, à la fois des exigences de l'espace de calcul et de l'espace de stockage et l'utilisation de la bande passante de réseau, et
  • Une catastrophe dans la perte de fonctionnalités: Diffs latéral du serveur serait cassé par exemple, vous devriez effectuer toutes les opérations sur les fichiers entièrement déchiffrés du côté client.

    cryptage faible (mangling le chartet par exemple, qui rendrait des diffs utilisables à nouveau), notamment avec le code source, où les accolades et les supports et de là des boucles et de toutes les autres lettres peuvent être extrêmement rapidement décodées.

    J'espère que cela prouve que cela va de cette façon ne conduit à aucune solution pratique possible. Peut-être que je manque quelque chose. Je suis impatient de lire des commentaires intéressants sur ma réponse! : -)


0 commentaires

7
votes

La bonne réponse ici est soit:

  1. Trouvez un fournisseur d'hébergement en qui vous avez confiance (ou celui qui est conforme si le problème de la réglementation est le problème)
  2. l'hébergez vous-même

    Si la principale préoccupation consiste à obtenir une sauvegarde hors site sécurisée, hébergez le référentiel vous-même et utilisez quelque part comme rsync.net à Gérer la sauvegarde (ils sont SOX / HIPAA conforme). Un travail cron qui rsyncs toutes les 15 minutes devrait être suffisant. Le travail cron peut crypter votre sauvegarde avant de la pousser. Il suffit de ne pas perdre les clés / mots de passe.

    De cette façon, Subversion n'a rien besoin de savoir du tout à propos de votre système de cryptage et vous pouvez faire votre travail sans avoir à vous soucier de la paranoïa dans la voie de la productivité.

    addenda :

    puisque vous faites l'hébergement partagé et que les hôtes partagés ne valent rien: obtenir un hôte de contrôle de source dédié. Ne jamais Utilisez un hôte partagé pour le contrôle de la source. Les hôtes partagés sont notoires pour perdre des données et faire de fausses créances sur la sécurité et les sauvegardes de données. Bons exemples d'hôtes de contrôle source dédiés: CVSDUDE , Beanstakk , Github


3 commentaires

J'ajouterai également que l'un des effets secondaires intéressants du contrôle de la version distribuée est que chaque clone du référentiel essentiellement est une sauvegarde. En outre, je crois absolument GitHub avec pratiquement tout ce que j'écris. Voir aussi: svnhub.com


GitHub permet-il de chiffrer les repos cryptés?


Bonne question. Je ne sais pas. Vous devriez demander aux github gars. :-)



1
votes

C'est vieux mais je trouve une autre solution pour cela et peut aider les autres.

Aujourd'hui, vous pouvez obtenir des serveurs VPS virtuels (VPS) très bon marché. (5 $ / mois)

Pourquoi VPS? Vous pouvez installer ce que vous voulez! (La réponse de Bob Aman a un très bon point sur la sécurité des hôtes partagées)

  1. Installez Truecrypt ou un autre système de cryptage.
  2. Installez svn
  3. Créez le référentiel SVN dans le lecteur / fichier Truecrypt
  4. Configurez SVN pour utiliser une méthode SSH ou une autre méthode de transfert de données sécurisée.

    J'ai tout configuré avec cet article: http: // Cinserely.blogspot.com.br/2010/10/Créating-crypted-Subversion.html

    Comment (4.) http://tortoisevn.net/sasl_howto.html


0 commentaires