12.14. Защита системных файлов паролем GRUB
Проблема
Вы не хотите, чтобы пользователи могли работать с командной консолью GRUB, потому что они получат доступ ко всем системным файлам независимо от разрешений и привилегий.
Решение
Задайте пароль в файле `menu.lst`, чтобы ограничить использование командной консоли GRUB. Сначала в Bash сгенерируйте хешированный пароль с помощью команды grub-md5-crypt
:
# grub-md5-crypt
Password:
Retype password:
$l$RiAfJO$QTuAlS/BGqlkYHQADZejsl
Вставьте зашифрованный пароль в секцию глобальных параметров файла `menu.lst` перед загрузочными секциями:
password --md5 $l$RiAfJO$QTuAlS/BGqlkYHQADZejsl
Также можно использовать простой текстовый пароль:
password bigsecretpassword
Конечно, этот вариант менее надёжен. Если вы используете простой текстовый пароль, ограничьте доступ к файлу и разрешите его только пользователю root:
# chmod 600 menu.lst
Когда во время загрузки системы появится меню GRUB, нажмите клавишу p, чтобы ввести пароль и получить доступ к командной консоли. Пользователи, не знающие пароля, смогут только выбрать один из пунктов меню загрузки; командная консоль GRUB останется для них недоступной.
Комментарий
Разрешения на доступ к файлам являются атрибутами файловой системы. GRUB работает вне файловых систем, поэтому каждый, кто имеет доступ к командной консоли GRUB, сможет прочитать любой файл в системе. Это может быть потенциально опасно, если GRUB не защищён паролем.
Даже если вы потеряете пароль GRUB, это не катастрофа. Вы можете загрузить систему с диска аварийного восстановления или флеш-накопителя и отредактировать файл `menu.lst`. Это демонстрирует важный принцип безопасности в Unix-системах: «При наличии физического доступа к компьютеру с ним можно сделать всё, что угодно». Таким образом, установка пароля в GRUB лишь добавляет уровень защиты, но не устраняет необходимость в защите физического доступа к машине.
Дополнительные меры предосторожности включают установку BIOS-пароля, а также блокировку загрузки с внешних носителей. Эти шаги помогут защитить систему от несанкционированного доступа, даже если кто-то попытается обойти защиту GRUB.
Также стоит учесть, что настройка GRUB с паролем не влияет на нормальных пользователей системы, которые просто выбирают пункт в меню для загрузки операционной системы. Они не заметят изменений, если не попытаются получить доступ к командной консоли.
См. также
The Grub Manual (http://www.gnu.org/software/manual/grub.html); info grub.