Шифрування Linux (частина 1)

Статті з налаштування та адміністрування Windows/Linux систем

  • Корисне
  • Карта сайту
  • Мій сайт-візитка
  • Рубрики
  • Linux
  • VoIP
  • Безпека
  • Відеопотоки
  • Системи віртуалізації
  • Системи моніторингу
  • Windows
  • Цікаве
  • Мережа та Інтернет
  • Мета
  • Увійти
  • RSS Feed
  • Вітаю. Вирішив написати серію статей із криптування. Що таке криптування і які є шифри, алгоритми і т.п. розповідати не буду, бо є море літератури, з якої можна взяти все, що цікавить з цього питання. Я буду використовувати систему криптування dm-crypt, для управління якою використовується утиліта cryptsetup, в якій є вбудована підтримка LUKS для криптування операційних систем сімейства Linux. У цьому випадку це будуть найпоширеніші ОС – сімейство deb (Ubuntu, Debian) і сімейство rpm (Centos, Red Hat).

    Почнемо з найпростішого методу – шифрування під час встановлення ОС. Всі дії я зробив на VMware workstation. Спочатку візьмемоUbuntu 12.04 server. Процес встановлення – стандартний, доки не дійдемо до розмітки диска. Де нам потрібно вибратиGuided – use entire disk and set up encrypted LVM.

    linux

    Далі Вас попросять записати всі зміни на диск (тиснемо YES) та запропонують ввести пароль шифрування. На даному етапі можна ввести будь-який пароль, тому що надалі його можна легко змінити.

    linux

    Далі все йде по-старому. Після перезавантаження нас попросять ввести пароль для розрізання диска з файловою системою.

    Після введення пароля cryptsetup розшифруєзашифрований диск та змонтує його в рутову файлову систему. Тепер можна увійти до системи та подивитися на змонтовані диски.

    З висновку не зрозуміти – зашифровано диск чи ні… Для цього ми можемо переглянути заголовок диска.

    Як видно, диск зашифровано алгоритмом AES+cbc-essiv+sha256. Точно такі ж кроки слід зробити для шифрування ОС сімейства rpm (Centos, Red Hat). Хочу зауважити, що в Linux можна шифрувати блокові пристрої через існування initramfs – файлової системи, яка монтується до того, як змонтується рутова файлова система. Про це йтиметься у наступній статті. А поки що можна поекспериментувати. Дивимося, скільки слотів ключів використовується на даний момент для зашифрованого диска.

    Як видно, використовується тільки один ключ для шифрування/дешифрування (ключ, який вводили під час встановлення ОС для кріплення розділу). Додамо ще один ключ.

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

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

    Тепер видалимо ключ (наприкінці рядка вказується номер слота, який потрібно видалити).

    Якщо у нас є ключ у вигляді файлу, то видаляти та додавати ключі можна за допомогою опції.

    Трохи корисної інформації можна отримати тут

    Перевірити які алгоритми шифрування підтримуватиметься у вашому ядрі та яка мінімальна та максимальна довжина ключа.

    У наступній статті піде мова про конкретну установку та налаштування зашифрованої Ubuntu та віддаленої розлочки.