Существует старая поговорка – «root access == root access».
Я полностью согласен с этим утверждением.
Любой, кто имеет доступ к загрузчику, может легко получить доступ root к вашей системе.
Мы уже разместили руководство, в котором описано, как сбросить пароль root в Linux.
Этот учебник научил вас, как легко сбрасывать или восстанавливать пароль пользователя root через загрузчик Grub.
Когда у кого-то есть физический и / или дотсуп к загрузчику, доступ к машине возможен.
Вот почему нам нужно добавить дополнительную защиту, защищая загрузчик Grub надежным паролем.
Если вы администратор Linux, вы должны знать, как защитить ваш загрузчик.
В этом руководстве описано, как защитить загрузчик Grub паролем в CentOS.
Я проверил это руководство по системам CentOS 6.x и CentOS 7.x.
Защита паролем GRUB
В старых дистрибутивах Linux, таких как CentOS 6.x, RHEL 6.x, Grub является загрузчиком по умолчанию.
В этом разделе описывается, как установить пароль для grub в системах CentOS 6.x.
Перед выполнением каких-либо изменений всегда рекомендуется резервировать конфигурационный файл GRUB
$ cp /etc/grub.conf /etc/grub.conf.bak
Во-первых, нам нужно зашифровать пароль.
Для этого войдите в систему centos как пользователь root и создайте файл с именем grub, как показано ниже.
Все команды, приведенные ниже, выполняются от пользователя root.
# touch grub
Затем зашифруйте пароль, используя команду «md5crypt».
Для этого запустите следующую команду из терминала и нажмите клавишу Enter.
# grub-md5-crypt >grub
Введите пароль дважды.
Обратите внимание, что вы ничего не увидите, когда вводите пароль на экране.
Просто введите пароль в любом случае и нажмите клавишу Enter, и повторно введите тот же пароль и нажмите ENTER.
Пароль был зашифрован.
Затем нам нужно добавить этот пароль в файл /etc/grub.conf.
Теперь добавим пароль в файл grub.conf.
Для этого откройте два файла grub и /etc/grub.conf.
# vi /root/grub /etc/grub.conf
Вышеупомянутая команда откроет оба файла в редакторе vi.
Вы увидите зашифрованный пароль, как показано ниже.
Переместите курсор и поместите его перед паролем.
Затем введите yy, чтобы вынуть (скопировать) пароль.
Password: Retype password: $1$Ch0NF/$0XsWw8.EW31vRjm5zsnPb/
Затем введите: n (двоеточие n). Это переключит вас на следующий файл т.е /etc/grub.conf.
После строки splashimage = (hd0,0) /grub/splash.xpm.gz нажмите p, чтобы вставить зашифрованный пароль из предыдущего файла.
Затем нажмите i и добавьте passowd –md5 перед зашифрованным паролем, как показано ниже.
password --md5 $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0
Затем нажмите ESC и введите: wq для сохранения и выхода.
Перезагрузите систему.
Теперь взгляните на меню загрузки Grub.
Вы не можете редактировать меню grub без ввода пароля в первую очередь.
Чтобы изменить меню Grub, нажмите p.
Вам будет предложено пароль пароль.
Просто введите пароль, чтобы разблокировать меню загрузки Grub.
Теперь вы можете внести любые изменения в меню загрузки grub.
Защита паролем GRUB2
В RHEL 7 и его клонах, таких как CentOS 7, Scientific Linux 7, Grub2 является загрузчиком по умолчанию.
Защита загрузчика Grub2 паролем отличается от загрузчика grub.
Во-первых, создайте зашифрованный пароль, используя следующую команду в качестве пользователя root:
# grub2-mkpasswd-pbkdf2
Пример вывода:
Enter password: Reenter password: PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B
Мы только что создали зашифрованный пароль для защиты загрузчика Grub2.
Как вы уже знаете, не рекомендуется редактировать и вставлять только что сгенерированный пароль непосредственно в главный файл конфигурации grub2.
Вместо этого мы должны добавить пароль в пользовательский файл меню Grub2, который находится в каталоге /etc/grub.d/, и, наконец, обновить главный файл конфигурации Grub2 т.е. /etc/grub.cfg.
Сделайте копию пользовательского файла меню Grub2:
# cp /etc/grub.d/40_custom /etc/grub.d/40_custom.bak
Затем отредактируйте настраиваемый файл конфигурации Grub2 в качестве пользователя root:
# vi /etc/grub.d/40_custom
Добавьте следующие строки. Убедитесь, что вы вставили правильный пароль, который мы создали ранее.
set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B
Нажмите ESC и введите: wq, чтобы сохранить и закрыть файл.
Теперь пришло время обновить главный файл конфигурации Grub2.
Убедитесь, что у вас есть резервная копия главного файла конфигурации Grub2
# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
Обновите конфигурационный файл загрузчика Grub2 командой:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Пример вывода:
Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.22.2.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.22.2.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-327.13.1.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.13.1.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-123.9.3.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.9.3.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-e250d471d5594282ba042c653cfa0172 Found initrd image: /boot/initramfs-0-rescue-e250d471d5594282ba042c653cfa0172.img done
Вы можете проверить правильность установки пароля в файле /etc/grub2.cfg, как показано ниже.
# cat /etc/grub2.cfg
Мы все настроенли. Перезагрузите свою систему, чтобы проверить, был ли защитный grub2 паролем.
После перезапуска системы попробуйте отредактировать загрузчик Grub2.
Для этого нажмите e.