Какие конкретные уязвимости я создаю, отключив пароль sudo?


16

Вот несколько инструкций о том, как отключить ваш sudoпароль. Они несут следующее предупреждение

Если вы отключите sudoпароль для своей учетной записи, вы серьезно нарушите безопасность своего компьютера. Любой, кто сидит за вашей автоматической, зарегистрированной учетной записью, будет иметь полный rootдоступ, а удаленные эксплойты станут намного проще для злоумышленников.

Я не беспокоюсь о людях, получающих физический доступ к моей машине. Какие удаленные эксплойты стали возможными или проще, если бы я проигнорировал это предупреждение и отключил пароль?

Ответы:


23

Если вы разрешите sudo без пароля, любой, кому удастся запустить код на вашем компьютере как ваш пользователь, может тривиально запустить код от имени пользователя root. Это может быть кто-то, кто использует вашу консоль, когда вы вошли в систему, но не перед своим компьютером, что вас не беспокоит (во всяком случае, кто-то с физическим доступом может делать в значительной степени то, что он хочет). Это также может быть кто-то, кто получает доступ к вашей учетной записи на другом компьютере, где вы ssh'ed на свой собственный компьютер. Но это также может быть кто-то, кто использует удаленную дыру в безопасности - например, веб-сайт, который использует ошибку браузера для внедрения кода в ваш экземпляр браузера.

Насколько большая сделка это? Не так много по нескольким причинам:

  • Злоумышленник, обнаруживший удаленную дыру, может также найти локальную корневую дыру.
  • Многим злоумышленникам нет дела до корневых привилегий. Все, что они хотят, это рассылать спам и заражать другие машины, и они могут делать это как ваш пользователь.
  • Злоумышленник, имеющий доступ к вашей учетной записи, может сбросить трояна, который фиксирует ваши нажатия клавиш (включая ваш пароль) или перебрасывает их на все, что вы в следующий раз используете, чтобы получить root для выполнения собственной команды.
  • Если вы являетесь единственным пользователем на своем компьютере, не так много защиты, которая недоступна вашему пользователю.

С другой стороны:

  • Если вы в курсе обновлений безопасности, злоумышленник может не найти локальную дыру для использования.
  • Злоумышленник без полномочий root не может стереть свои следы очень хорошо.
  • Необходимость вводить пароль время от времени не является большой нагрузкой.
  • Необходимость ввода пароля напоминает вам о том, что вы делаете что-то опасное (например, вы можете потерять данные или сделать компьютер непригодным для использования) (Для пользователя, не являющегося пользователем root, единственная реальная опасность - стирать данные по ошибке, и обычно это очевидно, когда вы стираете что-то и должны быть очень осторожны.)

9

Я думаю, что пароль для sudo может защитить вас только от двух вещей:

  1. случайное повреждение вашей собственной системы (например, запуск некоторых rm -rfс относительным путем из истории оболочки в другом каталоге, чем ранее, или что-то подобное)
  2. запуск (вредоносного) скрипта, который вызывает sudoи пытается навредить вашей системе (но я не думаю, что этот вид вредоносного программного обеспечения очень популярен)

Если вы хотите, вы можете использовать NOPASSWDопцию только для выбранных команд, которые не повредят вашей системе (для редакторов или для перезапуска служб) и сохранить пароль для других команд.


-1 за опасное предположение, что запуск редактора от имени root не может повредить системе. В этот момент вы также можете позволить чему-либо запускаться от имени пользователя root, поскольку сеанс редактора в любом случае разрешает выполнение произвольного кода.
Калеб

2

Стоит отметить, что некоторые компетентные организации на самом деле предпочитают sudo без пароля, когда у них есть пользователи, которым необходимо войти на множество различных удаленных хостов, особенно если это включает хосты с различными уровнями безопасности.

Проблема с вводом пароля заключается в том, что вы регулярно предоставляете пароль удаленным системам. Одна из причин, по которой мы используем SSH, заключается в том, чтобы избежать именно такой дыры в безопасности. Это вопрос компромиссов: вы увеличиваете вероятность того, что пароль пользователя будет взломан, чтобы уменьшить вероятность того, что злоумышленник, взломавший сеанс или ключ, сможет получить root-доступ. В частности, представьте следующий сценарий:

  • крупная организация
  • много хозяев
  • хосты имеют разные уровни безопасности
  • доступ без прав root уже вреден
  • пароли пользователей разблокируют много вещей

В описанном мной сценарии sudo без пароля может повысить вашу безопасность за счет защиты пароля пользователя. Это похоже на атаки с повторным использованием паролей, которые стали обычным явлением в Интернете, за исключением того, что уязвимость связана с единой системой аутентификации, а не с фактическим повторным использованием паролей.

Если вы не в гигантской компании, sud, вероятно, повысит вашу безопасность, но не обязательно на большую сумму. Если вы действительно не профессионал в области системной безопасности или у вас нет ничего особенно ценного, я бы порекомендовал вам оставить его включенным.


-1

Если вы не sshdустановили, то это довольно безопасно, если вы не сломаете что-то самостоятельно.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.