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
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:
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.
źródło
Jeśli nie masz
sshd
zainstalowanego, jest całkiem bezpieczny, chyba że sam coś zepsujesz.źródło