我的超级关键私钥存储在~/.ssh/id_rsa
chmod 为“-rw-------”
我在我的 Mac 上运行了很多应用程序。例如:
- Bash 脚本
- .app 二进制文件(例如,Sketch.app)
- Ruby gem 和 Python 包
在我看来,我运行的任何东西都可以访问我的私钥,并且理论上可以通过 HTTP POST 将其虹吸到黑客的服务器上。
这不是安全问题吗?人们如何减轻它?
我的超级关键私钥存储在~/.ssh/id_rsa
chmod 为“-rw-------”
我在我的 Mac 上运行了很多应用程序。例如:
在我看来,我运行的任何东西都可以访问我的私钥,并且理论上可以通过 HTTP POST 将其虹吸到黑客的服务器上。
这不是安全问题吗?人们如何减轻它?
是的,以您的用户身份运行的恶意软件可以做您作为用户可以做的任何事情。作为同一用户运行的不同应用程序之间没有权限分离。xkcd也注意到了这一点。
为了特别保护您的 SSH 密钥,您可以添加一个密码短语,正如 galoget 所提到的,但这只会起到一点作用——恶意程序也可能在使用密钥时刮取内存或记录您的密码短语的击键。(尽管这些攻击有一些缓解措施。)
更好的选择是使用某种硬件令牌——我使用带有 OpenPGP 密钥的 Yubikey 4 进行 SSH 授权。虽然我的钥匙在解锁时可能会被滥用,但钥匙材料本身不能被盗,而且只能在很短的时间内解锁。(您可以将此超时设置为接近 0,并且每次使用密钥时都需要用户交互。)
另一种选择是将您的密钥存储在另一个用户帐户下,并用于su
在 SSH 之前切换到该帐户。
无论如何,如果您在计算机上以用户身份运行恶意软件,那么您将度过一段糟糕的时光。