Шифрование

Шифрование файлов Linux

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

Альтернативы шифрованию файлов.

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

Полное шифрование диска (FDE) имеет смысл для устройств, подверженных физической потере или краже, например ноутбуков. Но FDE не будет защищать ваши данные от чего-либо еще, включая попытки удаленного взлома, и не подходит для шифрования отдельных файлов.

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

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

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

Шифрование файла с помощью приложения

Для шифрования файлов под Linux доступно несколько инструментов. Этот статья перечисляет наиболее распространенные альтернативы.  На сегодняшний день GnuPG кажется самым простым выбором. Почему? Поскольку, скорее всего, он уже установлен в вашей системе (в отличие от ccrypt), командная строка проста (в отличие от прямого использования openssl), она очень активно развивается и настроена для использования современного шифра (AES256 на сегодняшний день ).

Если у вас не установлен gpg, вы можете установить его с помощью диспетчера пакетов, подходящего для вашей платформы, такого как apt-get:

pi @ raspberrypi: ~ $ sudo apt-get install gpg
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово

Зашифруйте файл с помощью GnuPG:

pi @ raspberrypi: ~ $ кошачий секрет.текст
Совершенно секретные вещи!
pi @ raspberrypi: ~ $ gpg -c секрет.текст
pi @ raspberrypi: ~ $ файл в секрете.текст.gpg
секрет.текст.gpg: симметрично зашифрованные данные GPG (шифр AES256)
pi @ raspberrypi: ~ $ rm секрет.текст

Теперь расшифруем:

pi @ raspberrypi: ~ $ gpg --decrypt secret.текст.gpg> секрет.текст
gpg: зашифрованные данные AES256
gpg: зашифровано с помощью 1 парольной фразы
pi @ raspberrypi: ~ $ кошачий секрет.текст
Совершенно секретные вещи!

Обратите внимание на «AES256» выше. Это шифр, используемый для шифрования файла в приведенном выше примере. Это 256-битный (безопасный на данный момент) вариант шифровального костюма «Advanced Encryption Standard» (также известного как Rijndae). Проверить это Статья в Википедии для дополнительной информации.

Настройка шифрования на уровне файловой системы

Согласно этому fscrypt вики-страница, Файловая система ext4 имеет встроенную поддержку шифрования файлов. Он использует API-интерфейс fscrypt для связи с ядром ОС (при условии, что функция шифрования включена). Он применяет шифрование на уровне каталога. Систему можно настроить на использование разных ключей для разных каталогов. Когда каталог зашифрован, все данные (и метаданные), относящиеся к имени файла, такие как имена файлов, их содержимое и подкаталоги. Метаданные без имени файла, такие как временные метки, не подлежат шифрованию. Примечание: эта функция стала доступна в Linux 4.1 выпуск.

Пока это ПРОЧТИ МЕНЯ есть инструкции, вот краткий обзор. Система придерживается концепций «защитников» и «политиков». «Политика» - это фактический ключ, который используется (ядром ОС) для шифрования каталога. «Protector» - это кодовая фраза пользователя или ее эквивалент, которая используется для защиты политик. Эта двухуровневая система позволяет контролировать доступ пользователей к каталогам без необходимости повторного шифрования каждый раз при изменении учетных записей пользователей.

Типичным вариантом использования будет настройка политики fscrypt для шифрования домашнего каталога пользователя с использованием его парольных фраз для входа (полученных через PAM) в качестве защитника. Это повысит уровень безопасности и позволит защитить данные пользователя, даже если злоумышленнику удастся получить доступ администратора к системе. Вот пример, показывающий, как это будет выглядеть:

pi @ raspberrypi: ~ $ fscrypt encrypt ~ / secret_stuff /
Должны ли мы создать нового защитника? [да / нет] г
Доступны следующие источники протекторов:
1 - Ваша кодовая фраза для входа (pam_passphrase)
2 - Пользовательская кодовая фраза (custom_passphrase)
3 - необработанный 256-битный ключ (raw_key)
Введите номер источника для нового предохранителя [2 - custom_passphrase]: 1
Введите парольную фразу для входа в систему для пи:
"/ home / pi / secret_stuff" теперь зашифрован, разблокирован и готов к использованию.

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

Заключение

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

Процитированные работы

Лучшие приложения для сопоставления геймпадов для Linux
Если вам нравится играть в игры на Linux с помощью геймпада вместо стандартной системы ввода с клавиатуры и мыши, для вас есть несколько полезных прил...
Полезные инструменты для геймеров Linux
Если вам нравится играть в игры на Linux, скорее всего, вы использовали приложения и утилиты, такие как Wine, Lutris и OBS Studio, для улучшения игров...
Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...