uz
Новости
Новый дата-центр Serverspace в Узбекистане — запуск локации Ташкент (East Telecom YA DC)
KA
июня 23, 2025
Обновлено июня 23, 2025

Как установить на Grub пароль?

Linux

Достаточно часто бывает необходимо на более низком уровне защитить устройство от различных модификаций и изменений. Будь-то загрузка образов восстановления, которые от лица root могут работать с файловой системой хоста или же редактирование опций ядра, при загрузке!

В данном материале мы рассмотрим одно из решений данной проблемы, такое как установка пароля на Grub!

Что такое Grub?

Grub - это программа, которая получает управление первой после загрузки BIOS/UEFI и позволяет определить образ и параметры, которые необходимо запустить далее. К примеру, такое решение полезно, когда на устройстве две и более операционных систем или образов, которые могут позволить провести работы над ОС по восстановлению.

Список способов загрузки
Скриншот №1 — Список способов загрузки

Загрузка bootloader зависит от того, какой диск с таблицей разделов используется для его хранения. К примеру, с таблицы разделов MBR порядок загрузки следующий:

BIOS → Выбирает первые 512 байт загрузочной области и передает управление (Stage 1) → До загружается конфигурационные файлы bootloader’a (Stage 2) → Загрузка ядра

С GPT разделов (относится чаще к UEFI) загрузка происходит иначе:

UEFI → Поиск по EFI-разделу (обычно /boot/efi) → Непосредственная загрузка bootloader.efi → Загрузка ядра

Нарушитель может эксплуатировать особенности и возможности работы данного решения для получения доступа в обход мер защиты! Как реализацию меры противодействия рассмотрим установку пароля на grub, который закроет часть уязвимостей на своем уровне.

Как установить пароль на Grub?

Аутентификационные данные для Grub хранятся в файле директории /etc/grub.d/ и представляют собой совокупность логина и хешированного пароля. Значит для внесения нового необходимо создать в файле запись. Предварительно, подготовим пароль с утилитой grub-mkpasswd-pbkdf2:

grub-mkpasswd-pbkdf2 | sudo tee -a /etc/grub.d/40_custom
Создадим пароль для Grub
Скриншот №2 — Создадим пароль для Grub

Перейдем в файл /etc/grub.d/ и удалим лишние строки, которые остались в следствии перенаправления вывода, а так же добавим пару строк о пользователе. В итоге получим строку следующего вида в конце конфигурационного файла:

set superusers=“username”

password_pbkdf2 username grub.pbkdf2.sha512.<длинный_хэш>

Добавим аутентификацию
Скриншот №3 — Добавим аутентификацию

Поясним каждый из пунктов в данном контексте:

  • set superusers — устанавливает имя пользователя, который будет считаться суперпользователем в контексте GRUB;
  • username — это имя пользователя, для которого вы задаёте пароль;
  • password_pbkdf2 — указывает, что для проверки пароля нужно использовать PBKDF2-хэш;
  • username — имя пользователя, для которого задан пароль;
  • grub.pbkdf2.sha512.<длинный_хэш> — это хэш пароля, сгенерированный с помощью grub-mkpasswd-pbkdf2. GRUB сравнит введённый пользователем пароль с этим хэшем.

После чего выйдем и сохраним файл, а так же скомпилируем из него конфиг для загрузчика:

sudo update-grub
Обновим конфиг
Скриншот №4 — Обновим конфиг

Перезапустим устройство и дождемся загрузчика, после чего выберем один из образов:

Проверим возможность загрузки
Скриншот №5 — Проверим возможность загрузки

Отлично, парольная защита работает и не даст загрузится в ОС, не зная пароля от загрузчика. При нехватке собственных мощностей можно воспользоваться облачными серверами от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:

Создание сервераСкриншот №6 — Создание сервера

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
100029 Ташкент Улица Якка Чинар, дом 2/1
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...