VPN 端口被基准检查标记?先核对控制的适用范围
某个基准检查标记了 VPN 端口,争论随之而来。该发现只意味着控制的资源和谓语所陈述的内容,所以先读范围。
你的扫描器标记了 VPN 端口,工单把它改写为公开监听,随后的争论便围绕暴露是否真实展开。该发现很少说出读者以为的内容。它引用的是适用范围固定的基准检查,而端口号只是该范围的一项输入。
在为端口辩护之前先读检查。读起来像判决的发现,通常只是一个施加于单一资源的谓语。
发现行实际引用了什么
每条基准发现都包含四项值得分开的内容:它出自哪份文档与修订版,被评估的资源,触发结果的谓语,以及审计实际达到的覆盖范围。团队通常只引用资源——安全组、网络 ACL 或主机——然后争论端口。决定你的监听是否落在范围内的正是谓语。没有它,你争论的是一个数字,而不是一条规则。
Amazon 的 Security Hub 文档无需付费 PDF 就能看清这种区分:EC2 控制项页面列出了针对 22 和 3389 端口无限制访问的安全组检查,并把网络 ACL 当作另一种资源、另有自己的条件。相同的管理端口,不同的对象,不同的测试。这就是发现所继承的细化程度。
aws ec2 describe-security-groups --group-ids sg-0d1f8a2c4b6e9f3a1 --output json
aws ec2 describe-network-acls --filters Name=entry.port-range.from,Values=22 --output table
把公开监听与管理访问分开
接受来自互联网的 UDP 1194 的 VPN 监听,与只有获批后才能访问的 SSH 服务,是两条不同的暴露路径。覆盖前者的检查可能对后者只字不提,而覆盖后者的检查可能忽略前者。一方通过并不构成对另一方的陈述,无论两者在状态会上听起来多么相似。
在评审中把每条路径当作独立的一行。
接着核实网关本身授权了什么。接受隧道并不等于在网关上授予管理权限,而两者也都不等于能到达其后的服务器。把问题拆成谁能连接、谁能管理、隧道能到达什么。这三个答案来自不同系统,却常被并成一句谁也无法据以行动的话。
决定端口是否在范围内的是资源
安全组规则、子网 ACL 条目和主机防火墙规则都可能放行流量,但其中只有一项可能是控制所评估的对象。有效放行意味着把并行组、两个地址族以及位于它们之前的任何拒绝规则合并起来。未通过组级检查的端口仍可能不可达,而通过该检查的端口仍可能在更深处被拦截。
把另一个环境的规则照搬过来,问题正出在这里。网络 ACL 无状态并按顺序求值;安全组有状态且只允许。借用其中一方的规则模型无法描述另一方,翻译它会给出关于错误对象的自信答案。
记录决定,让下一次审计复用
当范围确实含糊时,写下控制的修订版、资源标识符、所引用的谓语,以及解决它的证据。还要写下你排除了什么以及原因。正是这份记录让第二位评审者无需重读整个基准就能得出相同结论,也是人员更替后唯一留存的东西。
只写「VPN 端口已审阅」的备注,保证下个季度争论还会回来。应当写明评估者、修订版和证据。