Często słyszałem, że lepiej jest suować się na rootowanie niż zalogować się bezpośrednio jako użytkownik root (i oczywiście ludzie mówią również, że lepiej jest używać sudo). Nigdy tak naprawdę nie rozumiem, dlaczego jedno jest lepsze od drugiego, wgląd?
33
Odpowiedzi:
Wnioskowanie jest tylko
su
lub wsudo
razie potrzeby.Większość codziennych zadań nie wymaga powłoki roota. Dlatego dobrą praktyką jest używanie nieuprzywilejowanej powłoki jako domyślnego zachowania, a następnie podniesienie uprawnień do rootowania tylko wtedy, gdy trzeba wykonywać specjalne zadania.
W ten sposób zmniejszasz zakres niebezpiecznych błędów (złe skrypty, źle umieszczone symbole wieloznaczne itp.) I luk w zabezpieczeniach aplikacji, których używasz. Zwłaszcza te, które łączą się z Internetem - zobacz stare powiedzenie „Don't IRC as root” .
sudo
jest często zalecane, ponieważ pozwala na dokładne sprawdzenie i sprawdzenie korzystania z takich uprawnień.Obserwując te praktyki, możesz także wyłączyć zdalne logowanie do roota. Zwiększa to pasek wejścia dla każdego potencjalnego napastnika, ponieważ musiałby naruszyć zarówno zwykłe konto użytkownika, które było członkiem grupy „koło” i najlepiej autoryzowane tylko przez klucze publiczne SSH, a następnie samo konto root.
źródło
sudo
jest lepszy,su
pozwala również używać-m
flagi, aby zachować zmienne środowiskowe bez zmian w terminalu głównym. Nic nie napędza mnie bardziej wściekłością niż rootowaniesu
, tylko zrobienie czegoś z~
nazwą katalogu i sprawienie, żeby to nie działało.Powinieneś wyłączyć dostęp roota ze zdalnego, aby osoba atakująca nie mogła złamać uprawnień roota bez uprzedniego narażenia użytkownika, a następnie eskalacji do roota. Umożliwiamy dostęp do konta root tylko na konsoli.
Dodatkowo tworzy odpowiedzialność. :)
źródło
Głównym powodem jest utworzenie ścieżki audytu. Jeśli musisz zalogować się do systemu jako zwykły użytkownik, a następnie su, możesz ustalić, kto jest odpowiedzialny za dane działania.
źródło
sudo automatycznie rejestruje każde polecenie w syslog i możesz zdefiniować polecenia, które każdy użytkownik może używać.
źródło
sudo vim foo.txt
następnie upuść do powłoki z poziomu vima da ci root root bez regularnego logowania sudo.sudo -i
aby uzyskać interaktywną sesję ...Kolejny dobry powód: podczas przechodzenia na rootowanie przez sudo użytkownik uwierzytelnia się na podstawie własnych poświadczeń, co oznacza, że niekoniecznie musi zostać podane hasło roota, co ułatwia blokowanie rzeczy, gdy ktoś opuści Twoją organizację.
źródło
Jeśli chcesz utworzyć ścieżkę audytu i nie chcesz paść ofiarą wspomnianych tutaj problemów „sudo su -” lub „sudo vim foo.txt”, możesz użyć „sudosh”. Rozdaj dostęp rootowi przez sudo, ale wykonaj jedyne dozwolone polecenie, aby uruchomić „sudosh”.
sudosh jest powłoką rejestrującą i możesz odtworzyć całą sesję terminala w późniejszym terminie, pokazując dokładnie to, co użytkownik zobaczył na swoim terminalu.
źródło
Powinieneś ćwiczyć bezpieczeństwo dogłębnie.
Nie zezwalaj na zdalny dostęp do konta root (lub przynajmniej dostęp do konta root za pomocą haseł). (jeśli zezwalasz na dostęp do konta root za pomocą kluczy, dokładnie kontroluj te klucze lub jeszcze lepiej użyj czegoś takiego jak Kerberos, który umożliwia scentralizowane odwoływanie kluczy).
Wyłączę su i użyję sudo. W ten sposób użytkownicy korzystają z klawiszy (najlepiej zaszyfrowane), aby uzyskać dostęp do systemu, a następnie używają ich hasła tylko do przekroczenia uprawnień. Możesz ograniczyć dostęp do programów, do których dostęp mają ludzie za pomocą sudo, ale głównie ograniczasz dostęp do tego, kto zna hasło roota.
W idealnym świecie powinieneś być w stanie opublikować swoje hasła roota w Internecie i nie miałoby to znaczenia, nawet jeśli dałeś ludziom dostęp do twojego komputera (ale nie umieściłeś ich w pliku / etc / sudoers). Oczywiście nie powinieneś publikować hasła roota, ale chodzi o to, aby chronić swoje systemy koncentrycznymi warstwami ochrony.
źródło
Chodzi o to, aby wyłączyć logowanie roota, a zatem nie masz domyślnego konta administratora. W ten sposób atakujący musi odgadnąć zarówno nazwę użytkownika, jak i hasło (a nie tylko hasło).
źródło
Jeśli regularnie korzystasz z roota, twoje uprawnienia mogą być błędne lub być może będziesz musiał przyznać uprawnienia sudo lub nowe prawa grupy do r / w / x plików lub katalogów.
Dobre schematy uprawnień są czymś, co nawet długoterminowi użytkownicy Linuksa mylą się lub nie zdają sobie sprawy z zakresu, jaki mają.
Nawet nie zaczynaj od tego, co zrobił Ubuntu!
źródło
To powstrzymuje cię przed uruchomieniem rm -r -f / Właśnie uruchomiłem to 2 dni temu (jako nieuprzywilejowany użytkownik chciałem uruchomić rm -r -f *)
źródło