Dlaczego root nie powinien mieć dostępu do logowania przez ssh?

10

dlaczego dostęp root powinien być wyłączony dla ssh? Zawsze słyszę, że ze względów bezpieczeństwa. Ale nie rozumiem. Co różni się od zalogowania jako użytkownik inny niż root sudo su -? Jaki jest preferowany sposób obsługi zadań wymagających uprzywilejowanych uprawnień?

Dzięki

Tomasz


źródło

Odpowiedzi:

6

Sudo jest preferowanym sposobem, gdy trzeba delegować zadania administracyjne ze względu na możliwość kontroli i bogatą szczegółowość. Sudo pozwala na rejestrowanie wszystkich poleceń i pozwala administratorowi skonfigurować różne profile sudo dla poszczególnych osób lub grup.

Dostęp do su lub root to wszystko albo nic


źródło
Jestem skłonny zadzwonić do FUD w tej sprawie. Obejście kontroli jest banalne przy pomocy sudo -slub sudo bash. Chyba że mówisz o ograniczeniu zestawu poleceń /etc/sudoers, których nigdy nie widziałem w środowisku produkcyjnym, w którym sudo jest używane interaktywnie. Gdy sudo jest włączone, złośliwe oprogramowanie (np. Uruchamiane przez wpisanie makelub python setup.pyw losowym repozytorium, które właśnie sklonowałeś z GitHub) skutecznie ma uprawnienia root. Porównaj to ze scenariuszem, w którym sudo jest wyłączone i zamiast tego do wykonywania poleceń jako root używa się osobnego połączenia SSH.
Feuermurmel,
4

Root to jedyne konto, które na pewno jest włączone i włączone na każdej maszynie uniksowej, więc nie trzeba zastanawiać się nad wyborem go, aby spróbować brutalnie wymusić hasło. Bez zewnętrznych narzędzi (owijarki, które zabijają oczywiste skanery, Intruder Prevention Devices itp.) To tylko kwestia czasu, zanim hasło zostanie ustalone. Nawet z zewnętrznymi narzędziami zapobiegającymi tego rodzaju zachowaniu, nadal dobrym pomysłem jest zmuszenie przychodzących użytkowników do zalogowania się jako zwykły użytkownik, a następnie su / sudo / pfexec w celu uzyskania rozszerzonych uprawnień. Tak, jest to dodatkowy krok, co oznacza, że ​​będziesz musiał utworzyć konta użytkowników na komputerach, które są współużytkowane przez użytkowników root, ale to kolejna bariera między atakującym a nieograniczoną kontrolą nad pudełkiem.

sysadmin1138
źródło
2

Główną różnicą jest to, że atakujący musi również odgadnąć nazwę użytkownika. Jeśli pozwolisz rootowi się zalogować, musi on tylko odgadnąć hasło.

Może również sfałszować dane logowania użytkownika otrzymującego klucz ssh lub ponownie wysyłającego dane przy użyciu metody „człowiek w środku” i może zalogować się do systemu bez konieczności wpisywania hasła. Ale jeśli loguje się jako użytkownik, musi wykonywać polecenia sudo-ize i dlatego musi ręcznie wpisać hasło. Jeśli był zalogowany jako root, nie musi sudo-ize rzeczy, więc jest o jeden krok mniej bezpieczeństwa.


źródło
1

Istnieją setki tysięcy komputerów, które skanują w poszukiwaniu sshd i brutalnie je zmuszają. „root” to dobre konto, aby spróbować najpierw, ponieważ jeśli się zepsuje, jesteś całkowicie właścicielem maszyny. Jest to również wspólne konto we wszystkich systemach * nix, chyba że wyłączysz logowanie roota . Jest to bardzo dobra praktyka bezpieczeństwa.

Wieża
źródło
1
Wyłączenie logowania roota jest wymagane w celu ochrony przed brutalną siłą. Wyłączenie uwierzytelniania opartego na hasłach chroniłoby cię również przed skanującymi ludźmi i nadal pozwala na uwierzytelnianie jako root bez ryzyka. Uruchomienie IPS, które zabija połączenia po kilku nieudanych próbach, będzie również bardziej pomocne niż tylko blokowanie dostępu do konta root.
Zoredache,
0

Główną zaletą tego jest to, że pozwala na bardziej elastyczną kontrolę dostępu: jeśli użytkownik ma uprawnienia root za pośrednictwem sudo, łatwo jest przyznać uprawnienia root lub je zabrać w razie potrzeby. I odwrotnie, jeśli wręczasz ludziom root pw, nie możesz go zabrać (chyba że jesteś Men in Black ;-)), możesz jedynie zmienić root pw, co wpłynie na wszystkich.

W tym kontekście bezpośrednie logowanie do roota jest niepotrzebne, ponieważ nikt nie ma root pw.

(Nadal będziesz potrzebować root pw do awaryjnego dostępu do konsoli w trybie pojedynczego użytkownika, ale powinny istnieć specjalne przepisy dotyczące tego).

Śleske
źródło
0

Ale HP-UX nigdy nie wymusza niedostępności roota przez ssh, dlaczego?

suyao
źródło
3
ponieważ jest stary i nikt go nie używa.
Rook