Vyhledávání na webu

Jak chránit heslem režim jednoho uživatele v CentOS 7


V jednom z našich dřívějších článků jsme popsali, jak zavést systém CentOS 7 do režimu pro jednoho uživatele. Je také známý jako „režim údržby“, kde Linux spouští pouze několik služeb pro základní funkce, které umožňují jeden uživatel (obvykle superuživatel) provádí určité administrativní úkoly, jako je použití fsck k opravě poškozených souborových systémů.

V režimu jednoho uživatele systém spouští jednouživatelský shell, kde můžete spouštět příkazy bez jakýchkoli přihlašovacích údajů (uživatelského jména a hesla), dostanete se rovnou do omezeného prostředí s přístupem k celému souborovému systému.

Toto je masivní bezpečnostní díra, protože umožňuje vetřelcům přímý přístup k shellu (a možný přístup k celému souborovému systému). Proto je důležité chránit heslem režim jednoho uživatele v systému CentOS 7, jak je vysvětleno níže.

V CentOS/RHEL 7 jsou záchranné a nouzové cíle (což jsou také režimy pro jednoho uživatele) heslem ve výchozím nastavení chráněna.

Když se například pokusíte změnit target (runlevel) přes systemd na rescue.target (také emergency.target), budete požádáni o heslo uživatele root, jak je znázorněno na následujícím snímku obrazovky.

systemctl isolate rescue.target
OR
systemctl isolate emergency.target

Pokud má však narušitel fyzický přístup k serveru, může vybrat jádro, které se má zavést, z položky nabídky grub stisknutím klávesy e a upravit první možnost zavádění.

Na řádku jádra, který začíná “linux16“, může změnit argument ro na “rw init=/sysroot/bin/sh “ a zavést do režimu jednoho uživatele na CentOS 7, aniž by systém požadoval heslo uživatele root, i když se řádek SINGLE=/sbin/sushell změní na SINGLE=/sbin/sulogin v souboru /etc/sysconfig/init.

Jediným způsobem, jak chránit heslem režim pro jednoho uživatele v CentOS 7, je chránit GRUB heslem podle následujících pokynů.

Jak chránit Grub heslem v CentOS 7

Nejprve vytvořte silné zašifrované heslo pomocí nástroje grub2-setpassword, jak je znázorněno.

grub2-setpassword

Hash pro heslo je uložen v /boot/grub2/user.cfg a uživatel, tj. ”root ” je definován v / boot/grub2/grub.cfg, můžete heslo zobrazit pomocí příkazu cat, jak je znázorněno.

cat /boot/grub2/user.cfg

Nyní otevřete soubor /boot/grub2/grub.cfg a vyhledejte spouštěcí položku, kterou chcete chránit heslem, začíná menuentry. Jakmile záznam najdete, odstraňte z něj parametr --unrestricted.

Uložte soubor a zavřete, nyní zkuste rebootovat systém CentOS 7 a upravit zaváděcí položky stisknutím klávesy e, budete požádáni o zadání přihlašovacích údajů, jak je znázorněno.

A je to. Úspěšně jste ochránili svou nabídku GRUB CentOS 7 heslem.