Защитить загрузку системы от редактирования загрузчика можно следующим способом:

Когда происходит загрузка системы, первом что мы видим это элементы меню GRUB с помощью данного меню имеется возможность выбрать то с чем можно загрузить систему:

Так выглядит мое меню загрузки GRUB

, но как обезопасить физический доступ к системе?,

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

ekzorchik@srv-mon:~$ sudo apt-get update --fix-missing

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

ekzorchik@srv-mon:~$ grub-mkpasswd-pbkdf2

Enter password:712mbddr@

Reenter password:712mbddr@

Your PBKDF2 is grub.pbkdf2.sha512.10000.4A096CBBA7D9913344F75B33AB48A8EB75896A0BFB82D73592D51F4C3EF243E9BFCAF4

46A5F9D62C4BCE1B62E19AE4B6FC07AD48D9ECE320FA44E5392D2488DE.03A027E5952E88A79A162B256A429B33

617C97DD4474F437A50B74338C03A2BBC3F4AC9BEE28C9891025075B704786F34BD1570CEF

582E28D6AC0CD563CFEA84

  1. Далее отредактирую профиль загрузки grub:

ekzorchik@srv-mon:~$ sudo nano /etc/grub.d/40_custom

set superusers="ekzorchik"

# разрешаем доступ учетной записи ekzorchik и сопоставление зашифрованного пароля (копируем его после генерации сюда, как показано на моем примере)

password_pbkdf2 ekzorchik grub.pbkdf2.sha512.10000.4A096CBBA7D9913344F75B33AB48A8$и_далее

# либо разрешаем доступ учетной записи ekzorchik и пароля указанного простым текстом без какого либо шифрования

password ekzorchik 712mbddr@

  1. Обновляем настройки для текущего ядра:

ekzorchik@srv-mon:~$ sudo update-grub

Generating grub.cfg …

Found linux image: /boot/vmlinuz-3.13.0-35-generic

Found initrd image: /boot/initrd.img-3.13.0-35-generic

Found linux image: /boot/vmlinuz-3.11.0-15-generic

Found initrd image: /boot/initrd.img-3.11.0-15-generic

Found memtest86+ image: /memtest86+.bin

Done

  1. Перезагружаем систему, и в момент когда на экране отображается окно Grub где можно выбрать вариант загрузки системы, нажимаем клавишуeчтобы перейти в режим редактирования, (так можно получить доступ к однопользовательскому режиму)

Сработает правило запрашивающее кому разрешен доступ в режим редактирования:

Чтобы попасть в режим редактирования меню нужно авторизоваться

Ввожу учетную запись: ekzorchik и нажимаю Enter, теперь ввожу пароль:

Enter password: 712mbddr@

И меня перебрасывает в элемент меню редактирования параметров загрузки
После успешной авторизации попадаю в режим редактирования меню

Еще можно защитить паролем загрузку определенных меню, т.е. если в системе установлено несколько ядер и в каждом из них есть определенные настройки то загрузку с данным ядром можно обезопасить. Да и не только, защите также должна быть подвержена возможность загрузить систему в режиме восстановления: к примеру, в моем случае: Ubuntu, with Linux 3.13-0-35-generic (Recovery mode)

Ниже практические действия:

ekzorchik@srv-mon:~$ sudo nano +87 /etc/grub.d/10_linux

printf "menuentry --users ekzorchik '${title}' ${CLASS} {\n" "${os}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")"

Сохраняем внесенные изменения.

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

ekzorchik@srv-mon:~$ sudo update-grub

Generating grub.cfg …

Found linux image: /boot/vmlinuz-3.13.0-35-generic

Found initrd image: /boot/initrd.img-3.13.0-35-generic

Found linux image: /boot/vmlinuz-3.11.0-15-generic

Found initrd image: /boot/initrd.img-3.11.0-15-generic

Found memtest86+ image: /memtest86+.bin

Done

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

ekzorchik@srv-mon:~$ sudo reboot

Пробуем загрузиться в консоль восстановления и вот оно долгожданное

Нужно пройти авторизацию чтобы загрузиться в режим Recovery Mode

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

Вот собственно и все, для обеспечения еще одного рубежа защиты системы от физического доступа с целью повышения прав в системе. Данной заметкой выражаю благодарность комментария от коллеги по работе, т. к. он подсказал, что повысить безопасность системы можно разграничив тем людям которым по статусу положено иметь привилигированный доступ к настройкам. Да и к тому же мне самому было полезно проработать данную задумку. По такому принципу я защитил тонкие клиенты на системах Asus EEEBOX PCI1030. Потому как данные системы выставлены на ресепшене и безопасность от поломки (я имею ввижу программную часть) сведена к минимуму. На этом прощаюсь, до новых заметок — с уважением, автор блога ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru