Možná jste už slyšeli o tomto starém přísloví – "boot access==root access" . Je to skutečně pravda! Každý, kdo má přístup k zavaděči, může snadno získat přístup root k vašemu systému. Již jsme zveřejnili průvodce, který popisoval, jak resetovat heslo uživatele root v systému Linux . Tento tutoriál vás naučil, jak snadno resetovat nebo obnovit heslo uživatele root pomocí zavaděče Grub. Jakmile má někdo fyzický a/nebo bootloader přístup ke stroji, neexistuje způsob, jak ho zastavit. Proto musíme přidat další zabezpečení tím, že ochráníme Grub Bootloader silným heslem. Pokud jste správce Linuxu, měli byste vědět, jak zabezpečit bootloader. Tato příručka vysvětluje, jak chránit zavaděč Grub heslem v CentOS. Testoval jsem tuto příručku na systémech CentOS 6.x a CentOS 7.x a fungovala dobře, jak je popsáno níže.
Password Protect GRUB Bootloader v RHEL 6.x, CentOS 6.x
Ve starších distribucích Linuxu, jako je CentOS 6.x, RHEL 6.x, je Grub výchozím bootloaderem. Tato část popisuje, jak nastavit heslo grub v systémech CentOS 6.x.
Před provedením jakýchkoli změn se vždy doporučuje zálohovat konfigurační soubor GRUB
# cp /etc/grub.conf /etc/grub.conf.bak
Nejprve musíme zašifrovat heslo. Chcete-li tak učinit, přihlaste se do systému centos jako uživatel root a vytvořte soubor s názvem grub
Jak je ukázáno níže. Všechny níže uvedené příkazy by měly být spouštěny jako root
uživatel.
# touch grub
Dále zašifrujte heslo pomocí "md5crypt
" příkaz. Chcete-li tak učinit, spusťte z terminálu následující příkaz a stiskněte klávesu ENTER.
# grub-md5-crypt>grub
Zadejte své heslo dvakrát. Vezměte prosím na vědomí, že při zadávání hesla na obrazovce nic neuvidíte. Jednoduše zadejte heslo a stiskněte ENTER, zadejte znovu stejné heslo a stiskněte ENTER.
Heslo bylo zašifrováno. Dále musíme toto heslo přidat do /etc/grub.conf
soubor.
Nyní přidejte heslo do grub.conf
soubor. Chcete-li tak učinit, otevřete dva soubory grub a /etc/grub.conf
soubory.
# vi /root/grub /etc/grub.conf
Výše uvedený příkaz otevře oba soubory v vi
editor.
Uvidíte zašifrované heslo jako níže. Přesuňte kurzor a umístěte jej před heslo. Poté zadejte yy
vytáhnout (zkopírovat) heslo.
Heslo:Opakujte heslo:$1$Ch0NF/$0XsWw8.EW31vRjm5zsnPb/

Poté zadejte :n (dvojtečka n ). Tím přejdete na další soubor, tj. /etc/grub.conf
.

Po splashimage=(hd0,0)/grub/splash.xpm.gz
řádek, stiskněte p
pro vložení zašifrovaného hesla z předchozího souboru.
Poté stiskněte i
a přidejte řádek password --md5
před zašifrované heslo, jak je uvedeno níže.
heslo --md5 $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0
Další vysvětlení naleznete na následujícím snímku obrazovky.

Zde $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0
je šifrované heslo grub mého systému CentOS 6. Nahraďte jej vlastním.
Poté stiskněte ESC a zadejte :wq
uložte soubor a zavřete jej.
Restartujte systém.
Od této chvíle nemůžete upravovat nabídku grub bez předchozího zadání hesla.

Chcete-li upravit nabídku Grub, stiskněte p
. Budete požádáni o zadání hesla. Pro odemknutí spouštěcí nabídky Grub stačí zadat heslo.

Nyní můžete v zaváděcí nabídce grub provést libovolné změny.

Password Protect GRUB2 Bootloader v RHEL 7.x, CentOS 7.x
V RHEL 7 a jeho klonech, jako je CentOS 7, Scientific Linux 7, je Grub2 výchozím bootloaderem. Ochrana zavaděče Grub2 heslem se liší od zavaděče grub.
Nejprve vytvořte zašifrované heslo pomocí následujícího příkazu jako root
uživatel:
# grub2-mkpasswd-pbkdf2
Ukázkový výstup:
Zadejte heslo:Zadejte heslo:PBKDF2 hash hesla je grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B
Právě jsme vytvořili šifrované heslo pro zabezpečení bootloaderu Grub2.
Jak už možná víte, nedoporučuje se to upravit a vložit nově vygenerované heslo přímo do hlavního konfiguračního souboru grub2.
Místo toho bychom měli heslo přidat do vlastního souboru nabídky Grub2, který se nachází v /etc/grub.d/
adresář a nakonec aktualizujte hlavní konfigurační soubor Grub2, tj. /etc/grub.cfg
.
Vytvořte kopii vlastního souboru nabídky Grub2:
# cp /etc/grub.d/40_custom /etc/grub.d/40_custom.bak
Poté upravte vlastní konfigurační soubor nabídky Grub2 jako root
uživatel:
# vi /etc/grub.d/40_custom
Přidejte následující řádky. Ujistěte se, že jste vložili správné heslo, které jsme vygenerovali dříve.
nastavené superuživatelů ="root" password_pbkdf2 kořen grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B

Stiskněte ESC a zadejte :wq
uložte a zavřete soubor.
Nyní je čas aktualizovat hlavní konfigurační soubor Grub2.
Ujistěte se, že máte záložní kopii hlavního konfiguračního souboru Grub2.
# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
Aktualizujte konfigurační soubor zavaděče Grub2 pomocí příkazu:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Ukázkový výstup:
Generování konfiguračního souboru grub ...Nalezený linuxový obrázek:/boot/vmlinuz-3.10.0-327.22.2.el7.x86_64Nalezený initrd obrázek:/boot/initramfs-3.10.0-327.22.2.el7.x86_64. imgFound linux image:/boot/vmlinuz-3.10.0-327.13.1.el7.x86_64Found initrd image:/boot/initramfs-3.10.0-327.13.1.el7.x86_64.imgFound /0boot-linux image:.0-123.9.3.el7.x86_64Nalezený initrd obrázek:/boot/initramfs-3.10.0-123.9.3.el7.x86_64.imgNalezený linuxový obrázek:/boot/vmlinuz-3.10.0-126.el64.xF :/boot/initramfs-3.10.0-123.el7.x86_64.imgfound Linux Image:/boot/vmlinuz-0-rescue-e250d4715594282ba042c65cfA0172Found InitimRD:/boot/initRAMFS-0-RESCUESprávné nastavení hesla můžete ověřit v
/etc/grub2.cfg
soubor, jak je uvedeno níže.# cat /etc/grub2.cfgUkázkový výstup by byl:
![]()
Jsme připraveni. Restartujte systém a ověřte, zda byl bootloader zabezpečen heslem.
Po restartu systému zkuste upravit bootloader Grub2. Chcete-li tak učinit, stiskněte
e
.![]()
Budete požádáni o zadání uživatelského jména a hesla, které jsme definovali v předchozím kroku.
![]()
Pokud jste zadali správné uživatelské jméno a heslo, budete moci upravit zavaděč Grub2.
![]()
Nyní víte, jak chránit heslem bootloader Grub a Grub2 v Linuxu. Nastavení hesla Grub nemusí zcela chránit váš systém. Rozhodně to však přidá další vrstvu zabezpečení na vaše servery CentOS Linux.
Jak zjistit, kdo a kdy restartoval systém Linux Jak monitorovat průběh dat prostřednictvím potrubí pomocí příkazu „pv“.Linux