使 sudo 密码超时无限的安全风险?

使 sudo 密码超时无限的安全风险?

我最近更改了 sudo 密码超时时间(即 sudo 再次询问您密码之前经过的时间)。默认为 15 分钟;我使用sudo visudo和 更改将其增加到 1 小时Defaults env_reset,timestamp_timeout=60。但是,您可以通过将其设置为 -1 来使 sudo 不再询问密码。

虽然我觉得每个管理员都会告诉我这是个坏主意,但我想知道具体的安全风险是什么。如果有人以我的身份登录,他们不是已经知道我的密码了吗?非无限密码超时可以保护我免受哪些特定情况的影响?

我的 Ubuntu 机器运行一个向公众开放的网络服务器。

答案1

sudo 超时仅适用于当前 shell 会话。尝试以下操作:

  • 打开终端
  • 运行sudo ls。系统将要求你输入密码
  • 再次运行sudo ls。由于超时尚未到期,因此不会要求您输入密码
  • 打开另一个终端窗口
  • 在新终端中运行sudo ls。即使第一个会话的超时时间尚未到期,系统也会要求您输入密码。

sudo 长时间超时的最大风险是,如果您使用 sudo 然后去喝咖啡,有人可能会在您不在时重复使用您的 sudo 功能。

答案2

这个问题很老了,但我认为接受的答案缺少一个重要的考虑。根据您的使用情况,除以下情况外,sudo 超时0可能会很危险:

假设您使用 键入命令sudo。然后有时稍后,您会使用软件包管理器(例如 Python 的 Pip 或 Node 的 NPM)为您的项目安装新软件或依赖项。好吧,如果您的sudo超时尚未到期,那么这些软件包中的任何内容都将能够以 的身份执行命令sudo

从互联网上粘贴的代码也可能会发生这种情况,如下所示: https://martin-ueding.de/posts/the-dangers-of-sudo-timeout/

相关内容