我一直在进行安全审核,发现您可以仅通过计算机名称(使用 nslookup)轻松识别主机角色和正在运行的服务。
我想报告这一点,以便他们使用不太明显的计算机名称,并且攻击者更难识别网络上的机器角色。我想通过链接到来自受信任组织的一些安全命名约定来对这个提议给予一定的重视。经过一番搜索,我一直无法找到一些。有没有现成的?
我一直在进行安全审核,发现您可以仅通过计算机名称(使用 nslookup)轻松识别主机角色和正在运行的服务。
我想报告这一点,以便他们使用不太明显的计算机名称,并且攻击者更难识别网络上的机器角色。我想通过链接到来自受信任组织的一些安全命名约定来对这个提议给予一定的重视。经过一番搜索,我一直无法找到一些。有没有现成的?
您只发现了一种风险,即攻击者通过使用可预测的主机名来识别网络上的机器角色。
我认为您错过了竞争风险,即由于不使用可预测和描述性的主机名而增加操作员错误的风险。
这就是我评估这些相互矛盾的措施的方式:
好处)
攻击者将需要花费(大量)更多的精力来确定您的网络布局并确定最有利可图的目标进行渗透尝试。
风险
操作员错误。用户和管理员可能难以识别系统及其正确角色,例如混淆测试和生产系统。
基本原理:大多数人在涉及“随机”数据时都有糟糕的记忆——>高概率。
此外,通常很少有障碍可以阻止受信任的用户和管理员犯高影响错误 --> 高影响。
好处)
降低操作员错误率,易于管理和自动化。
风险
攻击者还可以更轻松地确定您的网络布局,并为渗透尝试确定最有利可图的目标。
理由:对于黑帽攻击者来说,并不是每个命名约定都能立即直观-> 中等概率。
同样使用主机名来预测网络布局只是一种捷径,但不能提供攻击者无法通过其他方式学习的信息。主机名所揭示的服务器角色的知识不会自动使其更容易受到攻击(只是或多或少有价值)。--> 低影响。
没有现成的信息来支持您的结论这一事实应该让您对其有效性有所了解。
关键是,如果你的攻击者已经在里面,他无论如何都需要做一些额外的足迹。您的主机名可能是database.xyz.intranet
,但如果 nmap 为您提供 1521 (oracle)、1433 (sql server) 或 5432(Postgress),则会提供一些有关可能漏洞的信息。当然,知道这www.companyname.com
可能不是后端数据库服务器,但这是最小的。
另一方面:您的开发人员真的很乐意在 上进行 SQL 查询linux20195681.intranet
吗?他们在您的本地云中启动了第二个数据库是什么?给一些有意义的名字也可以简化他们的生活。当然,在凌晨 2 点呼叫的待机会更容易
此外,您的真实服务器可能隐藏在负载平衡器后面。然后,VIP 通常会获得功能名称和它后面的主机一些序列号。
如果您在一个小型组织中,您可以考虑为您的主机命名主题名称(例如,我在家里的 Pi 被称为 pi、rho、sigma、phi 等),但即便如此,我仍然很难记住 sigma 是我的家——自动化,psi 我的 DNS 服务器等。是的,您可以将 Zeus 作为生产数据库,Jupiter 作为测试,Odin 作为开发,但是在某些时候,任何形式的多神论都会限制服务器的数量。
因此,给它们起功能名称确实更好。
另一方面:不要过于具体或诱人。打电话给主持人privatekeybackup.intranet
肯定会吸引更多的注意力。
有一些随机化主机名(rfc8117)的想法,但这对客户来说似乎更多是一个问题。
你所倡导的被称为“安全但默默无闻”。虽然理论上默默无闻确实提供了一些额外的保护而不会使事情变得更糟,但在实践中它通常确实会使事情变得更糟。它 (1) 增加了系统的复杂性,从而导致错误,(2) 淡化了对哪些信息是秘密的,哪些不是秘密的理解,以及 (3) 可能有不小的维护成本。
(1) 的一个示例是管理员将低安全设置应用于高度敏感的服务器,因为从名称上看它是敏感的事实并不明显。
(2) 的一个示例是 IT 要求用户披露他们认为是机密的服务器名称。之后,当攻击者冒充 IT 人员要求他们公开密码时,他们就不会那么惊讶和怀疑了。
(3) 的一个例子是,为了维护模糊的服务器名称,IT 每次怀疑他们的网络受到威胁时都必须更改它们。