Шифрування

Шифрування файлів Linux

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

Альтернативи шифруванню файлів.

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

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

У разі шифрування на рівні файлової системи, файлова система виконує шифрування безпосередньо. Цього можна досягти, склавши криптографічну файлову систему поверх основної, або вона може бути вбудована. Відповідно до цього вікі, деякі переваги: ​​кожен файл можна зашифрувати за допомогою окремого ключа (керованого системою) та додаткового контролю доступу за допомогою криптографії з відкритим ключем. Звичайно, для цього потрібно змінити конфігурацію ОС і, можливо, підходить не для всіх користувачів. Однак він пропонує захист, придатний для більшості ситуацій, і ним відносно просто користуватися. Це буде розглянуто нижче.

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

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

Шифрування файлу за допомогою програми

Існує кілька інструментів для шифрування файлів під Linux. Це статті перелічує найпоширеніші альтернативи.  На сьогоднішній день GnuPG видається найбільш прямим вибором. Чому? Оскільки, швидше за все, він уже встановлений у вашій системі (на відміну від ccrypt), командний рядок простий (на відміну від використання openssl безпосередньо), він дуже активно розробляється і налаштований на використання сучасної шифрувальної версії (AES256 на сьогоднішній день) ).

Якщо у вас не встановлено gpg, ви можете встановити його за допомогою диспетчера пакетів, що відповідає вашій платформі, наприклад apt-get:

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

Зашифруйте файл за допомогою GnuPG:

pi @ raspberrypi: ~ $ котячий секрет.txt
Цілком секретні речі!
pi @ raspberrypi: ~ $ gpg -c секрет.txt
pi @ raspberrypi: ~ $ секрет файлу.txt.gpg
таємний.txt.gpg: GPG симетрично зашифровані дані (шифр AES256)
pi @ raspberrypi: ~ $ rm секрет.txt

Тепер, щоб розшифрувати:

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

Зверніть увагу на “AES256” вище. Це шифр, який використовується для шифрування файлу у прикладі вище. Це 256-бітний розмір блоку (на даний момент захищений) варіанту «Advanced Encryption Standard» (також відомого як Rijndae). Перевірте це Стаття у Вікіпедії для отримання додаткової інформації.

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

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

Поки це ЧИТАТИ має інструкції, ось короткий огляд. Система дотримується понять "захисники" та "політики". “Політика” - це фактичний ключ, який використовується (ядром ОС) для шифрування каталогу. “Протектор” - це парольна фраза користувача або еквівалент, що використовується для захисту політик. Ця дворівнева система дозволяє контролювати доступ користувача до каталогів без необхідності повторного шифрування щоразу, коли змінюються облікові записи користувачів.

Типовим випадком використання було б встановлення політики fscrypt для шифрування домашнього каталогу користувача з його паролями для входу (отриманих через PAM) як захисника. Це додало б додатковий рівень безпеки та дозволило б захистити дані користувача, навіть якщо зловмиснику вдалося отримати доступ адміністратора до системи. Ось приклад, що ілюструє, як би виглядало налаштування:

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

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

Висновок

Шифрування є глибоким і складним предметом, і тут можна охопити набагато більше, а також це швидко зростаюче поле, особливо з появою квантових обчислень. Дуже важливо підтримувати зв’язок з новими технологічними розробками, оскільки те, що безпечно сьогодні, може бути зламане за кілька років. Будьте завзятою і звертайте увагу на новини.

Цитовані

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...