Как сделать rsync-подобное зашифрованное резервное копирование?

38

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

Есть ли такое решение?

созерцаемое
источник
Проверьте это решение EncFS на serverfault: serverfault.com/a/268915/185896
Марк К Коуэн

Ответы:

25

Лучшая вещь вокруг - Двуличность . Единственным недостатком является то, что он не обрабатывает жесткие ссылки.

Другим решением является Tartarus , который может быть передан через GPG и FTP / SSH напрямую на сервер резервного копирования. Это делает приращения.

Вот инструкции Тартара на немецком языке .

Gunstick
источник
(Редакция 2013 г.) Нашел его на github: github.com/wertarbyte/tartarus ; это GPLv3; Я проверю, будет ли сегодня так же круто, как в 2011 году;)
Цербер
2019 здесь. Тартар не старел хорошо. Двуличность повзрослела, но разработка по-прежнему выглядит так, как будто она была размещена на сайте geocities
jnovack
9

Я думаю, вам понравится rsyncrypto .

Используйте rsyncrypto для шифрования файлов из вашего каталога открытого текста в ваш зашифрованный каталог и дешифрования файлов из вашего зашифрованного каталога и вашего каталога открытого текста, используя ключи, которые вы храните локально.

Используйте rsync для синхронизации между вашим зашифрованным каталогом и удаленным хостом.

Реализация rsyncrypto, которую вы можете загрузить сейчас из Sourceforge, обрабатывает не только изменения в байтах, но также и вставки и удаления.

С rsyncrypto все ключи шифрования никогда не покидают локальный компьютер.

«Удаленный сервер предпочтительно не должен даже знать структуру каталогов»

В этом случае вы захотите использовать эту --name-encrypt=mapопцию. Это делает каждое зашифрованное имя файла случайной строкой символов, и по умолчанию все искаженные имена файлов хранятся в одном каталоге. Истинные имена файлов и папок хранятся в (зашифрованном) файле с именем «filemap».

Связанный: "Есть ли зашифрованная система контроля версий?"

Дэвид Кэри
источник
1

В последние годы Rclone был разработан. Его девиз - «rsync для облачного хранилища», но он выходит за рамки S3 / Azure / Google / и т. Д. Поставщики облачных хранилищ также поддерживают синхронизацию между локальными и целевыми SSH / SFTP.

Любой «удаленная» настройка, вы также можете добавить крипты обертки вокруг него. Это действует как исходный пульт, но содержимое всех ваших файлов (и, возможно, сами имена файлов) шифруется на стороне клиента. Алгоритм задокументирован, и, по моему опыту, до сих пор это был простой процесс.

natevw
источник
0

Это делает tarsnap , но вы не управляете удаленным сервером, этот конец доступен только как (платная) служба. Тем не менее, он отвечает вашим требованиям.

Бруно Рохе
источник
0

Вы можете использовать encfs в «обратном» режиме. Это дает вам зашифрованный «просмотр» локальной папки. Затем вы пересылаете это зашифрованное представление вместо незашифрованных данных. Это дает вам все преимущества rsync без необходимости иметь зашифрованную копию ваших данных.

Майкл Вираз
источник