Зашифровані віддалені резервні копії через Rsync?


13

Я запускаю невеликий скромний сервер CentOS у себе вдома для резервного копіювання різного роду тощо. Мій друг з іншого боку міста також управляє невеликим скромним сервером у своєму будинку для подібних цілей. Ми розмовляємо з ідеєю використання серверів однодумців для створення віддалених / виїзних резервних копій.

В основному, ми купували зовнішній hdd-диск для зберігання в будинках для інших людей, підключений до серверів інших людей. Тоді ми б перед кожним налаштуванням запланували rsync, щоб перенести відповідні дані з одного сервера на зовнішній hdd на іншому сервері. Досить прямо здебільшого.

Однак одне, що важливо (принаймні для мене), - це шифрування даних. Я хочу зберігати свої дані на зовнішньому hdd на сервері друзів. Але я не хочу, щоб мій друг (або хтось, хто звертається до сервера мого друга), міг читати те, що відбувається на зовнішньому HDD.

Який найкращий підхід до цього? Чи можете ви використовувати rsync для надсилання даних на зашифрований hdd-накопичувач і якось передавати парольну фразу разом із тими даними, які вона використовує для запису, коли вона доходить до сервера?

Відповіді:


9

Я поглянув би на Дубліліті.

Дублікати будуть робити повні та додаткові резервні копії та передавати їх за допомогою Rsync, ftp, sftp, etcetc.

Duplicity використовує GPG для шифрування резервних копій та використовує файли підписів, а що ні.

Я використовую його для резервного копіювання своїх серверів електронної пошти, і це просто фантастичний один простий пакетний файл.

безкоштовно, звичайно, і простий у користуванні.

сторінка man: http://duplicity.nongnu.org/duplicity.1.html

сподіваюся, що це допомагає.

Люк


вау двозначність скель і дуже легко як повернути, так і відновити. Дякую за підказку!
Джейк Вілсон

11
## sync local unencrypted data to remote encrypted backups via rsync ..

## mount read-only encrypted virtual copy of unencrypted local data :
encfs --reverse --idle=60 -o ro ~/data/ ~/.tmp_encrypted_data/

## rsync push local encrypted virtual copy of data to remote encrypted copy :
rsync -ai --whole-file ~/.tmp_encrypted_data/ user@example.com:backup/

## unmount encrypted virtual copy of local data :
fusermount -u ~/.tmp_encrypted_data/

Нічого, я ніколи раніше не чув про EncFS. Це AWESOME, враховуючи, що у мене є 200 Гб для синхронізації з хмарою з ноутбука з диском 240 ГБ.
Марк К Коуан

Це рішення здається більш оптимальним, ніж варіанти дублювання або rsyncrypto. Це просто проста rsync зашифрованої (віртуальної) версії ваших файлів. Це саме те, що потрібно було в моїй ситуації. Проблема з подвійністю - це велика резервна копія BIG. Проблема з rsyncrypto - це вимога копії ваших даних. EncFS просто зашифровує його, коли rsync читає дані ..: D
ігрове створення

1

Ось мій резервний скрипт на основі відповіді Тор (все ще дійсний через кілька років!). Він додає копіювання файлу .encfs6.xml у міру необхідності для подальшого розшифрування (не потрібно 2011 року?), Створення тимчасової папки для зашифрованого кріплення та зчитування пароля шифрування з файлу (для автоматизованого сценарію):

#!/bin/bash

SOURCE=/home/jortiz/Documents/
BACKUP=/media/jortiz/BAK-EXGD/backup_ALMA_E6520/Documents

SOURCE_ENC=$(mktemp -d /tmp/source_enc.XXXXXX)
echo "Created temporary folder $SOURCE_ENC ..."

## sync local unencrypted data to remote encrypted backups via rsync

# mount read-only encrypted virtual copy of unencrypted local data
encfs --extpass="cat /home/jortiz/.passbackup" --reverse --idle=60 -o ro $SOURCE $SOURCE_ENC

# rsync push local encrypted virtual copy of data to remote encrypted copy
rsync -ai --whole-file $SOURCE_ENC/ $BACKUP

# Copy encfs xml file to backup folder for later decryption
rsync -ai --whole-file $SOURCE/.encfs6.xml $BACKUP

# unmount encrypted virtual copy of local data
fusermount -u $SOURCE_ENC

echo "Removing temporary folder $SOURCE_ENC ..."
rmdir $SOURCE_ENC

У моєму випадку я налаштовую щоденну резервну копію свого ноутбука та невеликих серверів на зовнішній USB-накопичувач, підключений локально. Я хочу зашифрувати резервну копію на випадок, якщо накопичувач одного дня зникне разом із деякими конфіденційними даними.


0

Рішення, подібне до описаного вище, вимагає надсилання ключа шифрування на машину вашого друга. Якщо ми вважаємо вашого друга "недовірливим сайтом", ви просто підірвали свою безпеку (він може захопити ключ і прочитати ваші дані).

Якщо ви хочете бути впевнені, що ваш друг не може прочитати ваші резервні копії, ви повинні зашифрувати файли перед тим, як надсилати їх (наприклад, зробити тарбол, зашифрувати його gpgчи подібне, а потім rsync над ним) і ніколи не давати йому ключ (або достатньо) простий текст для реверсивного ключа ().
Зауважте, що це заперечує переваги дельти (економія пропускної здатності) використання rsync: зашифрований файл істотно змінюватиметься кожного разу, коли ви створюєте резервну копію, тому, ймовірно, кожен раз будете копіювати все.


2
це те, що приємно у Duplicity, він шифрує його перед виходом з комп'ютера, але він цілком здатний робити додаткові резервні копії, читаючи підписи / зміни списків, а що ні, тому я запропонував це йому. Перше резервне копіювання займе багато часу, але після цього йому буде добре пройти, зберігаючи приємний рівень безпеки.
Лума

0

rsyncrypto написано саме для цієї мети. Це дозволяє використовувати алгоритм дельта-копіювання rsync при локальному шифруванні даних та віддаленому зберіганні зашифрованих крапок.

Однак майте на увазі, що rsyncrypto робить компроміс між безпекою та продуктивністю.


Швидко ознайомившись з тим, як працює rsyncrypto, я досить жахнувся ідеї того, хто її використовує. Мені хотілося б побачити думку поважного криптографа щодо підходу, перш ніж я довіряв йому будь-які свої дані.
живіт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.