Mam wrażenie, że to głupie pytanie, ale zastanawiałem się nad tym od jakiegoś czasu.
Mam VPS i to jest moje pierwsze duże przedsięwzięcie z linuksem. Jestem jedyną osobą, która ma do niego dostęp. Moje pytanie brzmi: co jest złego w logowaniu jako root, a nie w zakładaniu konta i zapewnianiu dostępu do sudo? Jeśli sudoer może zrobić wszystko, co root, to jaka jest różnica? Jeśli haker może złamać moje hasło do mojego standardowego konta użytkownika innego niż root, może on również wykonywać polecenia sudo, więc w jaki sposób haker złamał moje konto roota w ogóle mniej lub bardziej?
linux
ssh
permissions
ryeguy
źródło
źródło
Odpowiedzi:
Jeśli jesteś zalogowany jako root, możesz łatwo wyczyścić katalogi lub zrobić coś, co z perspektywy czasu jest naprawdę głupie w systemie jednym ruchem palca, podczas gdy jako użytkownik zwykle musisz włożyć kilka dodatkowych cykli mentalnych w to, co piszę przed zrobieniem czegoś niebezpiecznego.
Również każdy program uruchamiany jako root jako uprawnienia roota, co oznacza, że jeśli ktoś lub coś zmusza cię do uruchomienia / kompilacji / przeglądania strony internetowej, która jest niebezpieczna i chce uszkodzić system, na przykład trojan lub inne złośliwe oprogramowanie, ma pełny dostęp do twojego system i może robić, co chce, w tym dostęp do portów TCP poniżej 1024 (dzięki czemu może na przykład zmienić Twój system w remailer).
Zasadniczo pytasz o kłopoty, których możesz uniknąć, logując się samodzielnie. Znałem wielu ludzi, którzy w końcu byli zadowoleni, że mieli tę siatkę bezpieczeństwa w chwili nieostrożności.
EDYCJA: Istnieje również kwestia roota, który jest najbardziej znanym, a zatem łatwym celem, dla skryptów i hacków. Systemy, które wyłączają konto i zamiast tego zmuszają użytkowników do korzystania z sudo, oznaczają, że wszelkie próby złamania roota z ssh lub lokalnego exploita na konto uderzają głową w ścianę. Musieliby zgadnąć / złamać hasło i nazwę użytkownika. Jest to do pewnego stopnia bezpieczeństwo poprzez niejasność, ale trudno argumentować, że nie udaremnia większości ataków skryptu dla dzieci.
źródło
Jeśli nie pozwolisz idiocie zalogować się na serwerze jako root, nie zawsze uruchamiaj się jako root. Chyba że potrafisz powiedzieć na pamięć, że nigdy nie byłeś idiotą. Nie naprawdę? Jesteś pewien? :)
Korzyści: zmniejsza prawdopodobieństwo, że będziesz jednocześnie rootem i idiotą.
źródło
Głównym powodem są błędy. Jeśli zawsze jesteś rootem, prosta literówka może naprawdę popsuć system. Jeśli logujesz się tylko jako root lub używasz sudo do robienia rzeczy, które tego wymagają, minimalizujesz ryzyko popełnienia niebezpiecznego błędu.
źródło
Kiedy jesteś rootem, leniwie podchodzisz do uprawnień, ponieważ masz dostęp do wszystkiego przez cały czas, nie obchodzi cię, kiedy jest 777 lub 644 czy cokolwiek. Jeśli kiedykolwiek pozwolisz komukolwiek innemu w twoim systemie, że nie chcesz mieć dostępu do wszystkiego, nagle staje się to trudnym zadaniem, aby uczynić maszynę bezpieczną dla innych osób.
źródło
Istnieje kilka kluczowych powodów, dla których nie loguje się jako root: 1) Hasło roota nigdy nie jest wysyłane przez sieć w czasie logowania 2) Nie ma sposobu, aby powiedzieć, kto coś zrobił, jeśli wielu użytkowników zaloguje się jako to samo konto (root lub inne). 3) Przypadkowo robiąc coś „głupiego”
źródło
Chodzi o ochronę przed samym sobą, dzięki czemu masz drugą szansę przejrzenia poleceń o wyższych uprawnieniach, które próbujesz uruchomić, analogicznie do UAC w systemie Windows. Bardzo łatwo jest przypadkowo zrobić coś takiego,
rm -rf /
gdy jesteś zalogowany jako root.Ponadto masz możliwość śledzenia. Nie jest to duży problem w sytuacji, gdy jesteś jedynym (teoretycznie) wydawającym polecenia, ale zdolność do rejestrowania się i śledzenia z powrotem do konkretnej osoby jest kluczowym składnikiem wielu form analizy.
źródło
Różnica polega głównie na
tym, że przez przypadek nie można zrobić nic złego.
ten „zły” kod nie może przejąć systemu.
Uwaga: zły kod niekoniecznie oznacza, że ktoś ma już dostęp do systemu.
źródło
Zawsze powinieneś używać kont z najniższym możliwym poziomem uprawnień. Cały czas działanie jako root zachęca do złych nawyków i lenistwa, które czynią życie nieprzyjemnym, gdy pracujesz z wieloma użytkownikami lub narażasz coś na działanie sieci publicznej / półpublicznej.
Należy również pamiętać, że łamanie haseł jest tylko jednym scenariuszem kompromisowym - i nie jest też najczęstszym scenariuszem. Bardziej prawdopodobne jest, że padniesz ofiarą luki w przeglądarce lub luki w zabezpieczeniach niektórych demonów działających w twoim systemie.
Pomyśl o kodzie, którego używasz bez zastanowienia. Na przykład port linuksowy Adobe Flash, który jest parującą kupą kupy, która stała się użyteczna dopiero w stosunkowo niedawnej przeszłości. Jak myślisz, jak bezpieczny jest ten kod? Czy chcesz, aby mógł on w pełni kontrolować Twój system?
źródło
Może zapobiec atakom siłowym SSH. Każdy unix ma konto „root”. Jednak z zewnątrz nie jest jasne, jaka byłaby twoja nazwa użytkownika „sudo”. Dlatego jeśli ktoś chce spróbować brutalnej siły, wie, że istnieje konto root i prawdopodobnie spróbuje. Jednak nie wiedzą, od czego zacząć, jeśli używasz sudo.
źródło
http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html
źródło
Radzę spróbować przez jakiś czas używać roota; wkrótce odkryjesz, dlaczego nie powinieneś :)
źródło
Nawet jeśli nie ufam „bezpieczeństwu przez zaciemnienie”, z pewnością istnieje korzyść z używania niestandardowego logowania zamiast dotychczasowego logowania root. W ten sposób można również skonfigurować SSH, aby zapobiec logowaniu się użytkownika root.
Jak powiedzieli inni, root może zrobić wszystko bez żadnego potwierdzenia. Używanie nieuprzywilejowanego użytkownika może zapobiec głupiemu błędowi i literówkom.
Kolejnym argumentem przemawiającym za wieloma kontami użytkowników jest uruchamianie różnych programów dla różnych użytkowników. W ten sposób, jeśli w jednej aplikacji zostanie wykorzystana luka w zabezpieczeniach, exploit może uzyskać dostęp tylko do plików i zasobów dostępnych dla uruchomionego użytkownika.
Ostatni punkt za nieużywanie root: zużycie zasobów. Root nie ma ograniczenia co do ilości pamięci, czasu przetwarzania, programów obsługi plików lub miejsca na dysku. Na wielu systemach plików istnieją bloki danych zarezerwowane tylko dla rootowania. Tak więc normalny użytkownik nigdy nie może ich użyć do zapełnienia dysku. Komendy ulimit można także użyć do ograniczenia pamięci i numeru procedury obsługi plików, które użytkownik może zużyć. Ale jeśli jesteś rootem (lub aplikacją działającą jako root), nic nie stoi na przeszkodzie, aby zmienić ten limit.
źródło
Tak, zgadzam się z tobą i myślę, że jest to kwestia ochrony przed ludzkimi błędami, a czasem przed złośliwymi programami. Złą rzeczą, której nigdy nie widziałem, jest używanie roota jako domyślnego konta gnome.
Myślę, że większość użytkowników, którzy to robią, to użytkownicy systemu Windows, którzy niedawno przeprowadzili migrację do systemu Linux lub Unix. Spróbuj skopiować wykorzystanie uprawnień administratora do rootowania.
źródło
Nie ma nic złego w byciu zalogowanym jako root. Pomaga rozwijać pamięć mięśni, aby wpisywać tylko bezpieczne polecenia i promuje dokładność myślenia podczas wykonywania działań o dużych konsekwencjach. Zdecydowanie polecam pracę jako root, aby uzyskać lepszą administrację systemem.
możesz także robić fajne rzeczy
ping -i 0.2 -c 1000 example.com
źródło