Как установить пароль на 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
Комментарии
pomodor
20 июня, 2013 - 00:44
Почему-то сработал антиспам-фильтр и этот великолепный пост улетел в отстойник. Мои извинения omg.
Platon
20 июня, 2013 - 18:06
А у меня при редактировании статья исчезла, кликнул сохранить и "Сервис недоступен"(((
Отписал в форму обратной связи, но не уверен, что дошло.
Вот то, что успел сохранить перенес на GoogleDocs:
Системный администратор в правовом поле
pomodor
20 июня, 2013 - 19:40
Да, и эту статью срезал спам-фильтр. Статью вернул, спам-фильтр расстрелял. Сервера стороннего сервиса Акисмет не справлялись. Сейчас вообще какая-то лавина спама, на порядок больше, чем пару лет назад. 90% из Китая.
Platon
20 июня, 2013 - 20:16
Спасибо за оперативность
pomodor
20 июня, 2013 - 20:56
Да какая уж тут оперативность. :( В случае проблем советую первым делом писать сюда (если не личное). Почту не имею возможности часто проверять по определенным личным причинам. 1-2 раза в день, иногда реже. На сайт стараюсь заходить чаще.
Ах да, и мои извинения за неудобства!
comrade
20 июня, 2013 - 20:20
Вот для чего они, оказывается, недавно мощнейший в мире суперкомпьютер запустили! :-О
pomodor
20 июня, 2013 - 20:57
Им не нужен суперкомпьютер, они количеством берут. Если все китайцы договорятся разом зайти на какой-нибудь сайт, то сайту хана. :) А то и всему интернету. :)
Чингачгук
18 декабря, 2015 - 17:57
В загрузчике 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 раз), чтобы обнулить данные до адреса перехода к консоли, в этом случае вместо обработчика ввода пароля или перезагрузки будет запущена консоль ввода команд.
Texnoline
18 декабря, 2015 - 18:16
интересноё, пошел проверю на своем медиа-сервере домашнем?, блин у него клавы физической нет — засада!:( Проверил на лэптопе с Ubuntu 14.04 LTS, не работает уязвимость, реально посчитал сейчас 28 нажатий, чтобы уж наверняка!;) Реально, самая опасная уязвимость, отвертка+клава+мозг, защиты пока нет...:)
Чингачгук
18 декабря, 2015 - 18:34
Проверил на лэптопе с Ubuntu 14.04 LTS, не работает уязвимость, реально посчитал сейчас 28 нажатий, чтобы уж наверняка!;)
Texnoline
18 декабря, 2015 - 20:48
Тогда зачем вообще писать в реальном времени о уязвимости GRUB2!? Если ее уже давно нет...Или надо внести в ряды новичков и доверчивых пользователей смуту! Поэтому я еще раз и проверил эмпирически, данный пост!;)
Чингачгук
18 декабря, 2015 - 20:54
Нет в тех дистрах, которые входят в список. Гарантируете неуязвимость для всего остального? Слака, арч, гента, crux, возможно где-то ещё живой ASP Linux? Ещё несколько тысяч дистров?
M_o_n_g_o_l
18 декабря, 2015 - 21:02
Прилетало обновление от апстрима 5го уровня на grub2, установил от греха подальше. ))
Чингачгук
18 декабря, 2015 - 21:05
Значит Mint теперь, наверное, тоже неуязвим:)
M_o_n_g_o_l
18 декабря, 2015 - 21:13
Неуязвимых систем не бывает...
Чингачгук
18 декабря, 2015 - 21:35
Но данная конкретная уязвимость в минте уже закрыта.
Комментировать