Разве sudo не очень небезопасно? [дубликат]

На этот вопрос уже есть ответ здесь:

Кажется, любая программа запускается достаточно скоро после sudo в том же терминале можно запустить любую команду sudo , которая ему нравится.

Доказательство: выполнить sudo ls в терминале. Затем запустите эту программу (разумеется, скомпилированную) в том же терминале:

#include <stdlib.h>

int main() {
    system("sudo whoami");
    return 0;
}

Она скажет root , не запрашивая пароль.

Разве это не большая дыра в безопасности? Корневые и обычные учетные записи разделены, поэтому, помимо прочего, вредоносное ПО не может работать с правами root. Должны ли пользователи быть осторожными при выполнении своих действий до истечения времени ожидания sudo ?

2
задан 20 January 2016 в 18:18

3 ответа

sudo настройки по умолчанию имеют 15 минут, испытывают таймаут прежде, чем повторно запросить пароль, однако можно изменить его, чтобы всегда попросить пароль каждый раз, когда Вы называете что-то с sudo. Точная опция timestamp_timeout

timestamp_timeout

                   Number of minutes that can elapse before sudo will ask
                   for a passwd again.  The timeout may include a frac‐
                   tional component if minute granularity is insufficient,
                   for example 2.5.  The default is 15.  Set this to 0 to
                   always prompt for a password.  If set to a value less
                   than 0 the user's time stamp will never expire.  This
                   can be used to allow users to create or delete their
                   own time stamps via “sudo -v” and “sudo -k” respec‐
                   tively.

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

$ sudo cat /etc/sudoers                                                        
[sudo] password for xieerqi: 
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults    env_reset
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Defaults    timestamp_timeout=0
Defaults    passwd_timeout=0
(the rest cut out)
================
xieerqi:
$ sudo echo hello
[sudo] password for xieerqi: 

Как другая альтернатива, можно также использовать pkexec, чтобы к моему знанию всегда просит пароль

4
ответ дан 2 December 2019 в 01:37

sudo по умолчанию в стандартной установке Ubuntu сохраняет sudo доступ кэшируемым в течение короткого времени (значение по умолчанию является 15-минутным тайм-аутом).

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

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

Это не 'небезопасно' этим способом, хотя существуют времена, где кажется, что путь - отключение учетного кэширования решает это, конечно, и очень легко для системных администраторов сделать.

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

TL; DR: Нет, sudo весьма безопасно вообще. Это - кэширование по умолчанию и Ваше гипотетическое, называемое, в то время как sudo доступ кэшируется, который инициировал Вашу мысль, но sudo не на самом деле небезопасно при конфигурировании с коротким тайм-аутом, или с мгновенным тайм-аутом, и это сделано при решениях системного администратора о тех системах, изменить ли значение по умолчанию.

2
ответ дан 2 December 2019 в 01:37

Не это большая дыра в системе безопасности?

номер, но да, это понижает безопасность немного за для удобства. Можно защитить систему с 128-разрядным паролем, выбросить его, и никто никогда не собирается получить доступ к системе... Безопасный? Да. Удобный? Едва ;-)

  • Отъезд системы, необслуживаемой, где sudo активно.
  • существует решение этого: sudo -k отмены текущий тайм-аут. Я выполняюсь этот каждый раз, когда я оставляю свою систему, и я полагаю, что эти 15 минут активны.

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

Да и нет. Администратор, как предполагается, осторожен каждый раз, когда они используют "sudo". Не как раз в то самое время, когда это в течение 15-минутного периода времени. Таким образом, 2-я часть Вашего вопроса не важна ;)

Вы - администратор. Вы ответственны для защиты системы.

1
ответ дан 2 December 2019 в 01:37

Другие вопросы по тегам:

Похожие вопросы: