- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как защитить загрузчик GRUB паролем
- Настройка пароля на загрузку системы и на редактирование опций загрузки
- Как включить редактирование опций GRUB по паролю, но загрузиться может любой пользователь
- Связанные статьи:
- Не удается установить пароль для загрузчика grub.
- Montfer
- Андрей Д
- Montfer
- Iskatel_znaniy
- Как поставить пароль на GRUB и GRUB2 в Linux
- Получение доступа к машине
- В случае, если пароль загрузчика неизвестен
- Получение имени администратора
- Сброс счетчика неудачных попыток
- Смена пароля
- Сброс блокировки учетной записи администратора
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как защитить загрузчик GRUB паролем
В статье «Как в Linux сбросить забытый пароль входа» показано, что пароль для входа в Linux можно сбросить очень быстро и просто. Причём это может быть пароль root или любого пользователя.
Суть описанного в той статье метода заключается в редактировании опций загрузчика GRUB для загрузки в однопользовательский режим. Возможно кого-то такой простой способ обхода пароля root заставил задуматься: можно ли защитить Linux от смены пароля при загрузке? Точнее говоря, можно ли запретит менять опции загрузки в GRUB?
С одной стороны, — да, можно установить пароль на редактирование опций загрузчика GRUB, в данной статье будет показано как это настроить. Но, с другой стороны, нужно помнить — настройка делается в текстовых конфигурационных файлах GRUB и при физическом доступе к компьютеру с возможностью загрузки с LIVE дистрибутива можно обойти и эту защиту по смене пароля. При физическом доступе всегда остаётся вариант вынуть жёсткий диск и просмотреть его содержимое на другой системе. То есть настоящую защиту данных обеспечивает только их шифрование или шифрование всего диска, защита в виде пароля на загрузку не является надёжной!
Рекомендуется: смотрите также статьи
Тем не менее описанный метод, как минимум, может задержать или даже поставить в тупик неавторизованное для смены пароля лицо. А при принятии дополнительных мер — запрет на использование внешних устройств или контроль физического доступа, описанный способ может защитить от входа в однопользовательский режим.
Защиту паролем GRUB можно организовать двумя способами:
- Необходимо ввести пароль как на загрузку системы, так и на редактирование опций загрузки
- Загрузиться может любой пользователь без пароля, а для редактирования опций загрузки необходимо ввести пароль.
Рассмотрим оба этих варианты.
Примечание: если вы используете пароль загрузки для GRUB2, то экран заставки во время загрузки не будет отображаться.
Настройка пароля на загрузку системы и на редактирование опций загрузки
От root выполните следующие команды для установки пароля загрузки:
С помощью утилиты grub-mkpasswd-pbkdf2 сгенерируйте хеш пароля:
Введите и подтвердите пароль:
Введите пароль: Повторно введите пароль:
Будет показана примерно такая строка:
Хэш PBKDF2 вашего пароля: grub.pbkdf2.sha512.10000.479775BC85F7B0D174D53F85338955DA8B79E35A641C7B814387D2E8CB3353DBB0925E9E2AB7D5986C2B995AD6E96A793D92F17CC1438AB226249AEDC629FDD0.867369FB465ED73F5CB495A375FCF294C1F39B8E0D481B33F4F5C4D245E140CD11D9135CBAE646DD5CC168C037EF4D5F6B935A2A32D1103F9A7ADB81AA9101D4
Из выведенных данных нужно взять всю строку «grub.pbkdf2.sha512.10000………….».
Теперь откройте файл /etc/grub.d/40_custom
sudo gedit /etc/grub.d/40_custom
set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.479775BC85F7B0D174D5.
Поскольку файл /etc/grub.d/40_custom содержит хеш пароля, то рекомендуется запретить его чтение и изменения всеми, кроме пользователя root:
sudo chmod 711 /etc/grub.d/40_custom
Теперь запускаем создание нового конфигурационного файла загрузчика:
sudo grub-mkconfig -o /boot/grub/grub.cfg
После перезагрузки при попытке выбрать любой пункт меню вам будет предложено ввести имя пользователя и пароль. Введите root и пароль, который вы ввели в команде grub-mkpasswd-pbkdf2. Если учётные данные верны, система продолжит загрузку.
На самом деле, имя пользователя на этом этапе неважно — оно используется только как учётные данные для входа в загрузчик. Например, имя пользователя на моём компьютере mial, даже при вводе имени root и установленного пароля, я всё равно загружусь как пользователь mial. По этой причине в файл /etc/grub.d/40_custom можно указать любое имя пользователя, главное, не забудьте его.
Как включить редактирование опций GRUB по паролю, но загрузиться может любой пользователь
С помощью утилиты grub-mkpasswd-pbkdf2 сгенерируйте хеш пароля:
Введите и подтвердите пароль:
Введите пароль: Повторно введите пароль:
Будет показана примерно такая строка:
Хэш PBKDF2 вашего пароля: grub.pbkdf2.sha512.10000.479775BC85F7B0D174D53F85338955DA8B79E35A641C7B814387D2E8CB3353DBB0925E9E2AB7D5986C2B995AD6E96A793D92F17CC1438AB226249AEDC629FDD0.867369FB465ED73F5CB495A375FCF294C1F39B8E0D481B33F4F5C4D245E140CD11D9135CBAE646DD5CC168C037EF4D5F6B935A2A32D1103F9A7ADB81AA9101D4
Из выведенных данных нужно взять всю строку «grub.pbkdf2.sha512.10000………….».
Теперь откройте файл /etc/grub.d/40_custom
sudo gedit /etc/grub.d/40_custom
set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.479775BC85F7B0D174D5.
Поскольку файл /etc/grub.d/40_custom содержит хеш пароля, то рекомендуется запретить его чтение и изменения всеми, кроме пользователя root:
sudo chmod 711 /etc/grub.d/40_custom
Теперь откройте файл /etc/grub.d/10_linux и найдите пункт или пункты меню, которые вы хотите сделать доступными для загрузки без пароля:
sudo gedit /etc/grub.d/10_linux
К примеру, в моём случае это пункт:
CLASS="--class gnu-linux --class gnu --class os"
Добавьте к нему опцию —unrestricted, чтобы получилось так:
CLASS="--class gnu-linux --class gnu --class os --unrestricted"
Сохраните и закройте этот файл.
Теперь запустите создание нового конфигурационного файла загрузчика:
sudo grub-mkconfig -o /boot/grub/grub.cfg
В результате загрузка системы будет выполняться как и раньше — пароль в загрузчике вводить не нужно. Но при попытке отредактировать опции загрузчика, например, если ввести «e», то будет предложено ввести пароль. Без ввода пароля не будет дан доступ к опциям загрузки.
Если нажать Enter без ввода пароля, то продолжится обычная загрузка, опции GRUB изменены не будут.
Связанные статьи:
Не удается установить пароль для загрузчика grub.
Делаю по инструкции https://wiki.astralinux.ru/pages/viewpage.action?pageId=18874503
Система гостевая на virtualbox в UEFI
Выполняю команду grub-mkpasswd-pbkdf2, создаю файл /etc/grub.d/07_password, помещаю то что описано в инструкции вместе со скопированным хэшем, устанавливаю права 700, ввожу команду sudo update-grub, перезагружаю машину. Пароль от grub2 не запрашивается. То есть ничего нового при загрузке системы не происходит.
Montfer
New member
Андрей Д
New member
cat set superusers=»admin»
password_pbkdf2 admin grub.pbkdf2.sha512.10000.0F243BFA8E7738883C7FD69574527DBE91600AFA255B80F97439726FCD887EA7DC
2577056E6DFF1987B17B7314D3F61E8BD0D3B86CE1B0ED32532EEE015ADBBE.79896BCB49F438191CE9112FA802E4A1DA6A0D1226DA44FE05
01BC365155F3225172D60076ACBD395F90BF6F56EB147014565DBAE66CDF40C7B142A518B3364A
EOF
Montfer
New member
не знаю. включил efi на виртуалке, установил чистый 2.12.45, копировал и содержимое твоего файла, и свой вписывал — запрос логина и пароля всегда появлялся.
или версия виртуалки у меня не та (до сих пор сижу на 6.1.28), или версия астры не 2.12.45, или стоит не скопировать конфиг, а вручную вписать, чтоб проблем с какими нибудь кодировками не произошли
Iskatel_znaniy
New member
не знаю. включил efi на виртуалке, установил чистый 2.12.45, копировал и содержимое твоего файла, и свой вписывал — запрос логина и пароля всегда появлялся.
или версия виртуалки у меня не та (до сих пор сижу на 6.1.28), или версия астры не 2.12.45, или стоит не скопировать конфиг, а вручную вписать, чтоб проблем с какими нибудь кодировками не произошли
У меня тоже не получается. Версия виртуалки 6.1.36. Система 2.12.45. Сделал по той же инструкции, вписал свой конфиг по ней, то есть свой хэш.
Как поставить пароль на GRUB и GRUB2 в Linux
Приветствую Вас, мои дорогие параноики! Сегодня я покажу как как поставить пароль на GRUB в Astra Linux или любом другом Линуксе. Зачем? Для защиты как обычного компьютера, так и сервера. Всё зависит от важности содержащейся на нём информации. Механизм такой защиты прост — создаётся отдельный пользователь для него. Я пошагово покажу как это сделать и расскажу про нюансы и особенности.
1. Генерация хэш-пароля
В этом нам поможет утилита grub-mkpasswd-pbkdf2. В Ubuntu и Astra Linux она уже есть по умолчанию. Если у Вас она не установлена в систему — установите. Генерация хэша пароля выполняется вот такой командой в терминале:
От Вас потребуется дважды ввести будущий пароль для GRUB или GRUB2. Результатом будет хэш – это длинная строка, которая начинается с grub.pbkdf2. Пример:
Скопируйте всю это длинную цепочку букв и цифр в блокнот.
2. Изменить настройки
Теперь необходимо будет назначить супер-пользователя для GRUB. Делаем это через файл /etc/grub.d/00_header. Но сначала в любом редакторе Чтобы было удобнее, сначала в любом редакторе делаем вот такую конструкцию:
Тут вместо user_name во второй и третьей строчках надо будет придумать и указать имя супер-пользователя GRUB, а также замените хэш пароль на свой.
Теперь открываем файл загрузчика вот такой командой:
Его надо прокрутить до конца и с новой строки вставить подготовленную выше конструкцию. Вот так вот:
Сохраняем изменения в файле.
3. Обновить конфигурацию
Чтобы изменения в настройке загрузчика вступили в силу, нужно обязательно обновить его конфигурацию вот такой командой:
Результат выполнения будет примерно такой:
4. Проверить работу
Результатом будет запрос пароля загрузчика:
Без ввода пароля система дальше не загрузится. Profit!
Получение доступа к машине
Дождаться появления меню загрузчика и нажать клавишу «e»:
Изменяемая часть подчеркнута на снимке экрана):
В этом варианте перезагрузка машины после внесения изменений выполняется командой:
В случае, если пароль загрузчика неизвестен
- Выполнить загрузку с установочного диска Astra Linux и выбрать «Режим восстановления»;
В этом варианте перезагрузка машины после внесения изменений выполняется двумя командами:
Получение имени администратора
Создаваемому при установке ОС администратору присваивается числовой идентификатор 1000. В случае, если имя администратора не известно, его можно получить командой:
Сброс счетчика неудачных попыток
После получения доступа к системе для сброса счетчика неудачных попыток выполнить команду:
- при работе с локальными пользователями:
Пользователя можно указать по отдельному имени, числовому идентификатору или в виде диапазона числовых идентификаторов. Диапазон задается в виде максимального и минимального значений .
После сброса счетчика перезагрузить машину.
Смена пароля
После получения доступа к системе сменить пароль пользователя, для чего в ыполнить команду:
После смены пароля перезагрузить ОС.
Сброс блокировки учетной записи администратора
Если локальный администратор самостоятельно заблокировал свою учетную запись, то для ее разблокирования:
- Загрузить компьютер в режиме восстановления;
- Выполнить команду: