当我还是 QSA 时,我总是遇到 SSH 密钥问题。主要是因为人们基本上构建一次然后忽略它们。
作为渗透测试人员,有很多方法可以访问系统。对我来说最简单的总是使用 ssh 密钥访问系统管理系统,或者使用浏览器或其他本地漏洞(网络钓鱼攻击)来提取密钥和电子邮件或网络/如果我无法直接获得访问权限,则将它们提交出去到系统。或者只是购买 IT 员工出售的旧硬件,并进行年度升级;我敢肯定它们没有被擦掉,其中一个上面还留着一把钥匙。有很多方法可以访问密钥。
一旦我有了 ssh 密钥,我就可以访问所有内容。最好的帐户是不再在公司工作的管理员。如果没有中央管理,那么这些帐户很可能仍在系统中。
问问自己这个。你在做什么来管理系统上的 ssh 密钥和帐户?如果您有本地系统帐户,使用本地 sudo 并使用 ssh 密钥访问,当有人在公司更换角色或您雇用新人或有人离开时,您会怎么做。或者更糟糕的是,当您有恶意的人知道他们要离开时,他们会在他们离开之前预先构建帐户和 ssh 密钥。您如何对此进行监控和控制?
SSH 密钥通常使您的系统成为数十个或数百个或您拥有的单个系统的数量。
是的,密码很痛苦,但现在有很多管理员;尤其是那些受过培训并获得正确工具的人会构建强密码。
此外,使用 ssh 密钥,即使使用密码;你是怎么控制的?没有办法集中强制更改密码,甚至是强密码。我见过很多 ssh 密钥密码短语,密码为“a”或“password”......
如果您真的想要安全性,您应该查看基于半径的令牌解决方案;但无论哪种方式,您都应该考虑集中管理和控制您的帐户。winbind 甚至只是 ldap 可用于用户帐户验证以及适当的用户组授权,因此您可以正确控制对系统的访问。
这不是一个简单的答案;但是你需要问的问题是你想要这个是为了方便还是安全?