我正在使用Fedora发行版 – 预安装了SELinux策略。 我想限制在~/.ssh
文件夹中对我的私钥的不安全访问 – 以防止可能运行在我的帐户下的恶意软件泄漏。 根套装是没有问题的。
更新#1:我想解决与新手Fedora用户的企业问题 – 没有USB令牌等,他们可能会使用一个非常弱的密码。 如果只有root
用户和ssh客户端程序才可以访问私钥,那就没问题了。 没有必要让真正的用户看到私钥 – 我不知道为什么要看私钥的原因,甚至一次。
我怎样才能做到这一点? build议使用SELinux。
将私钥隐藏到允许使用私钥的适当方式是硬件安全模块(智能卡或其他方式)。 你可以做一些SSH密钥的工作(谷歌search用一些笨重的硬件和GPG来介绍这个教程 )。
但是,如果你担心某个东西不是shell的东西,记住大量的漏洞可以让你得到一个shell,AppArmour可以通过这种方式限制文件系统权限,但是我相信在主目录内部做一些对于多用户系统的pipe理更加棘手。
SELinux也可以这样做; 你把一个安全标签的文件,只允许ssh
读取它们 。
请记住,用户通常能够创build自己的SSH密钥,并且通常是其所有者,这意味着他们可以调整所有标签和权限。 这是存在的假设。
如果您要运行病毒,您可以遵循一些规则,这会使您比以下任何一个更安全:
blackhole.iana.org
是一个很好的DNS名称)。 如果他们需要真正的地址,你可以在受限制的networking上为他们提供一个特殊的testingC&C。 如果您担心意外运行病毒,selinux可能会对您有所帮助,但真正的解决scheme是常识和谨慎。
您还可以用密码来保护您的私钥,这会导致它们被encryption,尽pipe病毒可以让您的击键绕过。
如果恶意软件将使用您的凭据运行,那么我不认为SELinux是这个工作的正确工具,因为您可能放置的任何东西肯定会阻止您访问密钥。
私钥带有一个内置的安全机制,一起工作非常强大。 钥匙只能由他们的主人阅读。 如果你添加一个强大的密码短语,那么应该有很less担心。