Jakie szczególne luki tworzę, wyłączając hasło sudo?

16

Oto kilka instrukcji, jak wyłączyć sudohasło. Niosą one następujące ostrzeżenie

Jeśli wyłączysz sudohasło do swojego konta, poważnie naruszysz bezpieczeństwo swojego komputera. Każdy, kto siedzi na twoim nienadzorowanym, zalogowanym koncie, będzie miał pełny rootdostęp, a zdalne exploity staną się znacznie łatwiejsze dla złośliwych crackerów.

Nie martwię się, że ludzie uzyskają fizyczny dostęp do mojej maszyny. Jakie zdalne exploity są możliwe lub łatwiejsze, gdybym zignorował to ostrzeżenie i wyłączył hasło?

Rupert Madden-Abbott
źródło

Odpowiedzi:

23

Jeśli zezwolisz na sudo bez hasła, każdy, kto zdoła uruchomić kod na twoim komputerze jako użytkownik, może w prosty sposób uruchomić kod jako root. Może to być ktoś, kto korzysta z konsoli, gdy jesteś zalogowany, ale nie przed komputerem, o co się nie martwisz (w każdym razie ktoś z fizycznym dostępem może zrobić, co chce). Może to być również ktoś, kto uzyskuje dostęp do Twojego konta na innym komputerze, na którym ssh'owałeś się na swoim komputerze. Ale może to być również ktoś wykorzystujący zdalną lukę w zabezpieczeniach - na przykład strona internetowa wykorzystująca błąd przeglądarki do wstrzykiwania kodu do instancji przeglądarki.

Jak duży to interes? Niewiele z kilku powodów:

  • Osoba atakująca, która znalazła zdalną dziurę, prawdopodobnie również może znaleźć lokalną dziurę root.
  • Wielu atakujących nie dba o uprawnienia roota. Wszystko, czego chcą, to wysyłanie spamu i infekowanie innych komputerów, a oni mogą to zrobić jako użytkownik.
  • Osoba atakująca, która ma dostęp do twojego konta, może upuścić trojana, który przechwytuje twoje naciśnięcia klawiszy (w tym twoje hasło) lub piggyback na cokolwiek, co następnie użyjesz do uzyskania uprawnień roota w celu wykonania własnego polecenia.
  • Jeśli jesteś jedynym użytkownikiem na swoim komputerze, nie ma wiele do ochrony, które nie byłyby dostępne jako twój użytkownik.

Z drugiej strony:

  • Jeśli jesteś na bieżąco z aktualizacjami zabezpieczeń, osoba atakująca może nie znaleźć lokalnej dziury do wykorzystania.
  • Osoba atakująca bez uprawnień roota nie może dobrze wymazać swoich śladów.
  • Od czasu do czasu wpisywanie hasła nie stanowi większego obciążenia.
  • Konieczność wpisania hasła przypomina, że ​​robisz coś niebezpiecznego (jak w: może utracić dane lub uniemożliwić korzystanie z komputera). (Jako użytkownik inny niż root jedynym prawdziwym niebezpieczeństwem jest przypadkowe skasowanie danych i zwykle jest to oczywiste, gdy kasujesz coś i należy zachować szczególną ostrożność).
Gilles „SO- przestań być zły”
źródło
9

Myślę, że hasło do sudo może chronić cię tylko przed dwiema rzeczami:

  1. przypadkowe uszkodzenie własnego systemu (na przykład uruchomienie części rm -rfze ścieżką względną z historii powłoki w innym katalogu niż poprzednio lub coś takiego)
  2. działający (złośliwy) skrypt, który wywołuje sudoi próbuje zaszkodzić systemowi (ale nie sądzę, aby tego rodzaju złośliwe oprogramowanie było bardzo popularne)

Jeśli chcesz, możesz użyć NOPASSWDopcji tylko dla wybranych poleceń, które nie zaszkodzą Twojemu systemowi (w przypadku edytorów lub restartowania usług) i zachowaj hasło dla innych poleceń.

pbm
źródło
-1 za niebezpieczną sugestię, że zezwolenie edytorowi na działanie jako root nie może zaszkodzić systemowi. W tym momencie równie dobrze możesz pozwolić, aby cokolwiek działało jako root, ponieważ sesja edytora i tak umożliwia wykonanie dowolnego kodu.
Caleb
2

Warto zauważyć, że niektóre kompetentne organizacje faktycznie wolą sudo bez hasła, gdy mają użytkowników, którzy muszą zalogować się na wiele różnych zdalnych hostów - szczególnie jeśli obejmuje to hosty o różnym poziomie bezpieczeństwa.

Problem z wprowadzaniem hasła polega na tym, że regularnie podajesz hasło do zdalnych systemów. Jednym z powodów, dla których używamy SSH, jest unikanie właśnie tego rodzaju dziury w zabezpieczeniach. Jest to kwestia kompromisów: zwiększasz prawdopodobieństwo, że hasło użytkownika zostanie przejęte, aby zmniejszyć prawdopodobieństwo, że osoba atakująca, która naruszyła sesję lub klucz, będzie mogła uzyskać dostęp do konta root. W szczególności wyobraź sobie następujący scenariusz:

  • duża organizacja
  • wielu gospodarzy
  • hosty mają różne poziomy bezpieczeństwa
  • dostęp inny niż root jest już szkodliwy
  • hasła użytkownika odblokowują wiele rzeczy

W opisanym przeze mnie scenariuszu sudo bez hasła może wzrosnąć przeze Twoje bezpieczeństwo poprzez ochronę hasła użytkownika. Jest to podobne do ataków polegających na ponownym użyciu hasła, które stały się powszechne w Internecie, z tą różnicą, że luka wynika ze zunifikowanego systemu uwierzytelniania, a nie z faktycznego ponownego użycia haseł.

Chyba że jesteś w gigantycznej firmie, hasło sudo prawdopodobnie zwiększy twoje bezpieczeństwo - ale niekoniecznie o wiele. Jeśli nie jesteś naprawdę specjalistą od bezpieczeństwa systemów lub nie jest to host, w którym nie ma nic szczególnie cennego, radzę pozostawić to włączone.

Sarah G.
źródło
-1

Jeśli nie masz sshdzainstalowanego, jest całkiem bezpieczny, chyba że sam coś zepsujesz.

arlock
źródło