TrueNAS или как восстановить облачные бекапы

Опубликовано 13 дек. 2025 г.

У меня в домашней лаборатории self-hosted торчит TrueNas и по шедуллеру заливает бекапы критичных файлов по протоколу webdav в облако.

В облаке каждый файл имеет расширение .bin, если скачать к себе на машину такой файл, то внутри будет мусор.

ЧИТАТЬ ПЕРВЫМ В ТЕЛЕГРАМ   ЧИТАТЬ ПЕРВЫМ В MAX

И тут возник логичный вопрос, если мой TrueNas пойдет по пизде, как мне забрать из бекапа файлы и расшифровать их без участия TrueNas?

Оказалось все довольно просто. Под капотом TrueNas установлен rclone, который и выполняет задачу резервирования данных. Получается имея на своей локальной машине rclone теоретически можно забрать шифрованные бекапы и легко их расшифровать.

Давай попробуем реализовать задуманное.

Бекапы шифруются с помощью Encryption Password и Encryption Salt, эти параметры задаются в TrueNas, соответственно нам понадобятся эти данные.

Для начала расшифруем один файл, посмотрим как всё проёдет.

Зашифрованный бекап файла я скачал к себе на машину и положил в папку /tmp/encrypted/file.jpg.bin

Если файл открыть на просмотр, увидим такое:

RCLONE......hx^..]]NN..
..=._.S...4:..b...P...3`.^u0yO  Ҭ..)..fkMP...K..

Пишем конфиг ~/.config/rclone.conf:

[cryptbackup]
type = crypt
remote = /tmp/encrypted
filename_encryption = off
directory_name_encryption = false
password = ZK6U8CZRqP-vzf8XwDf0HwjO_Q
password2 = -GGulJpRclHETnHVhp1MMs

Этот конфиг сгенерился автоматически, после запуска rclone config и заполнения данных.

Чтобы получить зашифрованный пароль из командной строки, воспользуйся командой:

rclone obscure "<password>"
rclone obscure "<salt>"

Потом эти данные можешь подставить в конфиг.

Если в TrueNas включено шифрование имен, то в параметре filename_encryption нужно прописать standard. Не проебись, на конце буква «d».

Проверяем:

rclone ls cryptbackup:

1974875 file.jpg

Отлично! Что-то сработало. Давай наконец-то расшифруем этот файл:

rclone copy cryptbackup: /tmp/decrypted

Всё, задача решена, в папке /tmp/decrypted лежит расшифрованная картинка и прекрасно открывается.

Аналогично поступаешь и с другими файлами. Тут суть закинуть весь зашифрованный бекап в папку /tmp/encrypted и одной командой copy все прекрасно расшифруется в /tmp/decrypted сохраняя структуру папок.

По итогу имеем удобный и практичный способ восстанавливать такие штуки без участия TrueNas.

А так-же можно проверять такие бекапы после заливки их в облако, чтобы точно быть уверенным, что бекап точно рабочий.

Концепт проверки: автоматически забрать несколько контрольных файлов из бекапа, расшифровать, сверить внутренности с шаблоном и при проблемах — плюнуть в графану или в телегу алертом.

На этом всё. Хороших тебе выходных!

Комментарии