Защитить загрузку системы от редактирования загрузчика можно следующим способом:
Когда происходит загрузка системы, первом что мы видим это элементы меню GRUB с помощью данного меню имеется возможность выбрать то с чем можно загрузить систему:
, но как обезопасить физический доступ к системе?,
в одной из своих ранее заметок я описывал, как имея физический доступ можно зайти в систему в однопользовательском режиме и сбросить пароль суперпользователя, завести нового да и еще натворить много всяких бед. Оно вам надо. Поэтому ниже я рассмотрю такой способ, как защитить меню GRUB от редактирования. Это и есть решение всех проблем, но сперва: – обновляю информацию по репозитариям
ekzorchik@srv-mon:~$ sudo apt-get update --fix-missing
- С генерирую пользовательский пароль:
ekzorchik@srv-mon:~$ grub-mkpasswd-pbkdf2
Enter password:712mbddr@
Reenter password:712mbddr@
Your PBKDF2 is grub.pbkdf2.sha512.10000.4A096CBBA7D9913344F75B33AB48A8EB75896A0BFB82D73592D51F4C3EF243E9BFCAF4
46A5F9D62C4BCE1B62E19AE4B6FC07AD48D9ECE320FA44E5392D2488DE.03A027E5952E88A79A162B256A429B33
617C97DD4474F437A50B74338C03A2BBC3F4AC9BEE28C9891025075B704786F34BD1570CEF
582E28D6AC0CD563CFEA84
- Далее отредактирую профиль загрузки 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@
- Обновляем настройки для текущего ядра:
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
- Перезагружаем систему, и в момент когда на экране отображается окно 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
Пробуем загрузиться в консоль восстановления и вот оно долгожданное
Как только пароль был введен, система начнет грузиться.
Вот собственно и все, для обеспечения еще одного рубежа защиты системы от физического доступа с целью повышения прав в системе. Данной заметкой выражаю благодарность комментария от коллеги по работе, т. к. он подсказал, что повысить безопасность системы можно разграничив тем людям которым по статусу положено иметь привилигированный доступ к настройкам. Да и к тому же мне самому было полезно проработать данную задумку. По такому принципу я защитил тонкие клиенты на системах Asus EEEBOX PCI1030. Потому как данные системы выставлены на ресепшене и безопасность от поломки (я имею ввижу программную часть) сведена к минимуму. На этом прощаюсь, до новых заметок — с уважением, автор блога ekzorchik.