Wyszukiwanie w witrynie

Jak zabezpieczyć hasłem tryb pojedynczego użytkownika w CentOS 7


W jednym z naszych wcześniejszych artykułów opisaliśmy, jak uruchomić komputer w trybie pojedynczego użytkownika w CentOS 7. Jest on również znany jako „tryb konserwacji”, w którym Linux uruchamia tylko kilka usług zapewniających podstawową funkcjonalność, aby umożliwić pojedynczy użytkownik (zwykle superużytkownik) wykonuje określone zadania administracyjne, takie jak używanie fsck do naprawy uszkodzonych systemów plików.

W trybie pojedynczego użytkownika system wykonuje powłokę jednego użytkownika, w której możesz uruchamiać polecenia bez żadnych danych logowania (nazwa użytkownika i hasło). Trafisz bezpośrednio do ograniczonej powłoki z dostępem do całego systemu plików.

Jest to ogromna luka w zabezpieczeniach, ponieważ daje intruzom bezpośredni dostęp do powłoki (i możliwy dostęp do całego systemu plików). Dlatego ważne jest zabezpieczenie hasłem trybu pojedynczego użytkownika w CentOS 7, jak wyjaśniono poniżej.

W CentOS/RHEL 7 celami ratunkowymi i awaryjnymi (które są również trybami jednego użytkownika) są hasła domyślnie chroniony.

Na przykład, gdy próbujesz zmienić cel (poziom działania) poprzez systemd na rescue.target (również emergency.target), zostaniesz poproszony o hasło roota, jak pokazano na poniższym zrzucie ekranu.

systemctl isolate rescue.target
OR
systemctl isolate emergency.target

Jeśli jednak intruz ma fizyczny dostęp do serwera, może wybrać jądro do uruchomienia z pozycji menu Gruba, naciskając klawisz e w celu edycji pierwszej opcji rozruchu.

W linii jądra rozpoczynającej się od „linux16” może zmienić argument ro na „rw init=/sysroot/bin/sh ” i uruchom komputer w trybie pojedynczego użytkownika w CentOS 7 bez pytania systemu o hasło roota, nawet jeśli linia SINGLE=/sbin/sushell zostanie zmieniona na SINGLE=/sbin/sulogin w pliku /etc/sysconfig/init.

Zatem jedynym sposobem zabezpieczenia hasłem trybu pojedynczego użytkownika w CentOS 7 jest ochrona GRUB-a hasłem, korzystając z poniższych instrukcji.

Jak chronić Gruba hasłem w CentOS 7

Najpierw utwórz silne zaszyfrowane hasło za pomocą narzędzia grub2-setpassword, jak pokazano.

grub2-setpassword

Hash hasła jest przechowywany w pliku /boot/grub2/user.cfg, a użytkownik, tj. „root” jest zdefiniowany w / boot/grub2/grub.cfg, możesz wyświetlić hasło za pomocą polecenia cat, jak pokazano.

cat /boot/grub2/user.cfg

Teraz otwórz plik /boot/grub2/grub.cfg i wyszukaj wpis rozruchowy, który chcesz zabezpieczyć hasłem. Zaczyna się od menuentry. Po zlokalizowaniu wpisu usuń z niego parametr --unrestricted.

Zapisz plik i zamknij, teraz spróbuj zrestartować system CentOS 7 i zmodyfikuj wpisy rozruchowe, naciskając klawisz e. Zostaniesz poproszony o podanie danych uwierzytelniających, jak pokazano.

Otóż to. Pomyślnie zabezpieczyłeś hasłem menu GRUB CentOS 7.