Можно ли зашифровать контент, хранящийся в SVN? - PullRequest
9 голосов
/ 10 сентября 2009

Если я храню свой исходный код в SVN в компании, предоставляющей общий хостинг, возможно ли будет зашифровать контент, чтобы ДАЖЕ, если у кого-то есть доступ к репо, он не может видеть исходный код в открытом виде?

Есть ли плагин для этого? Иначе я представляю, что было бы безумно реализовать это самому!

Ответы [ 4 ]

7 голосов
/ 14 октября 2009

Правильный ответ здесь:

  1. Найдите хостинг-провайдера, которому вы доверяете (или того, который соответствует нормативным требованиям, если проблема связана с законодательством)
  2. Хозяин сам

Если основной проблемой является наличие защищенной резервной копии вне сайта, разместите хранилище самостоятельно и используйте где-нибудь, например, rsync.net для обработки резервной копии (это SOX / HIPAA соответствует). Задача cron, которая выполняет все операции каждые 15 минут, должна быть достаточной. Задание cron может зашифровать вашу резервную копию перед ее отправкой. Только не теряйте ключи / пароли.

Таким образом, Subversion вообще не нужно ничего знать о вашей схеме шифрования, и вы можете заниматься своей работой, не беспокоясь о паранойе, мешающей производительности.

Addenda

Поскольку вы делаете общий хостинг, а общие хосты бесполезны: приобретите выделенный хост управления исходным кодом. Не никогда не используйте общий хост для контроля версий. Общие хосты печально известны потерей данных и ложными заявлениями о безопасности данных и резервном копировании. Хорошие примеры выделенных хостов управления исходным кодом: CVSDude , Beanstalk , GitHub

1 голос
/ 27 марта 2014

Это старо, но я нахожу другое решение для этого и могу помочь другим.

Сегодня вы можете получить некоторые виртуальные серверы Provate (VPS) очень дешево. ($ 5 / месяц)

Почему VPS? Вы можете установить то, что вы хотите! (В ответе Боба Амана есть очень хорошая точка зрения о безопасности общих хостов)

  1. Установите TrueCrypt или другую систему шифрования.
  2. Установить SVN
  3. Создание репозитория SVN на диске / файле TrueCrypt
  4. Настройте SVN для использования SSH или другого безопасного метода передачи данных.

Я настроил все с ЭТОЙ статьей: http://cinserely.blogspot.com.br/2010/10/creating-encrypted-subversion.html

Как (4.) http://tortoisesvn.net/sasl_howto.html

0 голосов
/ 14 октября 2009

Плагин, который вы хотели бы иметь, должен быть на стороне клиента (очевидно, если вы не доверяете людям, имеющим доступ к размещенному хранилищу). Любой сильный криптографический алгоритм генерирует большие изменения в выходных данных из очень похожих входных данных (из-за их высокой энтропии).

Это означает, что даже если бы у вас было решение:

  • это будет катастрофа с точки зрения производительности, как времени вычислений, так и требований к пространству хранения и использованию пропускной способности сети, и
  • катастрофа при потере функциональности: например, будут нарушены различия на стороне сервера, вам придется выполнять все операции с полностью расшифрованными файлами на стороне клиента.

Слабое шифрование (например, искажение кодировки, которое снова сделает diffs пригодным для использования) небезопасно, особенно с исходным кодом, где фигурные скобки и скобки и оттуда циклы и любые другие буквы могут быть чрезвычайно быстро декодированы.

Надеюсь, это доказывает, что такой путь не приведет к какому-либо практическому решению. Может быть, я что-то упустил. Я с нетерпением жду интересных комментариев к моему ответу! : -)

0 голосов
/ 10 сентября 2009

Пост Мэтью относится к зашифрованной файловой системе, которую должен предоставить провайдер хостинга. Вероятно, это единственный простой способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...