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

Зачем нужно ставить пароль на GRUB? Если кратко, то чтобы исключить получение root-доступа неавторизованным пользователем. Более подробно в этой теме.

Два предупреждения:
1. Себе пароль на GRUB не ставлю (к моим ПК нет физического доступа у кулхацкеров, паранойя пока не достигла критической точки).
2. Перед тем как использовать изложенную здесь информацию, особенно неопытным пользователям, настоятельно рекомендую изучить способы восстановления GRUB (как минимум надо иметь LiveCD).

Итак, мне известно два способа: при помощи программы Grubpass и вручную.

Начнем с более простого способа.
Программа Grubpass не входит в стандартный состав ПО той же Ubuntu, поэтому ставим ее командой sudo apt-get install grubpass
Запускаем sudo grubpass
Начало операции - команда setpassword
Нас спросят какой пароль для какого пользователя мы хотим задать. Вводим пароль и имя пользователя. После создания пароля, нас попросят выбрать записи в меню GRUB2) которые мы хотим защитить паролем.
Команды для выбора отображаются там же, вместе с кратким описанием (можно выбрать ALL — все).
Когда мы наиграемся, пароль можно удалить через grubpass командойrecover

Ручной способ.
В терминале от рута создаем пароль
# grub-mkpasswd-pbkdf2
Enter password:
Reenter password:
Your PBKDF2 is grub.pbkdf2.sha512.10000.2D4EE33EEE342503888D967084246F3CB9328B9A5C731439FD1AD70E3AB7637FA294942A049546CECBFBCFE8582D1F833B92B18C0F124C1003F766259DFB9BD2.86F1A8963F23E588FF3D04F104E9245858CD12BB8F0A9A8B849B61735E8300D33CD399F28A58AB696E2F7F482ABB93C65B8B79342B94C9C2A7A59DA3AF03B8D8

В результате приведенной команды получаем хэш пароля, который нужен, чтобы GRUB при запуске опознавал наш пароль. Полученный хэш добавляем в скрипт из которого генерируется конфигурация GRUB2.
Чтобы не было проблем с конфигом при обновлении пакета, создаем отдельный файл /etc/grub.d/05_password
#!/bin/sh

set -e

cat << EOF
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.2D4EE33EEE342503888D967084246F3CB9328B9A5C731439FD1AD70E3AB7637FA294942A049546CECBFBCFE8582D1F833B92B18C0F124C1003F766259DFB9BD2.86F1A8963F23E588FF3D04F104E9245858CD12BB8F0A9A8B849B61735E8300D33CD399F28A58AB696E2F7F482ABB93C65B8B79342B94C9C2A7A59DA3AF03B8D8
EOF

Чтобы все работало надо установить права на свежесозданный файл и обновляем конфигурацию GRUB2
# chown root:root /etc/grub.d/05_password
# chmod 600 /etc/grub.d/05_password
# update-grub

Комментарии

Почему-то сработал антиспам-фильтр и этот великолепный пост улетел в отстойник. Мои извинения omg.

А у меня при редактировании статья исчезла, кликнул сохранить и "Сервис недоступен"(((
Отписал в форму обратной связи, но не уверен, что дошло.
Вот то, что успел сохранить перенес на GoogleDocs:
Системный администратор в правовом поле

Да, и эту статью срезал спам-фильтр. Статью вернул, спам-фильтр расстрелял. Сервера стороннего сервиса Акисмет не справлялись. Сейчас вообще какая-то лавина спама, на порядок больше, чем пару лет назад. 90% из Китая.

Спасибо за оперативность

comrade аватар

Вот для чего они, оказывается, недавно мощнейший в мире суперкомпьютер запустили! :-О

Да какая уж тут оперативность. :( В случае проблем советую первым делом писать сюда (если не личное). Почту не имею возможности часто проверять по определенным личным причинам. 1-2 раза в день, иногда реже. На сайт стараюсь заходить чаще.

Ах да, и мои извинения за неудобства!

Им не нужен суперкомпьютер, они количеством берут. Если все китайцы договорятся разом зайти на какой-нибудь сайт, то сайту хана. :) А то и всему интернету. :)

В загрузчике GRUB2 выявлена критическая уязвимость (CVE-2015-8370), позволяющая обойти режим блокировки загрузки паролем и выполнить любые команды в консоли GRUB. Проблема проявляется с декабря 2009 года, начиная с выпуска 1.98 и заканчивая веткой 2.02, находящейся в разработке. Исправление пока доступно только в виде патча. Обновления пакетов уже опубликованы для Ubuntu, Debian, Fedora, CentOS и Red Hat Enterprise Linux и ALT Linux.
Через многократное нажатие клавиши Back Space злоумышленник, имеющий физический доступ к компьютеру, может инициировать целочисленное переполнение и получить доступ к системной консоли GRUB независимо от установки парольной защиты. Для атаки достаточно 28 раз нажать Back Space в поле с именем пользователя или паролем, после чего будет запущена консоль GRUB, из которой можно загрузить собственное ядро (например, с USB-накопителя), получить доступ к данным на дисках или повредить имеющиеся данные.
Работа эксплоита сводится к тому, что каждое нажатие клавиши Back Space обнуляет определённую ячейку за пределами буфера. Задача атакующего подобрать число нажатий Back Space (28 раз), чтобы обнулить данные до адреса перехода к консоли, в этом случае вместо обработчика ввода пароля или перезагрузки будет запущена консоль ввода команд.

интересноё, пошел проверю на своем медиа-сервере домашнем?, блин у него клавы физической нет — засада!:( Проверил на лэптопе с Ubuntu 14.04 LTS, не работает уязвимость, реально посчитал сейчас 28 нажатий, чтобы уж наверняка!;) Реально, самая опасная уязвимость, отвертка+клава+мозг, защиты пока нет...:)

Проверил на лэптопе с Ubuntu 14.04 LTS, не работает уязвимость, реально посчитал сейчас 28 нажатий, чтобы уж наверняка!;)

Обновления пакетов уже опубликованы для Ubuntu, Debian, Fedora, CentOS и Red Hat Enterprise Linux и ALT Linux.

Тогда зачем вообще писать в реальном времени о уязвимости GRUB2!? Если ее уже давно нет...Или надо внести в ряды новичков и доверчивых пользователей смуту! Поэтому я еще раз и проверил эмпирически, данный пост!;)

Нет в тех дистрах, которые входят в список. Гарантируете неуязвимость для всего остального? Слака, арч, гента, crux, возможно где-то ещё живой ASP Linux? Ещё несколько тысяч дистров?

M_o_n_g_o_l аватар

Прилетало обновление от апстрима 5го уровня на grub2, установил от греха подальше. ))

Значит Mint теперь, наверное, тоже неуязвим:)

M_o_n_g_o_l аватар

Неуязвимых систем не бывает...

Но данная конкретная уязвимость в минте уже закрыта.

Комментировать

Filtered HTML

  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.