What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

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

chillco

Midle Weight
Депозит
$0
Здравствуйте.
Нужно сохранить бэкапы на сервер, да так, что бы сервер получал только зашифрованные данные, т.е. шифрование на локальном устройстве перед загрузкой данных на сервер и расшифрование после скачивания используя ключ шифрования сохранённый локально.
Конечно, удобство имеет значение, а значит изменение одного байта в данных не должно требовать загрузки всех данных заново.

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

Есть ли готовые решения?
Что можете посоветовать? Спасибо!
 
stooper сказал(а):
Задача вполне решаемая, готовые решения есть и они на поверхности)
На клиентском сервере вы можете использовать rsync + sftp для безопасной передачи данных на сервер бекапов.
На локальном генерируете ключ при помощи openssl, сохраняете его в файл, затем этим ключом шифруете свои бекапы, к примеру tar.gz, и без этого ключа их не расшифровать, даже имея доступ к серверу бекапов.
Если нужен инкрементный бекап, то это тоже делается штатными средствами, раз в несколько дней - полный, и по расписанию каждый день - инкрементный. Грубо говоря, небольшой скрипт на bash решает вопрос полностью.

Спасибо за ответ. Такой подход мне известен, но это очень неудобно. Для того что бы изменить один файл нужно заново создавать архив, шифровать и загружать на сервер. Скачать только один файл тоже не выйдет, придется качать весь архив. Так как я использую тор для соединения с сервером, загрузка/скачивание заставят очень долго ждать, хоть и размер бэкапа не велик (~500 МБ).
Наверняка должны быть и другие, более эффективные решения.
 
Кстати, а что можете посоветовать по поводу исходников? Как лучше всего хранить, чтобы можно было сохранить контроль версий? Хоть и действует политика приватности на пользовательские репозитории на бесплатных ресурсах, но по-сути глобальный админ того же гитлаба может получить доступ к пользовательскому коду. Пока на ум приходит поднять где-то приватный гитлаб, но опять же есть свои минусы.
 
Top