Page 1 of 2
[feature] Шифрование бэкапов
Posted: Sat Jan 16, 2016 6:57 pm
by Scorcher
Мне надо заливать бэкапы на сторонний сервер (хостинг). Что-то моя паранойя не дала мне грузить их в чистом виде. Сделал шифрование на коленке по быстрому.
Но меня беспокоит, что это сейчас костылем и надо не забыть патчить каждое обновление панели.
Че-то я с ходу не могу придумать как эту фичу изящно вкрутить в интерфейс панели и как правильнее генерить ключи (автоматом при инсталле или юзер сам должен это сделать). Ведь тут важный момент - эти ключи обязательно нужно сохранить где-то и резервировать желательно, ибо их утеря - это бэкапы в помойку....
Т.е. как вариант может просто добавить в интерфейс настройки бэкапов возможность указания имени ключа и если он есть поведение скрипта бэкапа варьируется таким вот макаром.
Патч такой. Естесственно предварительно должен быть создан ключ 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] Шифрование бэкапов
Posted: Sun Jan 17, 2016 12:34 pm
by skurudo
Занятная идея, а обратно как распаковываете?
Re: [feature] Шифрование бэкапов
Posted: Sun Jan 17, 2016 12:37 pm
by Scorcher
skurudo wrote:Занятная идея, а обратно как распаковываете?
на память:
Code: Select all
cat $BACKUP/$user.$DATE.tar | gpg -d -r VestCPBackupKey | tar -xf -
Re: [feature] Шифрование бэкапов
Posted: Sun Jan 17, 2016 12:38 pm
by Scorcher
я не предполагаю, что буду разворачивать средствами панели, но по большому счету в этом сложного ничего нет. вы же записываете инфу про каждый бэкап - туда можно записать имя ключа, которым шифровали, следовательно если он указан можно его юзать для дешифровки...
Re: [feature] Шифрование бэкапов
Posted: Sun Jan 17, 2016 12:43 pm
by skurudo
Scorcher wrote:я не предполагаю, что буду разворачивать средствами панели, но по большому счету в этом сложного ничего нет. вы же записываете инфу про каждый бэкап - туда можно записать имя ключа, которым шифровали, следовательно если он указан можно его юзать для дешифровки...
Сходу не могу придумать, если делать такую опцию - именно опцией, т.е. шифровать бэкап или нет. Как потом проверять, зашифрован ли он или нет перед распаковкой.
Ключи хранить видимо по пользователям нужно, где-нибудь в /usr/local/vesta/data/users/../backupkey.conf + в backup.conf добавлять строку - закодирован ли архив или нет (возможно дублировать ключ), т.к. ключ мог же поменяться от бэкапа к бэкапу.
Не сказать, чтобы очень простая реализация для продакта )
Re: [feature] Шифрование бэкапов
Posted: Sun Jan 17, 2016 1:16 pm
by Scorcher
skurudo wrote:Scorcher wrote:я не предполагаю, что буду разворачивать средствами панели, но по большому счету в этом сложного ничего нет. вы же записываете инфу про каждый бэкап - туда можно записать имя ключа, которым шифровали, следовательно если он указан можно его юзать для дешифровки...
Сходу не могу придумать, если делать такую опцию - именно опцией, т.е. шифровать бэкап или нет. Как потом проверять, зашифрован ли он или нет перед распаковкой.
1. в backup.conf прописывать имя ключа которым шифровали
2. при попытке сделать tar -xf - будет ошибка - что это не тар архив :) возможно можно еще как-то с помощью gpg узнать зашиврован ли файл - возможно он делает метку там...
skurudo wrote:
Ключи хранить видимо по пользователям нужно, где-нибудь в /usr/local/vesta/data/users/../backupkey.conf + в backup.conf добавлять строку - закодирован ли архив или нет (возможно дублировать ключ), т.к. ключ мог же поменяться от бэкапа к бэкапу.
Не сказать, чтобы очень простая реализация для продакта )
да, только важно хранилище этих ключей тоже бэкапить и если этот бэкап тоже шифруется, то ключи от его шифрования надо держать где-то в надежном месте. А то в случае полной гибели сервера восстановить бэкапы не удастся, т.к. ключи будут лежать внутри бэкапа и на мертвом сервер :) поэтому можно будет выкинуть бэкапы.
Вообщем, да, согласен - прежде чем делать наверное надо еще мнений на эту тему набрать - может будет уже какая-то вполне конкретная конкретика... и будет куда проще сделать. я пока патчем буду. Может есть какие-то решения проще, а я не знал...
Re: [feature] Шифрование бэкапов
Posted: Sun Jan 17, 2016 2:32 pm
by skurudo
По возможности добавьте идею -
http://bugs.vestacp.com
со ссылкой на топик - давайте посмотрим за спросом на функцию.
Плюс перенесу обсуждение с основную ветку.
Re: [feature] Шифрование бэкапов
Posted: Sun Jan 24, 2016 8:07 pm
by Scorcher
Re: [feature] Шифрование бэкапов
Posted: Tue Apr 12, 2016 1:32 pm
by Skorsa
АП темы. Перечитал всю тему от начала до конца, но если честно не понял как ТС наладил шифрование бэкапов. Если нетрудно кто нибудь может "разжевать" как организовать это шифрование у себя на VPS ? Инструкция для чайников так сказать.
Re: [feature] Шифрование бэкапов
Posted: Tue Apr 12, 2016 2:20 pm
by Scorcher
Skorsa wrote:АП темы. Перечитал всю тему от начала до конца, но если честно не понял как ТС наладил шифрование бэкапов. Если нетрудно кто нибудь может "разжевать" как организовать это шифрование у себя на VPS ? Инструкция для чайников так сказать.
инструкции для чайников тут не будет, по крайней мере от ТС, т.к. чайники тут очень легко могут себе разбить лоб (потерять бэкапы).
В панели скорее всего тоже не будут внедрять эту функцию.
PS: я в итоге отказался от функционала бэкапирования из панели, т.к. у меня много больших сайтов, на которых мало изменений - места и времени на бэкапы не напосешься. Использую старый добрый fsbackup (в нем шифрование на борту, но там тоже надо понимать шифрование и бережно относиться к ключам).