Jaki jest sens korzystania z codziennego konta nieadministracyjnego w systemie OS X?

20

Ta rada jest stara, ale wraca do mody. Ostatnio dużo go widziałem na wielu stronach lub forach Mac. „Twoje„ codzienne ”konto użytkownika nie powinno być kontem administratora. Powinno to być standardowe konto utworzone w tym celu i powinieneś zalogować się na konto administratora tylko w celu wykonywania rzeczywistych zadań administracyjnych.»

Wydaje się, że jest to powszechna rada w świecie Windows, ale w przypadku nowoczesnego systemu OS X po prostu nie rozumiem, jakie to przynosi korzyści. Zagłębmy się w to:

  • Konta administracyjne OS X nie są kontami root. Każda aplikacja chcąca się rootować i tak poprosi o podanie hasła, więc nie widzę tutaj żadnej dodatkowej warstwy bezpieczeństwa. Spróbuj wrzucić /vardo kosza.
  • SIP z El Capitan zapobiega głębokiej modyfikacji systemu operacyjnego lub wstrzykiwaniu kodu do najbardziej krytycznych plików, bez względu na to, czy jesteś administratorem, rootem, czy nikim. Co więcej, w newralgicznych miejscach, gdzie są one nadal dozwolone, takie modyfikacje wymagałyby przynajmniej hasła roota, nawet z konta administratora, co przywróciłoby nas do pierwszego argumentu.
  • W przypadku programów szpiegujących, problemów związanych z prywatnością i tego rodzaju rzeczy korzystanie ze standardowych kont zapewnia niewielką dodatkową ochronę, jeśli w ogóle. O ile mi wiadomo, nawet jeśli są używane ze standardowego konta, aplikacje mają pełny dostęp do plików osobistych użytkownika i pełny dostęp do sieci (bez zapory itp.). Jeśli zła aplikacja chce wysłać do domu twoje dokumenty, może to zrobić doskonale ze standardowego konta.
  • Podstawowe linie obrony (zapora ogniowa, uruchamianie zaufanych aplikacji itp.) Obejmują cały system.
  • Z drugiej strony przejście na konto administratora, a następnie powrót do konta standardowego, jest bardzo trudne. Może to w rzeczywistości skończyć się opóźnieniem aktualizacji lub konserwacji przez użytkownika, aby zaoszczędzić czas i odłożyć na później problem.

Dlaczego więc nie skorzystać z konta administratora? Mam nadzieję, że nie zostanie to oznaczone jako duplikat, inne pytania związane z tym problemem nie rozwiązały tych argumentów.

Edycja: pytanie dotyczy komputera, którego jesteś właścicielem i którego kontrolujesz.


źródło

Odpowiedzi:

6

Na każdym komputerze z systemem OS X istnieje tylko jedno konto root i jest ono domyślnie wyłączone . Nie ma hasła i nie możesz zalogować się jako root, chyba że użyjesz Directory Utility i nie włączysz go. Jest to niebezpieczne, ponieważ po zalogowaniu jako root system pomija wszelkie autoryzacje - nawet nie prosi o hasło. W tym aspekcie komputer z systemem OS X jest rzeczywiście pozbawiony uprawnień do rootowania , co stanowi A Good Thing ™.

Konta administracyjne to po prostu standardowe konta, które również znajdują się w grupie administracyjnej . Każda czynność w OS X wykonywana przez zalogowanego użytkownika jest sprawdzana względem bazy danych autoryzacji (możesz zobaczyć jej reguły w /System/Library/Security/authorization.plist, aby sprawdzić, czy nie jest wymagane uwierzytelnienie lub czy wystarczy uwierzytelnić się jako właściciel sesji (zwykły użytkownik, który jest zalogowany) lub użytkownik musi być członkiem grupy administracyjnej. Daje to bardzo szczegółową kontrolę. Mogą więc wystąpić trzy możliwości, na przykład w Preferencjach systemowychpo kliknięciu zamkniętej kłódki. Po kliknięciu może po prostu odblokować się bez uwierzytelnienia, może zaoferować okno dialogowe uwierzytelniania z nazwą konta już wprowadzoną (co oznacza, że ​​należy potwierdzić) lub może zaoferować okno dialogowe uwierzytelnienia z polami nazwy konta i hasła (co oznacza, że ​​nie jesteś administratorem, proszę zadzwoń do administratora, aby wpisać jego dane uwierzytelniające).

Ogólna zasada jest taka, że ​​wszystko, co może wpłynąć na innych użytkowników komputera (zmiana ogólnosystemowa), wymaga uwierzytelnienia administracyjnego. Ale to jest bardziej skomplikowane. Na przykład zwykli użytkownicy mogą instalować aplikacje z Mac App Store w folderze / Applications (co jest zmianą ogólnosystemową), ale nie mogą ominąć GateKeeper, aby uruchamiać niepodpisane aplikacje, nawet jeśli tylko w obrębie własnych danych. Standardowi użytkownicy nie mogą wywoływać sudo, co ma zły efekt uboczny polegający na tym, że nie wymaga uwierzytelnienia po 10-15 minutach . Sprytnie zaprojektowany skrypt poprosi Cię o uwierzytelnienie administratora dla czegoś, co akceptujesz, ale potem zrobi wiele dziwnych rzeczy, o których nic nie wiesz.

Standardowymi użytkownikami można również zarządzać za pomocą kontroli rodzicielskiej lub profili konfiguracji i można egzekwować zasady haseł. Użytkownicy administracyjni nie mogą robić takich rzeczy.

Ochrona integralności systemu rozwiązuje problem klikania pakietów instalacyjnych i udostępniania haseł tak łatwo, że użytkownicy stali się najsłabszym ogniwem. SIP po prostu stara się utrzymać system na powierzchni, nic więcej (i czasami też się to nie udaje).

Nie uwierzyłbyś, ile osób, które widziałem, ma tylko jednego użytkownika na komputerze (który jest również kontem administratora), a nawet bez hasła do konta, po prostu odczuwa niewielki spadek irytacji w postaci aktywności okna logowania.

Nie mogę się zgodzić z twoją opinią, że przejście na konto administratora w razie potrzeby jest uciążliwe. Jeśli jesteś w terminalu, musisz tylko su myadminacct przed zrobieniem czegokolwiek, w tym sudo lub uruchomieniem Findera jako innego użytkownika poprzez uruchomienie /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder .

W GUI aktualizacje Mac App Store (w tym aktualizacje OS X) nie wymagają uwierzytelnienia administratora. Te pakiety instalacyjne, które kończą się w folderze Pobrane, w tym aktualizacje Adobe Flash, tak, powinieneś być bardzo ostrożny przed otwarciem tych wykonujących dodatkową pracę i upewnieniem się, że pochodzą z właściwego miejsca i nie są pełne nieprzyjemności.

Dlatego uważam, że używanie komputera Mac ze standardowym kontem jest lepsze i bezpieczniejsze niż z administratorem, ponieważ chroni mnie przed własnymi błędami i niedopatrzeniami. Nawet większość doświadczonych użytkowników nie sprawdza każdego pobranego skryptu wiersz po wierszu, aby sprawdzić, czy dzieje się coś podejrzanego.

Mam nadzieję, że elementy sterujące mogą się jeszcze bardziej zaostrzyć w przyszłości, na przykład wprowadzając warunki lub harmonogramy, w których aplikacja (lub skrypt lub dowolny plik wykonywalny) może być uruchomiona lub mieć dostęp do sieci lub że plik wykonywalny może nawet nie zostać uruchomiony, jeśli nie zrobiłbym tego 'wyraźnie nie zezwoliłem na to (okno dialogowe uwierzytelniania) w ciągu ostatniego miesiąca.

boris42
źródło
1
Dziękuję bardzo i +50, to naprawdę pierwsza prawdziwa odpowiedź (i jedyna jak dotąd), którą otrzymałem
Chciałbym zaznaczyć, że jako osoba niebędąca administratorem, mogę ominąć Strażnika z xattrpoleceniem w Terminalu.
SilverWolf - Przywróć Monikę
9

Bezpieczeństwo najlepiej wdrożyć jako strategię wielowarstwową i wielowątkową .

Zasada najmniejszego uprzywilejowania (polp) jest po prostu kolejnym trybikiem w maszynie, która utrzymuje komputer bezpieczne.

Wszystko, co tam wymieniłeś, jest dobre, ale nic z tego nie powstrzyma kogoś przed przejęciem twojego komputera przez exploit taki jak Dropped Drive Hack .

  • W jaki sposób zapora ogniowa zapobiega włożeniu USB przez użytkownika wykorzystującego luk w napędzie zdalnego sterowania?

  • W jaki sposób SIP zapobiega przechwytywaniu naciśnięć klawiszy przez keylogger?

  • Jakie znaczenie ma SIP, kiedy administrator może go łatwo wyłączyć ?

  • Jak zapobiec instalacji nieautoryzowanego / nielegalnie licencjonowanego oprogramowania? Ograniczone konto użytkownika zapewni, że użytkownicy, którzy nie powinni instalować oprogramowania, nie instalują oprogramowania.

Twoja ostatnia linia obrony używa konta, które nie jest kontem administratora, abyś mógł złagodzić zagrożenie poprzez wprowadzenie kolejnej warstwy zabezpieczeń (uwierzytelnienie użytkownika), gdy szkodliwe oprogramowanie próbuje się zainstalować.

Mówiłem to przez eony, które wydają się teraz:

„Bezpieczeństwo” nie jest produktem, który kupujesz, ani włączanym przełącznikiem; jest to praktyka , sposób myślenia , aby wykorzystać wszystkie narzędzia, jakie możesz, aby zminimalizować ryzyko.

Allan
źródło
2
Dziękuję Ci; tak naprawdę to nie odpowiada na pytanie, powinienem był wyjaśnić, że użyłem zapór ogniowych i SIP jedynie jako przykładów. „Bezpieczeństwo nie jest zmianą, korzystanie z konta nieadministracyjnego dodaje warstwę bezpieczeństwa” Fajne powiedzonka, ale moje pytanie brzmi, jak to zrobić . Czy możesz opisać sytuację, w której standardowe konto faktycznie lepiej zapobiega zagrożeniu niż konto administratora z prośbą o hasło roota, które można zaakceptować / odrzucić? Keylogger, o ile mi wiadomo, nie jest nawet blisko zaliczenia się do tej kategorii. A jeśli możesz wyłączyć SIP bez pytania o hasło roota, cóż, pokaż mi jak!
Co sprawia, że ​​myślisz, że wszystkie zagrożenia są ograniczone do złośliwego oprogramowania? Dlaczego pozwalasz użytkownikowi instalować oprogramowanie, które uzyskuje dostęp do danych / systemu, do którego nie ma dostępu. Po drugie, zdajesz sobie sprawę, że „sudo” jest dostępne dla administratora, prawda?
Allan
Nie zaprzeczam przydatności standardowych kont w burzy głupoty. Pytanie nie brzmi: dlaczego istnieją standardowe konta? Po prostu: gdy używasz własnego komputera Mac, istnieje konkretny, faktyczny powód, z punktu widzenia bezpieczeństwa, aby używać standardowego konta do codziennych zadań, zamiast logować się na konto administratora.
To rozróżnienie nie jest gdzie w twoim pytaniu, prawda? Teraz, podobnie jak w systemie Windows, automatycznie zmniejsza twoją POLP na podstawie tego, co robisz, nawet jeśli jesteś administratorem. Wygląda też na to, że przesuwasz się po „hacku zrzuconego dysku”, w którym ludzie po prostu „nie chcąc” wpiszą swojego hasła w dowolnym oknie dialogowym, które się pojawi. Posiadanie standardowego konta chroni przed tym.
Allan
3

Ogólnie uważa się, że najlepszą praktyką jest korzystanie z konta, które nie ma więcej uprawnień niż jest to wymagane. Ogólnie oznacza to, że należy używać konta o najniższym możliwym poziomie uprawnień i podnosić swoje uprawnienia, gdy jest to potrzebne do określonego zadania, które wymaga wyższych uprawnień.

Jednak dość szybko staje się to irytujące. Powodem tego jest to, że coś, co wydaje się prostym zadaniem dla Ciebie lub dla mnie („Chciałem tylko włączyć Wi-Fi”) jest postrzegane jako uprzywilejowana operacja dla systemu operacyjnego („Chcesz włączyć urządzenie sieciowe i pozwolić maszynie do umieszczenia w jakiejś losowej sieci ”).

Znalezienie równowagi między wygodą a bezpieczeństwem jest o wiele trudniejsze niż się wydaje, a moim osobistym odczuciem jest to, że OS X wykonuje znacznie lepszą pracę niż niektóre inne systemy operacyjne, takie jak Windows.

Jeśli cały czas działasz jako administrator, możesz przypadkowo kliknąć wiadomość e-mail zawierającą link do strony zawierającej crapware i automatycznie uruchamia skrypt, który dokonuje rekonfiguracji bez Twojej wiedzy. Ale jeśli działasz jako użytkownik nieuprzywilejowany, natychmiast po uruchomieniu tego skryptu system operacyjny wyświetli okno dialogowe z informacją: „ten złośliwy skrypt chce coś zrobić na twoim komputerze. Potwierdź, wpisując hasło”. Zazwyczaj powodowałoby to alarm lub zaskoczenie, jeśli nie jest to coś, czego można się spodziewać w tym momencie.

Co ważniejsze, skonfigurowałeś komputer dla kogoś innego. Ktoś nie zna umiejętności obsługi komputera w twojej rodzinie. Jest to doskonały pomysł, aby dać im nieuprzywilejowane logowanie i zachować hasło administratora dla siebie, więc następnym razem, gdy klikną na stare śmieci (jak to zwykle bywa), NIE mogą zainfekować komputera crapware. Czasami narzekają, gdy to robisz, ale musisz im tylko przypomnieć, że w IE 6 zainstalowano 35 pasków narzędzi i za każdym razem, gdy przeprowadzali wyszukiwanie w Google, dostali strony z wyskakującymi oknami pornograficznymi, zanim niechętnie zgodzą się, że to może bądź dobrym pomysłem. Minusem jest to, że będą dzwonić częściej, aby odblokować komputer, gdy chcą zaktualizować wtyczkę Flash.

Jak powiedziano wcześniej: bezpieczeństwo to podejście, a nie zwykły przełącznik, który można przerzucić.

Scott Earle
źródło
1
Dziękuję Ci! Czy jest jakiś przykład takiego skryptu? Mam na myśli skrypt bzdury ze strony internetowej, który będzie uruchamiany bez monitu o hasło, jeśli zostanie uruchomiony jako administrator, ale zablokowany, jeśli używasz standardowego konta? - Nie chcę brzmieć denerwująco, naprawdę się zastanawiam ;-) Mam wrażenie, że, jak powiedziałeś, OS X podnosi poprzeczkę pod względem wymagań dotyczących hasła, nawet od administratorów (stąd pytanie)
Nie mam przykładu, ale jest całkiem możliwe, że skrypt może zostać spreparowany, aby wyskoczył nieszkodliwie wyglądający wniosek o uruchomienie (nie powinien wymagać podniesienia uprawnień, aby to zrobić), a jeśli użytkownik nie jest administratorem, zrobiłby to poproś o uwierzytelnienie jako administrator, co może nie mieć miejsca, jeśli bieżący użytkownik jest już administratorem.
Scott Earle
2

Pokaż mi, jak działałyby twoje powody, czy nie:

  1. Konta administratora nie są rootem. Chociaż jest to prawda, mogą być w stanie zadzwonić, sudoa być może mogą mieć hasło gotowe do wprowadzenia (lub sudozostało skonfigurowane tak, aby nie pytać o hasło).

  2. SIP (ochrona integralności systemu): jest to tylko jedna warstwa, która nie wystarcza dla wszystkich ataków. Czy można wyłączyć? Nawet lepiej!

  3. Argument dotyczący spyware: być może. Uprawnienia nadal nie są wystarczająco oddzielne. Ale i tak jest to nadal ograniczenie.

  4. Podstawowe linie obrony obejmują cały system: # 1 mówi, że aplikacje działające na kontach administratora mogą uzyskać uprawnienia root.

  5. Zamieniasz się? Powszechnie wiadomo, że możesz wykonywać zadania związane z administrowaniem ze standardowych kont, o ile wprowadzisz hasło do konta administratora. Nie ma potrzeby faktycznej zmiany konta.

Paul Stelian
źródło
Witamy w Pytaj inaczej. Rada ... tutaj niczego nie „atakujemy”. Rozważ przepisanie swojej odpowiedzi, aby nie była tak konfrontacyjna.
Allan
@Allan Być może ta edycja sprawiłaby, że „wydaje się” lepiej?
Paul Stelian,
1
Dużo lepiej. Zobacz moje edycje, aby zapoznać się z przykładami formatowania przy użyciu (ograniczonego) znaczników HTML i niektórych sformułowań.
Allan
@ Allan Dzięki za zmiany. Znaczniki kodu, w których byłem dość obeznany, ale tak naprawdę nie pomyślałem o umieszczeniu sudonazwy w takim kodzie. Nie jestem jednak pewien, jak to wyliczyłeś (przyzwyczaiłem się także do Quory, która teraz robi to automatycznie)
Paul Stelian
1
Tego nie wiem. Po prostu spróbuj w następnym pytaniu / odpowiedzi.
Allan
2

Jeśli masz innych członków rodziny, którzy nie są obeznani z komputerem lub chcesz ograniczyć ich dostęp (np. Dzieci), lub jesteś pracodawcą, który chce ograniczyć dostęp do pracowników, którzy mogą korzystać z urządzenia, to absolutnie tak; wciąż istnieją powody, aby mieć konta inne niż admin w OSX do codziennego użytku.

Jeśli posiadasz komputer i chcesz nim kontrolować, użyj konta administracyjnego.

Jeśli nie chcesz, aby inni użytkownicy mogli „administrować” czymkolwiek, konta inne niż admin są bardzo pomocne. Poza tym nigdy nie wiadomo, kiedy trzeba pożyczyć maszynę z mankietu, biorąc pod uwagę moment, w którym ktoś pyta „hej, mógłbym po prostu pożyczyć twojego Maca, aby zrobić coś naprawdę szybko?”, To daje spokój, że możesz się wylogować i zalogować na konto, które niektórzy mogą uznać za konto „pół-gość”, dla którego utworzyłeś i dostosowałeś uprawnienia.

Phil Rawson
źródło
0

Prawdopodobnie są inne powody, ale oto moje: nie można nakładać ograniczeń na konto administratora. Przydatne są ograniczenia, które uniemożliwiają odwiedzanie niepożądanych lub niebezpiecznych stron.

KittyKatCoder
źródło
Dlaczego głosowanie negatywne?
KittyKatCoder