Шифрування диску в CentOS використовуючи LUKS

luks-linux-disk-encryptionLUKS (Linux Unified Key Setup) – стандарт для шифрування жорсткого диска в Linux. Забезпечуючи стандартний формат даних на диску, він не тільки сприяє сумісності між дистрибутивами, але й забезпечує безпечне управління декількома паролями користувачів. На відміну від існуючого рішення, LUKS зберігає всю необхідну інформацію про налаштування у заголовку розділу, що дозволяє користувачеві безперешкодно переносити або мігрувати свої дані. (джерело: http://code.google.com/p/cryptsetup/)

Для налаштування LUKS на CentOS вам потрібен пакет cryptsetup, який встановлений за замовчуванням у CentOS 7 з мінімальною установкою. Ви можете використовувати cryptsetup для шифрування конкретного диска або розділу та захищення всіх збережених на ньому даних. Ваші дані захищені однією або декількома захищеними паролями – шифруванням диска. Ви можете розшифрувати свій розділ вручну під час завантаження (automount – потребує додаткової конфігурації та файлу ключів), або ви можете вручну ввести свій пароль під час завантаження системи. У такому випадку, неможливо прочитати / отримати дані з диску, не знаючи захищеної парольної фрази. Далі я поясню, як зашифрувати та налаштувати автоматичне монтування зашифрованого диска / розділу.

Якщо ви не хочете автоматично монтувати зашифрований диск / розділ при запуску операційної системи, не виконуйте кроки 4, 5, 9 та монтуйте свій диск / розділ вручну.

1. Додайте новий диск

Додайте новий диск або розділ, який ви хочете зашифрувати.

2. Відформатуйте диск з використанням LUKS

Відформатуйте свій диск / розділ за допомогою cryptsetup та введіть захищену парольну фразу (саме цю парольну фразу вам доведеться ввести, щоб розблокувати диск / розділ, завдяки чому він стане доступним для монтування!)

3. Відкрийте диск з використанням LUKS

Відкрийте диск / розділ за допомогою cryptsetup та введіть назву фізичного пристрою та назву віртуального пристрою монтування (це /dev/mapper/ім’я, під яким ви хочете мати свій диск / розділ) та введіть пароль, який ви використовували на кроці 1.

4. Автомонтування при завантаженні системи: створення ключа

Створіть файл ключів для automount. Файл ключів повинен знаходитися в /root директорії та мати дозволи 0400 – цей файл може читати лише користувач root. Ви можете додати до цього файлу будь-який вміст, навіть сам пароль, але я вирішив заповнити його випадковими даними за допомогою утиліти dd.

5. Автомонтування при завантаженні системи: додавання ключа у cryptsetup

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

6. Створення файлової системи

Створіть файлову систему на віртуальному розділі.

7. Створіть теку монтування

Створіть теку, куди буде монтуватися зашифрований розділ.

8. Додайте запис до /etc/fstab

Для автоматичного монтування розділу при старті системи додайте відповідний запис до  /etc/fstab.

9.Додайте запис до /etc/crypttab

Додайте запис до /etc/crypttab для розшифрування вашого розділу. Вкажіть ім’я фізичного пристрою, а також шлях до файла-ключа.

10. Змонтуйте диск

Тепер ви можете змонтувати ваш зашифрований розділ.

Перезапустіть систему і перевірте, що зашифрований диск / розділ буде успішно змонтовано при старті операційної системи.
Успіхів!