Гид по технологиям

Как защитить записи GRUB паролем

5 min read Безопасность Обновлено 29 Dec 2025
Как защитить записи GRUB паролем
Как защитить записи GRUB паролем

Что такое GRUB и зачем его защищать

GRUB (GRand Unified Bootloader) — загрузчик, который показывает меню выбора ОС и параметры загрузки. Защита GRUB полезна, когда нужно ограничить доступ к редактированию параметров загрузки и к режиму восстановления. Это снижает риск, что непрофессиональные пользователи или злоумышленники с дистанционным доступом изменят параметры и получат права root.

Важно понимать модель угроз: если злоумышленник имеет физический доступ к диску (например, может загрузиться с Live-USB и монтировать разделы), паролем GRUB его не остановить. В таких случаях лучше использовать шифрование диска (LUKS), аппаратную защиту BIOS/UEFI и Secure Boot.

Краткая терминология

  • GRUB Legacy — старая версия (использует /boot/grub/menu.lst).
  • GRUB 2 — современная версия (использует /boot/grub/grub.cfg и скрипты в /etc/grub.d).
  • md5crypt — старый метод генерации MD5-хеша пароля для GRUB Legacy.
  • grub-mkpasswd-pbkdf2 — утилита для генерации стойкого хеша пароля (GRUB 2).

Преимущества и ограничения защиты GRUB

  • Преимущества: блокировка редактирования записей, защита режима восстановления и отдельных записей, простая реализация.
  • Ограничения: не защищает от физического доступа к диску; уязвима при слабых паролях; разные версии GRUB требуют разных действий.

Пошаговая инструкция для GRUB Legacy (menu.lst)

Интерфейс GRUB с меню загрузки

  1. Откройте терминал и запустите GRUB в режиме командной строки:

    sudo grub

    Подсказка изменится на grub>.

  2. На приглашении GRUB выполните генерацию MD5-хеша пароля:

    grub> md5crypt

    Введите пароль при запросе. Команда вернёт MD5-хеш. Скопируйте или запишите его в надёжном месте.

Генерация MD5-хеша в GRUB

  1. Сделайте резервную копию файла конфигурации перед правкой:

    sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.bak
  2. Отредактируйте /boot/grub/menu.lst любым редактором (например, nano или vi). Добавьте строку с паролем перед списком записей (перед строкой BEGIN AUTOMAGIC KERNEL LIST или любой первой записью меню):

    password --md5 <вставьте_здесь_md5_хеш>
  3. Чтобы запретить интерактивное редактирование записей (нажатие e), достаточно сохранить изменения. Администратор сможет войти в режим редактирования, нажав p и ввёдши пароль.

  4. Чтобы заблокировать конкретную запись меню, вставьте строку lock сразу после строки с title для этой записи:

    title Ubuntu, kernel 4.x
        lock
        root (hd0,1)
        kernel /vmlinuz root=/dev/sda1 ro

Пример заметки об блокировке записи GRUB

  1. Чтобы автоматически блокировать записи режима восстановления, измените lockalternative=false на lockalternative=true в том же файле. Это защитит будущие записи восстановления при обновлении ядра.

Протестируйте изменения, перезагрузив систему и попытавшись отредактировать или загрузить заблокированную запись.


Пошаговая инструкция для GRUB 2 (современные системы)

GRUB 2 использует другой подход и более стойкие хеши. Рекомендуемый метод:

  1. Сгенерируйте PBKDF2-хеш пароля:

    sudo grub-mkpasswd-pbkdf2

    Введите пароль. Утилита вернёт строку вида PBKDF2 hash of your password is grub.pbkdf2.sha512..... — скопируйте часть хеша.

  2. Откройте или создайте файл /etc/grub.d/40_custom и добавьте в начало:

    set superusers="admin"
    password_pbkdf2 admin <вставьте_здесь_pbkdf2_хеш>

    Замените admin на желаемое имя пользователя.

  3. Чтобы ограничить загрузку отдельных записей, отредактируйте нужные блоки menuentry в /etc/grub.d/ или в генерируемом /boot/grub/grub.cfg, добавив опцию --users admin в определение записи:

    menuentry 'Ubuntu, with Linux 5.x' --users admin {
        ...
    }

    При таком флаге GRUB потребует ввод пользователя и пароля для запуска этой записи.

  4. Примените изменения:

    sudo update-grub

Примечание: структура и синтаксис меню зависят от дистрибутива и версии GRUB 2. Проверяйте итоговый /boot/grub/grub.cfg.


Важные рекомендации

  • Всегда делайте резервные копии файлов конфигурации (menu.lst, /etc/grub.d/*).
  • Используйте надёжные пароли (длина ≥ 12, фраза-пароль лучше). Для GRUB 2 предпочтительны PBKDF2-хеши.
  • Если система использует UEFI и Secure Boot, проверьте совместимость изменений.
  • Не полагайтесь только на GRUB: комбинируйте с шифрованием диска и паролем BIOS/UEFI.

Как восстановиться, если вы заблокировали себя

  1. Загрузитесь с Live-USB (тот же дистрибутив или совместимый).

  2. Смонтируйте корневой раздел и раздел /boot (если отдельный):

    sudo mount /dev/sdXN /mnt
    sudo mount /dev/sdYM /mnt/boot   # если /boot отдельный
    sudo chroot /mnt                  # при необходимости
  3. Отредактируйте /boot/grub/menu.lst (GRUB Legacy) или /etc/grub.d/40_custom и удалите/измените строки с паролями.

  4. При GRUB 2 выполните sudo update-grub из chroot перед перезагрузкой.

  5. Если у вас нет доступа к Live-USB, можно восстановить файл конфигурации из резервной копии /boot/grub/menu.lst.bak.

Important: при работе в chroot проверяйте, что вы монтируете и редактируете правильные устройства, чтобы не повредить загрузочную запись.


Рольные чек-листы

Администратор сервера:

  • Сделать резервные копии конфигураций.
  • Использовать grub-mkpasswd-pbkdf2.
  • Защитить режим восстановления и административные записи.
  • Документировать учётную запись суперпользователя GRUB.

Домашний пользователь:

  • Сделать резервную копию /boot/grub/menu.lst или /etc/grub.d/40_custom.
  • Защитить записи восстановления.
  • Рассмотреть шифрование диска (LUKS) и пароль BIOS/UEFI.

Модель решений и когда это не помогает

  • Если угроза — дистанционный злоумышленник, GRUB может помочь только при локальном доступе к загрузочному меню.
  • Если угроза — физический доступ к диску, используйте полное шифрование диска.
  • GRUB не защищает саму ОС после загрузки; используйте сильные пароли пользователей и политику привилегий.

Матрица рисков и смягчения

  • Риск: потеря доступа из-за неправильно настроенного пароля. Смягчение: резервная копия и Live-USB.
  • Риск: атака с физическим доступом. Смягчение: шифрование диска и пароль BIOS/UEFI.
  • Риск: слабый хеш (MD5). Смягчение: использовать PBKDF2 в GRUB 2.

Совместимость и советы по миграции

  • GRUB Legacy использует menu.lst и MD5-хеши. Многие современные дистрибутивы перешли на GRUB 2.
  • При переходе на GRUB 2 перейдите от md5crypt к grub-mkpasswd-pbkdf2 для лучшей стойкости.
  • Тестируйте изменения в виртуальной машине или на тестовой машине перед применением в продакшене.

Краткое резюме

Защита записей GRUB — эффективный и недорогой способ ограничить доступ к параметрам загрузки и режиму восстановления. Для современных систем используйте GRUB 2 и PBKDF2-хешы. Всегда делайте резервные копии и имейте план восстановления через Live-USB.

Дополнительно

  • Социальный превью: “Как защитить записи GRUB паролем — пошагово для GRUB Legacy и GRUB 2”.
  • Короткое объявление для команды (100–200 слов): Защитите загрузочное меню сервера: сгенерируйте стойкий хеш пароля (grub-mkpasswd-pbkdf2), добавьте set superusers и password_pbkdf2 в /etc/grub.d/40_custom, пометьте критичные записи параметром –users и выполните update-grub. Перед изменениями создайте резервную копию /boot/grub и подготовьте Live-USB на случай восстановления.

Защищённое меню загрузки GRUB

Картинка: пример защищённого меню GRUB с подсветкой заблокированных записей.


Критерии приёмки

  • Конфигурация содержит строку с паролем и/или set superusers / password_pbkdf2.
  • Заблокированные записи требуют запроса логина/пароля при попытке загрузки.
  • Существуют резервные копии исходных конфигураций и инструкция по восстановлению.

1‑строчный словарь

  • GRUB: загрузчик, отвечающий за выбор ОС.
  • PBKDF2: стойкий алгоритм получения хеша пароля.

Если у вас есть конкретный дистрибутив или версия GRUB, укажите их — я помогу подготовить точный набор команд и проверочных шагов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Сброс Chromebook: Powerwash и полное восстановление
Руководство

Сброс Chromebook: Powerwash и полное восстановление

MOV в MP4 на Mac — быстрый способ
Видео

MOV в MP4 на Mac — быстрый способ

Микрофон Android не работает — как починить
Мобильные устройства

Микрофон Android не работает — как починить

VLC не воспроизводит видео в Windows 11 — как исправить
Технологии

VLC не воспроизводит видео в Windows 11 — как исправить

Как узнать название удалённого видео на YouTube
YouTube

Как узнать название удалённого видео на YouTube

Как повернуть видео в VLC — быстро и навсегда
Видео

Как повернуть видео в VLC — быстро и навсегда