Как уже было написано выше эти действия повысят общую безопасность операционной системы. Менеджер загрузки ОС требует дополнительных настроек безопасности, так как при физическом доступе «продвинутый пользователь» может получить права суперпользователя в системе.
Многие дистрибутивы 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)
Опубликовать
Zhmoskin
Сайт пистатый)
↶ Отменить ответОтветить
blacksun
+1
↶ Отменить ответОтветить
Mut@NT
>Zhmoskin
Спасибо!
>blacksun
Спасибо!
↶ Отменить ответОтветить
Gagarin
После обновления ядра, я так понимаю, появится пункт recovery mode этой версии ядра, соответственно опять надо будет его ручками запоролить?
↶ Отменить ответОтветить
Mut@NT
да
↶ Отменить ответОтветить
Krab
Сайт очень полезный, многие статьи прогодились когда начинал работать в Debian‘е и сейчас пригождаются!!!:)
Спасибо Mut@NT‘у за статьи!
↶ Отменить ответОтветить
Mut@NT
Krab: Сайт очень полезный, многие статьи прогодились когда начинал работать в Debian‘е и сейчас пригождаются!!!:) Спасибо Mut@NT‘у за статьи!
Очень рад слышать, что труд не напрасный. Спасибо!
Комментарии (18)
Сайт пистатый)
↶ Отменить ответ Ответить
+1
↶ Отменить ответ Ответить
>Zhmoskin
Спасибо!
>blacksun
Спасибо!
↶ Отменить ответ Ответить
После обновления ядра, я так понимаю, появится пункт recovery mode этой версии ядра, соответственно опять надо будет его ручками запоролить?
↶ Отменить ответ Ответить
да
↶ Отменить ответ Ответить
Сайт очень полезный, многие статьи прогодились когда начинал работать в Debian‘е и сейчас пригождаются!!!:)
Спасибо Mut@NT‘у за статьи!
↶ Отменить ответ Ответить
Очень рад слышать, что труд не напрасный. Спасибо!
↶ Отменить ответ Ответить
невероятно полезный сайт. Спасибо автору.
↶ Отменить ответ Ответить
Спасибо давно искал…
↶ Отменить ответ Ответить
Спасибо Огромное Создателю сайта!
Много интересного, и в одном месте – это проста Находка!))
…ток-ща набрел на этот интересный сайт с бубунтового форума…
↶ Отменить ответ Ответить
Ждем статью GRUB2: Установка и настройка пароля на менеджер ОС GRUB2
↶ Отменить ответ Ответить
Про GRUB2 действительно хотелось бы почитать, ибо GRUB уже не так актуален… А автору сайта – респект!
↶ Отменить ответ Ответить
А будет ли статья про GRUB2?
↶ Отменить ответ Ответить
Да обязательно будет
↶ Отменить ответ Ответить
А когда?
↶ Отменить ответ Ответить
Спасибо за статью! Все понято и у меня быстро получилось воплотить это в жизнь!Про GRUB2 было бы тоже интересно почитать.
↶ Отменить ответ Ответить
Не православно выходить из командной строки GRUB по Ctrl+C
у груба есть команда quit, которая прекрасно справляется с этой функцией
↶ Отменить ответ Ответить
Благодарю, очень полезный материал.
↶ Отменить ответ Ответить