Захищаючись від лихої служниці, як впоратися з видаленням / завантажувального розділу


11

Коли ви використовуєте повне дискове шифрування LUKS, як би ви пішли на захист від злих покоївок ?

Атака злісних служниць - це коли хтось отримує фізичний доступ до вашого комп'ютера, поки ви не вдома, і компрометує незашифрований / завантажувальний розділ, щоб захопити ваш пароль FDE наступного разу, коли ви запускаєте комп'ютер

Одне з рішень - залишити свій / завантажувальний розділ на USB-накопичувачі, який завжди є у вас (покоївка не може дістатися до нього), але яку файлову систему я повинен використовувати на ньому та як налаштувати свою систему на вишукану обробку видалення USB-накопичувача (а отже, і самого / завантажувального розділу)?

Я використовую CentOS, але загальні, дистрогенні відповіді, звичайно, вітаються. Спасибі.

Відповіді:


5

Нарешті зрозумів це. Це все ще виглядає по-справжньому хакітним і брудним, оскільки система ніколи не знає, що /bootне може бути встановлена, і вам доведеться вручну монтувати її, перш ніж робити що-небудь, що може писати на неї (думаю, що оновлення системи тощо), але крім того, що вона працює ідеально .

  • підготуйте свою флешку з одним розділом із встановленим на ній прапором завантаження. Ви можете працювати shred -n 1 -v /dev/sdXна ньому, щоб повністю стерти його, включаючи будь-які попередні завантажувальні сектори; Після цього запустіть, fdiskщоб створити на ньому розділ та mkfsвашу файлову систему.
  • підключіть свою флешку десь /mnt/bootабо навіть /newbootвийде просто чудово.
  • перемістіть все, /bootщо на флешку, за допомогою mv /boot/* /newboot.
  • відредагуйте свій /etc/fstabі змініть UUID оригінального завантажувального розділу (або створіть запис, якщо такого немає), щоб він відповідав одному з вашої флешки. Ви можете отримати UUID за допомогою lsblk -o name,uuid. Також додайте noautoопцію, щоб накопичувач не монтувався автоматично, щоб мати змогу видалити його, як тільки система почне завантажуватися (як тільки ядро ​​завантажується), не ризикуючи зіпсувати FS на ньому.
  • відключіть оригінальний завантажувальний розділ та флешку ( umount /boot && umount /newboot) та встановіть флешку; якщо ваш запис fstab правильний, ви можете просто запустити, mount /bootі він автоматично встановить його на основі UUID, вказаного в fstab.
  • відновіть конфігурацію завантажувача, щоб відобразити UUID нової секції та "фізичне" положення, для GRUB флешка фактично з'явиться як перший жорсткий диск на комп'ютері ( hd0). Якщо ви добре не використовуєте сценарії конфігурації GRUB за замовчуванням, надані більшістю дистрибутивів, ви можете запустити, grub-mkconfig -o /path/to/grub.cfgі він генерує файл відповідно до поточно встановлених розділів та / або fstab. Зауважте, що для CentOS 7 правильне grub.cfgфактично розташоване в /boot/grub2/grub.cfg.

Виконуючи будь-яку операцію, яка може отримати доступ до завантажувального розділу, підключіть USB-накопичувач та запустіть mount /boot. Після цього ви можете запустити umount /boot. Зауважте, що остання команда може зайняти кілька моментів, оскільки вона передає буфери на диск (сам диск повільний, тому ядро ​​буферизує деякі операції запису, щоб прискорити роботу).


Зовсім не брудна, це найбільш очевидний спосіб зробити це. Дякую, що ви його написали!
dbanet

0

Іншим підходом до цієї конкретної проблеми є використання TPM для зберігання ключа шифрування, але захист дійсно покладається на користувача, щоб зробити його ефективним. Рудиментарне рішення на основі RHEL7 - це tpm-luks ( https://github.com/GeisingerBTI/tpm-luks ).

Те, як він працює під час завантаження, кожен етап процесу завантаження вимірює наступний і зберігає це вимірювання в ПЛР на TPM. Після завершення процесу завантаження tpm-luks перевіряє стан ПЛР на "відому хорошу" конфігурацію. Якщо в конфігурації "добре відома", TPM відкриє ключ LUKS, а tpm-luks передасть ці дані для розблокування кореневого розділу LUKS.

Оскільки все важливе вимірюється криптографічним хешем, по суті, немає можливості злій служниці замінити ваш GRUB / ядро ​​/ ramdisk, щоб збитко зібрати вашу пропускну фразу FDE. Як додатковий бонус, вам взагалі не потрібна парольна фраза FDE! Теоретично ви могли б повністю видалити людську читальну парольну фразу і повністю покладатися на tpm-luks, але якщо ви йдете цим маршрутом, це, мабуть, хороша ідея зберегти свій заголовок LUKS і зберегти його як резервну копію.

Як я вже згадував, для цього потрібна певна старанність користувача. Якщо ви залишили комп'ютер без нагляду, і вам запропоновано підказку із парольною фразою, це, мабуть, погана ідея вводити його до тих пір, поки ви не зробите деякі дослідження. У цей момент ви повинні завантажитися в середовище живого компакт-диска і подивитися, чи є помилка в tpm-luks або чи /bootрозділ справді змінений. Ви все ще залишаєте /bootрозділ незашифрованим, але якщо щось важливе буде змінено, основний диск ніколи не розшифровується.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.