Czy wyłączenie logowania roota zwiększa bezpieczeństwo?

13

Niedawno znalazłem argument przeciwko wyłączeniu logowania użytkownika root w systemie Linux pod adresem http://archives.neohapsis.com/archives/openbsd/2005-03/2878.html

Zakładam, że jeśli wszyscy korzystają z uwierzytelniania za pomocą klucza publicznego, nie ma ryzyka utraty hasła roota.

Czy zawsze lepiej jest wyłączyć logowanie roota przez ssh?

PJ
źródło
1
Naprawdę musisz zapytać: „Czy wyłączenie logowania roota jest zgodne z moją polityką bezpieczeństwa?” Zasady wszystkich są różne z różnych powodów.
Alex Holst

Odpowiedzi:

10

Krótka odpowiedź brzmi: im mniejszy profil ataku, tym lepiej. Zawsze. Jeśli nie potrzebujesz go lub możesz użyć alternatywy, takiej jak sudo lub su, nie włączaj logowania roota.

Jednym z głównych argumentów na rzecz wyłączenia roota i używania sudo / su jest to, że możesz śledzić, kto co robi. Jeden użytkownik - jeden login. Nigdy nie udostępniaj kont.

Argument pod tym linkiem wydaje się być specyficzny dla lokalnego logowania, a nie ssh.

Wstrzymano do odwołania.
źródło
3
Punktem śledzenia jest dyskusja: sudo -ia twoje działania pojawiają się jako root, a nie twoje
Fahad Sadah
2
Ale masz zapis oryginalnego logowania. Możesz nie mieć dowodu, ale masz dowody. Ponadto możesz kontrolować, do czego użytkownik ma dostęp i co może zrobić.
Wstrzymano do odwołania.
Co z sytuacją jednego użytkownika na system operacyjny? Systemem zarządza tylko jedna osoba, mogę śledzić, kto już to robi. Użycie sudo make ucieczkę bash ciąg bardzo skomplikowane ... na przykład: unix.stackexchange.com/questions/551899/...
brąz mężczyznę
8

Drugi punkt Dennisa plus:

Zezwolenie na logowanie do roota przez SSH oznacza również, że root może zostać przypisany przez domniemane hasła brute force.

Ponieważ root jest zawsze obecny, a nagroda jest tak wysoka, jest priorytetowym celem. Najpierw należy odgadnąć nazwę użytkownika, co zwiększa trudność problemu o kilka rzędów wielkości.

Posipiet
źródło
Ponadto, ponieważ jest rootem, jak w przypadku większości kont administratora, nawet jeśli ustawisz system na blokowanie kont po (x) awariach, nie będzie. Zamiast tego musisz skonfigurować coś, aby blokować adresy IP po awariach, ale nawet to nie pomoże w walce z rozproszoną brutalną siłą.
Joe H.
1
Możesz zmienić nazwę konta root, tak jak każde inne.
Fahad Sadah
@fahadsadah Niektóre programy zakładają identyfikator użytkownika UID 0 == root. Kiedyś próbowałem zmienić nazwę roota na routerze OpenWRT i jego interfejs internetowy się zepsuł.
Gerald Combs
3
Rootowanie przez ssh NIE oznacza automatycznie, że system jest podatny na brutalną siłę. Rozważ system z PermitRootLogin without-passwordzestawem opcji.
Zoredache,
4

Nigdy nie wyłączaj konta root, jeśli nie masz dostępu do konsoli. Jeśli twój system plików zapełni się i rozruch nie powiedzie się podczas tworzenia / etc / nologin, tylko konto roota będzie mogło zalogować się do komputera.

To powiedziawszy, jeśli masz dostęp do konsoli, aby poradzić sobie z tymi sytuacjami, zamknięcie konta roota może zaoszczędzić ci bólu głowy, ponieważ nikt nie będzie w stanie uzyskać dostępu do konta roota za pomocą ataku słownikowego (moje doświadczenie jest takie, że są one stałe w dzisiejszych czasach - ktoś zawsze próbuje). Inne rzeczy, o których możesz pomyśleć:

  • Zainstaluj program, taki jak fail2ban, który automatycznie zamyka dostęp do adresu IP, jeśli kilkakrotnie zakończy się niepowodzeniem uwierzytelniania (w celu aktywnej ochrony przed atakami słownikowymi).
  • Używaj tylko kluczy ssh.
  • Jeśli zarządzasz wieloma komputerami, użyj cfengine lub innego do zarządzania kluczami publicznymi, które upoważniasz do wejścia na maszynę (w przeciwnym razie dość szybko dostaniesz te nieaktualne).

Z pozdrowieniami,
João Miguel Neves

jneves
źródło
1

Zawsze lepiej jest wyłączyć logowanie roota przez SSH.

Istnieją systemy PKI (np. Klucze publiczne z SSH), które zostały przejęte. W SSH występowały już wady w zakresie zdalnego uwierzytelniania, które umożliwiały kompromis roota. Oprogramowanie PKI są znacznie słabsze niż PKI oparte na sprzęcie .... jeśli komputer hosta zostanie naruszony, serwer docelowy może również łatwo spaść. Lub mogą istnieć nowe wady w SSH. Ograniczając logowanie do konta root, możesz także przedłużyć czas, jaki osoba atakująca potrzebuje, aby wykonać eskalację uprawnień.

Historycznie wielu administratorów korzystało z hostów bastionowych (w zasadzie bram), aby wejść do sieci, a następnie przeskoczyć do skrzynek. Korzystanie z wysoce bezpiecznej dystrybucji (np. OpenBSD) jako hosta bastionu w połączeniu z różnymi systemami operacyjnymi zapewnia kompleksową ochronę i różnorodność obrony (jedna luka rzadziej zagraża całej sieci).

Należy również rozważyć połączenie poza pasmem z siecią, takie jak koncentrator szeregowy, przełącznik szeregowy lub inny. W razie potrzeby zapewni to dostępność kopii zapasowej interfejsu administracyjnego.

Ponieważ jestem paranoikiem i jestem bezpieczny, chętniej skorzystam z IPSEC VPN lub Type1 VPN, a następnie uruchomię SSH na nim, bez żadnej ekspozycji SSH w Internecie. Wprowadzenie VPN na sprzęcie sieciowym może znacznie uprościć to we wdrażaniu.

Brennan
źródło
0

Powinniśmy zbadać to pytanie z różnych punktów.

Ubuntu domyślnie wyłącza konto root, co oznacza, że ​​nie można zalogować się przez SSH z rootem. Pozwala jednak każdemu z płytą CD Ubuntu na rozruch i uzyskanie dostępu do konta root.

Uważam, że najlepszym kompromisem jest włączenie konta root z wyłączonym dostępem SSH. Jeśli potrzebujesz dostępu do roota za pomocą SSH, zaloguj się u zwykłego użytkownika i użyj sudo. W ten sposób zabezpiecza dostęp do skrzynki, bez narażania bezpieczeństwa zdalnego.

Natalie Adams
źródło
2
Zanim ktoś uruchomi komputer za pomocą płyty CD, jest już za późno, już go uruchomił. Najlepsze, na co możesz wtedy liczyć, to zaszyfrowana partycja danych.
Kamil Kisiel
1
Jeśli masz dostęp do „uchwytu na kubek”, nie potrzebujesz ssh.
Wstrzymano do odwołania.
@Kamil Kisiel, co nie znaczy, że nie możesz stawiać blokad drogowych, aby je powstrzymać. Jak brzmi to zdanie? Jeśli mogą dotknąć twojego pudełka, mogą go posiadać. Ale musimy spojrzeć na to z innej perspektywy. @Dennis Williamson, czy możesz wyjaśnić swój komentarz?
Natalie Adams
Jakie bloki drogowe? Jeśli uruchamiasz się z własnego dysku CD, nie potrzebujesz żadnych haseł. Właśnie czytasz system plików.
Kamil Kisiel
0

Powiedziałbym tak, logowanie jako root powinno być wyłączone dla kontroli. Jeśli jesteś jedynym administratorem systemu na tym komputerze, ustalenie, kto zrobił komu, jest trywialne, ale jeśli dziesięć osób jest upoważnionych do administrowania skrzynką i wszyscy znają hasło roota, mamy problem.

Bez względu na to, czy root jest włączony, root ani żaden inny użytkownik nie powinni mieć możliwości zdalnego logowania przy użyciu hasła. fail2ban nie zrobi nic przeciwko powolnemu botnetowi typu brute-force i nie działa w ogóle z IPv6. (Protokół ssh w wersji 1 i starsze implementacje wersji 2 były podatne na ataki polegające na odgadywaniu haseł na interaktywne monity o hasła w sesji ssh, ale wydaje się, że nie jest tak już w przypadku wystarczająco niedawnej implementacji ssh).

Brad Ackerman
źródło