Гид по технологиям

Защита данных на Linux с помощью Tomb

7 min read Безопасность Обновлено 30 Dec 2025
Tomb на Linux: защитите секретные файлы
Tomb на Linux: защитите секретные файлы

иллюстрация защиты конфиденциальных данных с Tomb

Зачем использовать Tomb

Шифрование — базовая практика безопасности. Но если вы пользуетесь общими машинами, ноутбуком друга или храните особо чувствительные файлы, системного шифрования диска может быть недостаточно. Tomb даёт простую модель: один файл-контейнер (tomb), отдельный файл-ключ и пароль. Без обеих частей содержимое недоступно.

Ключевые преимущества:

  • Минималистичный дизайн и относительно небольшой объём кода.
  • Поощряет разделение хранилища и ключей (физическая изоляция).
  • Опирается на стандартные, проверенные реализации ядра Linux (cryptsetup/LUKS).

Важно: Tomb использует возможности ядра Linux (работает с cryptsetup/LUKS), которые присутствуют в ядрах с версий 2.6 и выше.

Краткое определение

Tomb — это файл-контейнер, который монтируется как файловая система только после предоставления соответствующего ключа и пароля. Когда контейнер закрыт — его содержимое недоступно; когда открыт — ведёт себя как обычная папка.

Факт-бокс

  • Технология: LUKS/cryptsetup + loopback-устройство.
  • Требования: совместимый Linux, cryptsetup и вспомогательные утилиты.
  • Поддержка ядра: с 2.6 и выше.

Установка Tomb

Перед установкой убедитесь, что у вас установлены зависимости. Типичный набор:

  • zsh
  • sudo
  • gnupg
  • cryptsetup
  • pinentry-curses

Если чего-то нет — установите через менеджер пакетов вашей системы (apt, dnf, pacman и т. п.). Пример для Debian/Ubuntu-подобных систем:

sudo apt update
sudo apt install zsh sudo gnupg cryptsetup pinentry-curses

Дальше скачайте и установите Tomb (пример для версии 2.5):

wget https://files.dyne.org/tomb/Tomb-2.5.tar.gz
tar xvfz Tomb-2.5.tar.gz
cd Tomb-2.5
sudo make install

Примечание: команда make install должна запускаться из распакованной директории; адаптируйте версию архива под актуальную.

Создание tomb

Команды Tomb имеют тематические имена: dig, bury, exhume и т. д. Список доступных команд можно посмотреть в man-странице:

man tomb

Чтобы создать новый tomb:

tomb dig -s 200 secrets.tomb

Это создаст файл-контейнер объёмом 200 МБ. Размер можно подобрать под ваши нужды; tomb можно увеличивать командой resize, но уменьшить нельзя.

создание tomb и пример команды dig

Создание ключа и блокировка tomb

Генерация файла-ключа:

tomb forge secrets.tomb.key

Если система обнаружит активную swap-раздел, Tomb предупредит: содержимое оперативной памяти может быть записано в swap, и ключи/пароли могут оказаться в дампе. Tomb рекомендует временно отключать swap при создании/использовании ключей.

Проверить активные swap-разделы:

sudo swapon -s

Отключение и повторное включение swap:

sudo swapoff -a
sudo swapon -a

Если вы готовы проигнорировать предупреждение, можно принудительно сгенерировать ключ:

tomb forge secrets.tomb.key -f

Генерация ключа может занять время; утилита может просить вас совершать случайные движения мышью для ускорения накопления энтропии. Вас попросят задать и подтвердить пароль для файла-ключа.

Когда ключ готов, заблокируйте tomb:

tomb lock secrets.tomb -k secrets.tomb.key

файл-ключ и предупреждение о swap

Открытие и использование tomb

Открыть tomb и смонтировать как файловую систему:

tomb open -k secrets.tomb.key secrets.tomb

Вас попросят ввести пароль для файла-ключа. После успешной аутентификации tomb будет смонтирован и доступен в каталоге mountpoint (по умолчанию — /media/tomb/* или как настроено в конфиге).

Чтобы закрыть tomb:

tomb close [<имя-tomb> | all]

Команда close не позволит закрыть container, если файлы используются процессами. Если нужно немедленно закрыть и выкинуть все томбы независимо от использования, действует команда:

tomb slam all

Важно: slam может привести к потере несохранённых данных.

Сокрытие ключей и стеганография

Хранение tomb и файла-ключа на одной машине снижает уровень безопасности. Один из приёмов — скрыть ключ в другом файле, например в JPEG, с помощью стеганографии. Для этого можно использовать steghide.

Установка steghide (пример для Debian/Ubuntu):

sudo apt install steghide

Скрыть ключ в изображении:

tomb bury -k secrets.tomb.key Picture-name.jpg

Это поместит ключ в файл-изображение; затем исходный файл-ключ можно удалить. Извлечь ключ обратно:

tomb exhume -k tempsecret.key Picture-name.jpg

показ примера скрытия ключа в изображении

Советы по сокрытию:

  • Размещайте закопанный (bury) ключ среди множества похожих файлов.
  • Не оставляйте tomb и ключ в корне диска: используйте маскирующие имена.
  • Помните: стеганография увеличивает безопасность путём сокрытия, но не заменяет криптографическую стойкость.

Когда Tomb может не подойти

  • Если требуется централизованное управление ключами для большого количества устройств, лучше подходят HSM/системы управления ключами.
  • Для полного дискового шифрования всего устройства (включая swap и /boot) удобнее использовать LUKS на уровне диска или VeraCrypt для кроссплатформенности.
  • На устройствах с малым запасом энтропии генерация ключей может быть медленной.

Альтернативные подходы и сравнение

  • LUKS/cryptsetup: стандарт для шифрования дисков; хорош для полного шифрования диска и служб, но не даёт простого механизма «отдельный файл-ключ + сокрытие в JPEG». Подходит для серверов и ноутбуков.
  • VeraCrypt: кроссплатформенное решение, популярно на Windows/macOS; удобно для совместного использования между ОС.
  • eCryptfs: шифрование на уровне файловой системы (иногда устаревающее решение).

Короткое сравнение (справочно):

  • Гибкость: Tomb — высокий (файловые контейнеры и ключи). LUKS — высокий для дисков. VeraCrypt — удобство на разных ОС.
  • Уровень управления ключами: LUKS и HSM дают продвинутые возможности управления; Tomb — локальный файл-ключ.
  • Маскирование ключей: Tomb поддерживает bury/exhume, другие решения — нет.

Практическое руководство / SOP: быстрый плейбук

  1. Проверка зависимостей и обновление системы.
  2. Создать tomb: tomb dig -s name.tomb
  3. Сгенерировать ключ: tomb forge name.tomb.key
  4. Отключить swap перед генерированием/работой с ключами: sudo swapoff -a
  5. Заблокировать: tomb lock name.tomb -k name.tomb.key
  6. Переместить/маскировать ключ (например, bury в JPG) или вынести на внешний носитель.
  7. Открывать по необходимости: tomb open -k name.tomb.key name.tomb
  8. Закрывать: tomb close name или tomb slam all в экстренных случаях.
  9. После работы восстановить swap: sudo swapon -a

Критерии приёмки:

  • Контейнер открывается только при наличии правильного файла-ключа и пароля.
  • Файлы внутри tomb недоступны, когда tomb закрыт.
  • Файлы-ключи, если нужно, могут быть извлечены из стеганографического контейнера.

Роли и краткие чеклисты

Администратор:

  • Установить зависимости и Tomb.
  • Настроить директорию хранения tomb’ов.
  • Документировать процедуру восстановления и резервного копирования ключей.

Конечный пользователь:

  • Создать tomb и ключ по инструкции.
  • Никогда не хранить ключ и tomb в одном каталоге.
  • Использовать slam только при крайней необходимости.

Офисный пользователь (без root-доступа):

  • Использовать GUI-инструменты из extras (если доступны) или проводить операции под контролем администратора.
  • Хранить ключи на съёмных носителях при совместном использовании ПК.

Матрица рисков и смягчающие меры

  • Утечка ключа на диске: минимизация — хранить ключи отдельно, использовать стеганографию или защищённый носитель.
  • Swap содержит фрагменты ключей/паролей: при операциях отключать swap или шифровать swap.
  • Несанкционированный доступ к машине: применять полный диск шифрование + BIOS/UEFI пароль.
  • Потеря пароля к ключу: документация и безопасное резервное копирование; без пароля доступ к данным невозможен.

Меры усиления безопасности

  • Отключайте swap при работе с ключами и tomb.
  • Используйте сложные пароли и храните их в менеджере паролей.
  • Храните резервные копии важных ключей в безопасном хранилище (например, аппаратный токен, безопасный сейф).
  • Ограничьте доступ к папкам с tomb через файловые права и SELinux/AppArmor политики.

Критерии тестирования и приёмки

  • Тест 1: Создать tomb, положить файл, закрыть, попытаться прочитать — должна быть ошибка доступа.
  • Тест 2: Открыть tomb с корректным ключом и паролем — файлы доступны и неизменны.
  • Тест 3: Спрятать ключ в изображении, удалить ключ-файл, извлечь ключ и открыть tomb.
  • Тест 4: Попытаться close при открытом файле — close должен отказать; slam закрывает, но может привести к потере данных.

Краткий глоссарий

  • tomb: файл-контейнер с зашифрованной файловой системой.
  • key (файл-ключ): двоичный файл, используемый вместе с паролем для расшифровки tomb.
  • bury/exhume: команды Tomb для скрытия и извлечения ключей (стеганография).
  • slam: принудительное закрытие tomb, даже если он используется.

Практические советы по именованию и сокрытию

  • Выбирайте нейтральные имена для файлов-изображений и tomb, чтобы они не выделялись.
  • Храните копию ключа вне локальной машины, если доступ критичен.
  • Не забывайте о метаданных: EXIF и другие данные картинок могут выдавать следы; для стеганографии выбирайте файлы с достаточным объёмом данных.

папка с маскирующими фотографиями

пример изображения, в которое встраивают ключ

пример извлечения ключа из изображения

Заключение

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

Памятка: Keep It Secret, Keep It Safe — храните ключи и пароли в надёжном месте.

Image Credit: Photoloide/ Depositphotos

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Установка Linux на Mac с Apple Silicon
Руководство

Установка Linux на Mac с Apple Silicon

Онлайн-книжный клуб: как найти идеальный в 2025
Книги

Онлайн-книжный клуб: как найти идеальный в 2025

Световые уведомления на Android — Samsung и Pixel
Android.

Световые уведомления на Android — Samsung и Pixel

Устранение ошибок загрузчика GRUB
Linux

Устранение ошибок загрузчика GRUB

Как посмотреть старые плейлисты Spotify Wrapped
Музыка

Как посмотреть старые плейлисты Spotify Wrapped

Калибровка экструдера 3D‑принтера — подробный гайд
3D-печать

Калибровка экструдера 3D‑принтера — подробный гайд