У меня есть компьютеры Linux и FreeBSD, оба зашифрованные (LUKS и geli соответственно). Мне интересно, как сделать резервные копии, которые также будут зашифрованы и будут доступны для чтения обоими (чтобы в случае сбоя одного из компьютеров я мог быстро восстановить данные с помощью другого).
К сожалению, похоже, что бот LUKS и geli являются модулями ядра для соответствующих систем, которые никогда не были портированы на соответствующие друг другу. Судя по нескольким угрозам в файловых системах, совместимых с BSD/Linux, кажется, что достаточно сложно создавать незашифрованные резервные копии, которые были бы читаемы для обеих систем (ext2, по-видимому, является единственным вариантом для файловой системы, которая допускает это).
Поэтому я думал о том, чтобы настроить виртуальную FreeBSD в Linux KVM, которая могла бы читать и записывать зашифрованный geli внешний диск и переносить данные на незашифрованный виртуальный том ext2 внутри зашифрованной LUKS файловой системы Linux (и наоборот). Однако это кажется ужасно сложным и не совсем правильным способом.
Есть ли какие-то лучшие/легкие/предпочтительные способы? Или описанный выше способ на данный момент является наилучшим возможным вариантом?
Спасибо, буду признателен за любые мысли по этому поводу.
решение1
Давайте выдвинем пару предположений. Если они не верны, прокомментируйте.
- вы используете машины с разными операционными системами и потенциально разными платформами.
- Вы описываете это для случая с 2 машинами, Linux и FreeBSD
- ваши машины используют зашифрованные файловые системы
- вы хотите создать резервные копии своих данных и хотите, чтобы эти резервные копии также были зашифрованы
- вы хотите иметь возможность доступа к данным в этих зашифрованных резервных копиях с любой из платформ, участвующих в архиве
(комментарий добавлен для того, чтобы провести различие между формами шифрования)
Вы упоминаете, что хотели бы иметь доступ к данным других систем с выжившей машины. Одним из способов может быть хранение незашифрованных резервных копий на локальной машине в ее зашифрованной файловой системе. Другим способом может быть хранение зашифрованных резервных копий на локальной машине в незашифрованной файловой системе. Я предлагаю хранить зашифрованные резервные копии в незашифрованных файловых системах.
Однако, в качестве отступления, всегда есть опасения по поводу зашифрованных резервных копий: - вам действительно нужно быть осторожным с ключом - частичное повреждение обычно уничтожает всю резервную копию
мое предложение: использовать
для создания резервных копий в одном или нескольких контейнерах, к которым обе машины могут получить доступ.
Чтобы все это хранить в пределах вашей локальной сети, вы можете:
- создать "резервную" файловую систему на обоих хостах для хранения зашифрованных резервных "пакетов". Она не обязательно должна быть зашифрованной файловой системой, так как резервные "пакеты" (brackup называет их "кусками"), хранящиеся на ней, будут зашифрованы
- экспортируйте эти файловые системы, например, с помощью NFS, и смонтируйте их на других хостах соответственно
- когда вы создаете резервные копии, сбрасывайте их в локальную файловую систему и зеркалируйте их в смонтированный NFS-каталог на другом хосте. Это имеет приятный побочный эффект наличия двух экземпляров ваших файлов резервных копий.
Теперь на ваших серверах будут следующие файловые системы:
на tux, вашей машине Linux:
/dev/foo / # encrypted filesystem
/dev/bar /tuxdump # unencrypted filesystem, local backup
beastie:/daemondump /daemondump # NFS backup destination
на beastie, ваша машина FreeBSD:
/dev/flurb / # encrypted filesystem
/dev/baz /daemondump # unencrypted filesystem, local backup
tux:/tuxdump /tuxdump # NFS backup destination
в зависимости от объема данных, которые вам нужно резервировать, вы также можете подумать о контейнере на внешнем сайте, подойдет любой облачный провайдер. В настоящее время я экспериментирую с настройкой своих контейнеров S3, чтобы старые данные отправлялись в Glacier, это выглядит очень многообещающе с точки зрения цены.
решение2
Двуличие- отличный инструмент для этой задачи, использует GPG для шифрования. Я использую его уже некоторое время и очень рекомендую.
В качестве альтернативы вы можете попробовать:
решение3
TrueCrypt должен работать как под Linux, так и под FreeBSD. Хотя я регулярно использую TrueCrypt только под Windows и сам не пробовал FreeBSD Truecrypt. YMMV.
решение4
Вы можете делать резервные копии файлов ваших машин, используя обычные rsync
жесткие диски других машин. Поскольку вы в любом случае используете локальное шифрование, оно шифруется с помощью локального системного шифрования, а передача защищена TLS. Обновления выполняются быстро, и вы придерживаетесь проверенных механизмов шифрования и резервного копирования.
Если вам просто нужно сделать резервную копию файлов на какой-то ненадежной системе, то мне вполне подошел простой GPG. Я автоматизировал некоторое шифрование и передачу FTP с помощью python, который отлично работает уже два года.