Глава 4.1 - LUKS (Linux Unified Key Setup on-disk format)
Введение в LUKS
LUKS позволяет шифровать разделы дисков на компьютере работающем под управлением Linux. Это становиться особенно важным, когда дело касается портативных компьютеров и сменных носителей информации. LUKS делает возможным расшифровку главного ключа, с помощью которого осуществляется массовое шифрование данных в разделе диска, любым из множества пользовательских ключей.
Реализация LUKS в Fedora
Fedora 9 и более поздние её версии используют LUKS для выполнения шифрования дисковых разделов. Возможность создания зашифрованного раздела предоставляется еще при установке операционной системы. Система попросит вас задать пароль, который в последующем надо будет вводить при загрузке Fedora, чтобы извлечь ключ массового шифрования для этого раздела. Если вы решите изменить разбиение диска предлагаемое по умолчанию, то сможете выбрать какие именно разделы вы хотите зашифровать.
По умолчанию реализация LUKS в Fedora 9 использует шифрование AES-128 с хешированием SHA-256. Доступны также следующие алгоритмы шифрования:
- aes — Advanced Encryption Standard — FIPS PUB 197
- twofish — TwoFish — 128-битный блочный шифр
- serpent — Serpent
- cast5 — RFC 2144
- cast6 — RFC 2612
Шифрование домашних каталогов пользователей
Описываемая ниже процедура включает в себя изменение настроек и форматирование раздела хранящего домашние каталоги пользователей (/home
). Шифрование всего раздела /home
имеет смысл лишь на компьютере, которым пользуется один человек или несколько доверенных пользователей.
До начала операций убедитесь в надежности созданной копии раздела, так как вся содержащаяся в нем информация будет уничтожена. Все указанные здесь действия должны выполняться с правами администратора (root
). При неудачном завершении любого из действий нельзя переходить к выполнению последующего. И, конечно же, ваш каталог /home
должен располагаться в отдельном разделе диска (в рассматриваемом нами примере это будет /dev/VG00/LV_home
).
Пошаговое руководство
- Перейдите на уровень исполнения 1:
telinit 1
- Размонтируйте раздел
/home
:umount /home
- Если размонтировать раздел не удалось, используйте команду
fuser
чтобы найти и завершить все процессы, которые работают с файловой системой раздела:fuser -mvk /home
- Удостоверьтесь в том, что файловая система теперь размонтирована:
cat /proc/mounts | grep home
- Заполните содержимое раздела случайными данными:
dd if=/dev/urandom of=/dev/VG00/LV_home
- Выполните инициализацию раздела:
cryptsetup --verbose --verify-passphrase luksFormat /dev/VG00/LV_home
- Откройте зашифрованный раздел:
cryptsetup luksOpen /dev/VG00/LV_home home
- Убедитесь в том, что раздел был открыт:
ls -l /dev/mapper | grep home
- Создайте файловую систему:
mkfs.ext3 /dev/mapper/home
- Смонтируйте раздел:
mount /dev/mapper/home /home
- Проверьте результаты предыдущих операций:
df -h | grep home
- Добавьте в
/etc/crypttab
такую строчку:home /dev/VG00/LV_home none
- Отредактируйте файл
/etc/fstab
заменив запись для раздела/home
на следующую:/dev/mapper/home /home ext3 defaults 1 2
- Проверьте работоспособность новой конфигурации:
mount /home
- Восстановите заданный по умолчанию контекст безопасности SELinux:
/sbin/restorecon -v -R /home
- Перезагрузите систему:
shutdown -r now
- Теперь, после внесения в файл
/etc/crypttab
записи о созданном зашифрованном диске, при загрузке система будет запрашивать у вас пароль для LUKS. - Войдите в систему как администратор и восстановите содержимое каталога
/home
.
Теперь все пользовательские данные находятся на зашифрованном диске и вы можете быть спокойны за их сохранность, когда компьютер выключен.
Дополнительная информация
- LUKS - Linux Unified Key Setup
- HOWTO: Creating an encrypted Physical Volume (PV) using a second hard drive, pvmove, and a Fedora LiveCD
4. Шифрование | Содержание | 4.2 GnuPG (GPG); шифрование и формирование ЭЦП |