Как уже было написано выше эти действия повысят общую безопасность операционной системы. Менеджер загрузки ОС требует дополнительных настроек безопасности, так как при физическом доступе «продвинутый пользователь» может получить права суперпользователя в системе.
Многие дистрибутивы Linux после установки никак не защищают свой менеджер загрузки, а ведь изменив настройки входа можно получить полный доступ к системе, сменить все пароли и натворить еще много разных пакостей. По всем этим причинам следует самостоятельно принять меры по защите своей операционной системы на уровне GRUB.
Способы установки пароля на менеджер загрузки ОС GRUB
Ниже приведены наиболее эффективные методы защиты менеджера загрузки GRUB. GRUB – это очень мощное средство в руках системного администратора, имеющее очень много параметров конфигурирования.
Редактировать будем конфигурационный файл /boot/grub/menu.lst. В некоторых дистрибутивах это /boot/grub/grub.conf.
Пароль в конфигурационный файл можно внести либо открытым текстом, либо его хеш-образ, полученный с помощью алгоритма MD5. Проще говоря, в GRUB можно задать пароль явным образом, то есть написать его как есть или же зашифровать его отображение. Ниже, для примера, приведен пароль сначала открытым текстом, а потом его хеш-образ:
Эти две строчки, по сути, являются одним и тем же паролем.
Для защиты меню GRUB безопаснее использовать хеш-образ пароля, так как его невозможно прочесть в конфигурационном файле GRUB.
Пароль на редактирование конфигурации GRUB
Реализация данного способа позволит защитить конфигурацию GRUB от непреднамеренного редактирования. Все пункты меню будут доступны для запуска любому человеку, но их редактирование откроется, только после ввода пароля.
Создаем резервную копию конфигурационного файла /boot/grub/menu.lst, чтобы в случае ЧП восстановить все в первоначальное положение:
sudo cp /boot/grub/menu.lst /boot/grub/menu.bak
Получаем хеш-функцию пароля.
# Входим в командную строку менеджера загрузки GRUB
Строчка $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 является хеш-образ введенного Вами пароля. Сочетание клавиш <Ctrl>+<С> позволяют выйти из командной строки GRUB.
Редактируем конфигурационный файл GRUB.
# Открываем конфиг GRUB
sudo nano /boot/grub/menu.lst
В начале файла, после строки с параметром timeout, добавляем:
password —md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40
В результате:
…
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10 password —md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40
…
Сохраняем внесенные изменения. После перезагрузки компьютера в меню GRUB, отредактировать любой пункт меню без ввода пароля уже не получится. Чтобы ввести пароль, требуется нажать <p>.
Пароль на запуск пункта в GRUB
Этот способ поможет ограничить загрузку выбранных пунктов меню GRUB. Можно, к примеру, поставить пароль на загрузку системы в режиме recovery mode, который присутствует в семействе ОС *buntu и других дистрибутивах.
Создаем резервную копию конфигурационного файла /boot/grub/menu.lst, чтобы в случае ЧП восстановить все в первоначальное положение:
# sudo cp /boot/grub/menu.lst /boot/grub/menu.bak
Получаем хеш-функцию пароля.
# Входим в командную строку менеджера загрузки GRUB
Строчка $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 является хеш-образ введенного Вами пароля. Сочетание клавиш <Ctrl>+<С> позволяют выйти из командной строки GRUB.
Редактируем конфигурационный файл GRUB.
# Открываем конфиг GRUB
sudo nano /boot/grub/menu.lst
В конце конфигурационного файла находятся параметры запуска отображаемых пунктов меню GRUB. К параметрам пункта меню, требующего защиты, после строчки с со словом title, добавляем строку:
password —md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40
К примеру, добавляем строку в пункт загрузки системы в режиме recovery mode:
Сохраняем внесенные изменения. После перезагрузки компьютера в меню GRUB, загрузить этот пункт меню без ввода пароля уже не получится. Чтобы ввести пароль, требуется нажать <p>.
Скрыть некоторые пункты меня загрузки GRUB
В GRUB можно скрыть некоторые пункты меню, которые будут видны только после ввода пароля. К примеру, можно скрыть recovery mode вашей операционной системы.
Для этого нужно сделать два конфигурационных файла. В первом файле будут находится «открытые» пункты меню, загружаемые сразу при старте GRUB, а во втором пункты меню, которые нужно показать только после ввода пароля – «скрытые».
Создаем резервную копию конфигурационного файла /boot/grub/menu.lst, чтобы в случае ЧП восстановить все в первоначальное положение:
sudo cp /boot/grub/menu.lst /boot/grub/menu.bak
Получаем хеш-функцию пароля.
# Входим в командную строку менеджера загрузки GRUB
Строчка $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 является хеш-образ введенного Вами пароля. Сочетание клавиш <Ctrl>+<С> позволяют выйти из командной строки GRUB.
Создаем второй конфигурационный файл, меню которого будет содержать скрытые пункты:
…
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10
password —md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 /boot/grub/menu_hidden.lst …
Эта строчка показывает системе, что после ввода пароля должен открыться другой файл – /boot/grub/menu_hidden.lst.
В конце файла добавляем или удаляем пункты меню GRUB, которые должны быть видны или не видны в начале загрузки (в первом меню).
К примеру, чтобы скрыть режим recovery mode, нужно закомментировать или удалить строки файла, содержащие команды загрузки этого режима:
title Windows Vista (loader)
rootnoverify (hd0,0)
savedefault
makeactive
chainloader +1
Закрываем файл, сохраняя все изменения.
Открываем второй файл для редактирования:
sudo nano /boot/grub/menu_hidden.lst
Добавляем или удаляем пункты меню GRUB, которые должны быть видны или не видны после ввода пароля во втором меню.
В нашем примере, во втором меню должен присутствовать только режим загрузки системы recovery mode, поэтому комментируем или удаляем все остальные пункты:
title Windows Vista (loader)
rootnoverify (hd0,0)
savedefault
makeactive
chainloader +1
Сохраняем внесенные изменения. После перезагрузки компьютера попадаем в меню, где представлены только выбранные пункты меню. После набора пароля открывается второе меню со скрытыми пунктами. Чтобы ввести пароль, требуется нажать <p>.
Заключение
В качестве заключения хотелось бы добавить, что принцип защиты информации: «Что не разрешено, то запрещено» должен подразумевать:
редактирование всех пунктов загрузки операционной системы должно быть запрещено;
запуск операционной системы в recovery mode и других режимах, которые могут дать полный доступ в системе, должны быть запаролены;
По возможности, рекомендуется скрыть администраторский режимы загрузки операционной системы, такие как recovery mode.
Зарубин Иван
Эксперт по Linux и Windows
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Комментарии (18)