Резервное копирование ключа шифрования NextCloud

Я собираюсь настроить NextCloud на собственном хостинге и создать резервную копию на внешнем хранилище (Dropbox, S3 ...). Я хочу, чтобы эта резервная копия была зашифрована.

К счастью, это изначально поддерживается NextCloud. Все, что мне нужно сделать, это убедиться, что закрытые ключи также сохранены на случай, если мне нужно будет восстановить.

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

Конечно, это нарушит шифрование. Если только сами закрытые ключи не зашифрованы паролем, и в этом случае моя резервная копия «зашифрована паролем», что достаточно для моего случая использования.

Но я не смог найти однозначного ответа на этот вопрос в руководстве по NextCloud.

tldr : защищены ли ключи шифрования NextCloud паролем?

Кроме того, я упустил еще кое-что, на что стоит обратить внимание?

0
задан 16 November 2019 в 11:17
1 ответ

Ответ на ваш вопрос технически "да", но есть некоторые примечательные последствия, которые следует учитывать применительно к варианту использования резервных копий.

В Nextcloud есть две основные схемы шифрования на стороне сервера. Последние версии Nextcloud по умолчанию использует "мастер-ключ", который может расшифровать все.

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

Если вы видите что-то подобное, это использует пользовательский (старый) стиль:

Вот описание от одного из авторов Nextcloud Default Плагин модуля шифрования:

В целом Nextcloud предоставляет возможные настройки:

  1. Каждый пользователь имеет свой собственный закрытый/открытый ключ, и администратор может дополнительно предложить ключ восстановления, который каждый пользователь должен принять (согласие) . Чтобы расшифровать пользовательские файлы с помощью occ, вам нужен либо пароль пользователя, и в этом случае закрытый ключ пользователя + ключи файла + база данных для проверки подписи, либо пароль ключа восстановления (если пользователь включил ключ восстановления). В случае ключа восстановления вам потребуется закрытый ключ восстановления, пароль ключа восстановления, файловые ключи и база данных. Это была настройка по умолчанию до Nextcloud 13, вы могли включить мастер-ключ с шифрованием occ:enable-master-key, в этом случае используется настройка 2.

  2. Используется главный ключ.Это значение по умолчанию, если шифрование было впервые включено в Nextcloud 13 или более поздней версии или если оно было включено администратором с помощью команды occ шифрование occ:enable-master-key. В этом случае для всех файлов всех пользователей используется только один ключ, закрытый ключ шифруется паролем экземпляра. Чтобы расшифровать все файлы с помощью команды occ, вам нужен только закрытый мастер-ключ, ключ файла и база данных.

Для метода на пользователя шифрования (старый стиль) ключи защищены паролем для входа пользователя Nextcloud:

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

(См. Конфигурация шифрования — Последняя версия руководства по администрированию Nextcloud, последняя документация ).

Для реализации мастер-ключа (которая является текущей по умолчанию и наиболее вероятно, что вы будете использовать), абсолютный минимум, необходимый, чтобы иметь шанс на расшифровка данных - это 1) пара мастер-ключей и 2) секрет от config.php. Чтобы следовать официальному процессу (т.е. чтобы обеспечить успех), вы также нужен дамп базы данных после того, как файлы были зашифрованы. Ты сможешь попытка взломать шифрование без базы данных путем отключения файла проверки подписи, но ваш пробег будет другим.

Так что да, вы можете поместить ключи в виде простого текста вместе с зашифрованной резервной копией в что-то вроде Dropbox с относительной безопасностью. Без секрета из config.php, маловероятно, что злоумышленник сможет расшифровать данные. Это также означает, что вы не сможете. Если у вас есть ключи и конфиг.php секрет, но база данных зашифрована, вы застряли в попытках взломать шифрование путем отключения проверки подписи. Для плавного восстановления вам понадобится мастер-ключ, файл config.php и актуальный снимок базы данных — все сохранено надежно в другом месте.

На данный момент я думаю, что фактор удобства хранения ключей резервное копирование отменяется. Еще одной неприятностью будет процесс восстановления. Вы все еще запускать новый экземпляр Nextcloud для расшифровки данных. Расшифрованные данные тогда будет полная резервная копия вашего экземпляра Nextcloud, которая сама по себе потребует для импорта/восстановления в экземпляр Nextcloud.

Использование другого подхода, подобного этому, может облегчить вашу жизнь в случае которые вам нужно восстановить из резервной копии после полной потери:

https://kevq.uk/how-to-backup-nextcloud/

В Интернете есть множество подобных примеров резервных копий, подобных этому. То ключевые моменты:

  • Создается полная резервная копия, единый моментальный снимок, который можно использовать для простого восстановления в соответствии с официальной документацией
  • Резервная копия сжимается в один файл, который легче перенести и шифрование
  • Проблема шифрования не связана с самим Nextcloud.Вы можете выбрать любой метод, который соответствует вашим потребностям, с использованием стандартных инструментов, таких как GPG
  • Зашифрованные резервные копии хранятся в каком-то удаленном месте, которое поддерживает API взаимодействия через интерфейс командной строки, например S3 или B2
  • Весь процесс представляет собой просто сценарий — автоматизируйте его с помощью cron и запустите вручную в любое время.
  • Добавление другого источника резервного копирования не требует особых усилий — просто запишите еще один шаг в сценарий для копирования файла в другое место
  • Для восстановления все, что вам нужно сделать, это получить последнюю резервную копию, расшифровать ее (с стандартные инструменты, которые вы выбрали), скопируйте его в нужное место на новом экземпляре, и следуйте официальным руководствам (даже проще для мгновенной установки)

Надеюсь, это поможет! Шифрование в Nextcloud обманчиво легко настроить, но оно определенно сопряжено с рисками и компромиссами. В сообщениях на форуме нет недостатка и проблемы GitHub с рассказами о потерянных данных с использованием шифрования Nextcloud.

Я использую Nextcloud в качестве основного драйвера установки «Мне не нужен Google». уже пару лет. Он был поразительно неприхотлив в обслуживании, очень надежен, и полезно настроить. Надеюсь, вы попробуете!

1
ответ дан 14 September 2020 в 04:20

Теги

Похожие вопросы