We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
[feature] Шифрование бэкапов
[feature] Шифрование бэкапов
Мне надо заливать бэкапы на сторонний сервер (хостинг). Что-то моя паранойя не дала мне грузить их в чистом виде. Сделал шифрование на коленке по быстрому.
Но меня беспокоит, что это сейчас костылем и надо не забыть патчить каждое обновление панели.
Че-то я с ходу не могу придумать как эту фичу изящно вкрутить в интерфейс панели и как правильнее генерить ключи (автоматом при инсталле или юзер сам должен это сделать). Ведь тут важный момент - эти ключи обязательно нужно сохранить где-то и резервировать желательно, ибо их утеря - это бэкапы в помойку....
Т.е. как вариант может просто добавить в интерфейс настройки бэкапов возможность указания имени ключа и если он есть поведение скрипта бэкапа варьируется таким вот макаром.
Патч такой. Естесственно предварительно должен быть создан ключ VestCPBackupKey.
Но меня беспокоит, что это сейчас костылем и надо не забыть патчить каждое обновление панели.
Че-то я с ходу не могу придумать как эту фичу изящно вкрутить в интерфейс панели и как правильнее генерить ключи (автоматом при инсталле или юзер сам должен это сделать). Ведь тут важный момент - эти ключи обязательно нужно сохранить где-то и резервировать желательно, ибо их утеря - это бэкапы в помойку....
Т.е. как вариант может просто добавить в интерфейс настройки бэкапов возможность указания имени ключа и если он есть поведение скрипта бэкапа варьируется таким вот макаром.
Патч такой. Естесственно предварительно должен быть создан ключ VestCPBackupKey.
Code: Select all
--- v-backup-user 2015-11-07 17:43:15.000000000 +0300
+++ v-backup-user.gpg 2016-01-08 19:23:11.052882877 +0300
@@ -805,7 +805,7 @@ sftp_backup() {
sftpc "cd $BPATH" "put $user.$DATE.tar" > /dev/null 2>&1
else
cd $tmpdir
- tar -cf $BACKUP/$user.$DATE.tar .
+ tar -cf - . | gpg -z 0 --batch -e -r VestCPBackupKey > $BACKUP/$user.$DATE.tar
cd $BACKUP/
sftpc "cd $BPATH" "put $user.$DATE.tar" > /dev/null 2>&1
rm -f $user.$DATE.tar
Re: [feature] Шифрование бэкапов
Занятная идея, а обратно как распаковываете?
Re: [feature] Шифрование бэкапов
на память:skurudo wrote:Занятная идея, а обратно как распаковываете?
Code: Select all
cat $BACKUP/$user.$DATE.tar | gpg -d -r VestCPBackupKey | tar -xf -
Re: [feature] Шифрование бэкапов
я не предполагаю, что буду разворачивать средствами панели, но по большому счету в этом сложного ничего нет. вы же записываете инфу про каждый бэкап - туда можно записать имя ключа, которым шифровали, следовательно если он указан можно его юзать для дешифровки...
Re: [feature] Шифрование бэкапов
Сходу не могу придумать, если делать такую опцию - именно опцией, т.е. шифровать бэкап или нет. Как потом проверять, зашифрован ли он или нет перед распаковкой.Scorcher wrote:я не предполагаю, что буду разворачивать средствами панели, но по большому счету в этом сложного ничего нет. вы же записываете инфу про каждый бэкап - туда можно записать имя ключа, которым шифровали, следовательно если он указан можно его юзать для дешифровки...
Ключи хранить видимо по пользователям нужно, где-нибудь в /usr/local/vesta/data/users/../backupkey.conf + в backup.conf добавлять строку - закодирован ли архив или нет (возможно дублировать ключ), т.к. ключ мог же поменяться от бэкапа к бэкапу.
Не сказать, чтобы очень простая реализация для продакта )
Re: [feature] Шифрование бэкапов
1. в backup.conf прописывать имя ключа которым шифровалиskurudo wrote:Сходу не могу придумать, если делать такую опцию - именно опцией, т.е. шифровать бэкап или нет. Как потом проверять, зашифрован ли он или нет перед распаковкой.Scorcher wrote:я не предполагаю, что буду разворачивать средствами панели, но по большому счету в этом сложного ничего нет. вы же записываете инфу про каждый бэкап - туда можно записать имя ключа, которым шифровали, следовательно если он указан можно его юзать для дешифровки...
2. при попытке сделать tar -xf - будет ошибка - что это не тар архив :) возможно можно еще как-то с помощью gpg узнать зашиврован ли файл - возможно он делает метку там...
да, только важно хранилище этих ключей тоже бэкапить и если этот бэкап тоже шифруется, то ключи от его шифрования надо держать где-то в надежном месте. А то в случае полной гибели сервера восстановить бэкапы не удастся, т.к. ключи будут лежать внутри бэкапа и на мертвом сервер :) поэтому можно будет выкинуть бэкапы.skurudo wrote: Ключи хранить видимо по пользователям нужно, где-нибудь в /usr/local/vesta/data/users/../backupkey.conf + в backup.conf добавлять строку - закодирован ли архив или нет (возможно дублировать ключ), т.к. ключ мог же поменяться от бэкапа к бэкапу.
Не сказать, чтобы очень простая реализация для продакта )
Вообщем, да, согласен - прежде чем делать наверное надо еще мнений на эту тему набрать - может будет уже какая-то вполне конкретная конкретика... и будет куда проще сделать. я пока патчем буду. Может есть какие-то решения проще, а я не знал...
Re: [feature] Шифрование бэкапов
По возможности добавьте идею - http://bugs.vestacp.com
со ссылкой на топик - давайте посмотрим за спросом на функцию.
Плюс перенесу обсуждение с основную ветку.
со ссылкой на топик - давайте посмотрим за спросом на функцию.
Плюс перенесу обсуждение с основную ветку.
Re: [feature] Шифрование бэкапов
https://bugs.vestacp.com/responses/back ... nie-bekapa
свяжем ветку с идеей, понаблюдаем за интересом...
свяжем ветку с идеей, понаблюдаем за интересом...
Re: [feature] Шифрование бэкапов
АП темы. Перечитал всю тему от начала до конца, но если честно не понял как ТС наладил шифрование бэкапов. Если нетрудно кто нибудь может "разжевать" как организовать это шифрование у себя на VPS ? Инструкция для чайников так сказать.
Re: [feature] Шифрование бэкапов
инструкции для чайников тут не будет, по крайней мере от ТС, т.к. чайники тут очень легко могут себе разбить лоб (потерять бэкапы).Skorsa wrote:АП темы. Перечитал всю тему от начала до конца, но если честно не понял как ТС наладил шифрование бэкапов. Если нетрудно кто нибудь может "разжевать" как организовать это шифрование у себя на VPS ? Инструкция для чайников так сказать.
В панели скорее всего тоже не будут внедрять эту функцию.
PS: я в итоге отказался от функционала бэкапирования из панели, т.к. у меня много больших сайтов, на которых мало изменений - места и времени на бэкапы не напосешься. Использую старый добрый fsbackup (в нем шифрование на борту, но там тоже надо понимать шифрование и бережно относиться к ключам).