安全测试访问交接:范围、账号与回收
要求 VPN 凭据的测试人员需要的是有范围的交接,而不是临时账号。先过授权关,写清目标,签发账号,再回收。
测试人员要一个网关地址、内部 DNS 细节和 VPN 凭据,请求以「需要访问」为标题转给你。单看请求,你无法判断这是内部评估、需要认证的应用测试,还是有人误解了范围的公开网站项目。把交接当成逐关推进的流程,在第一个打不开的关卡处停下。这样模糊的请求就变成可授权、可交付、日后可回收的事情。
从授权开始,而不是从凭据开始
在任何地址离开收件箱之前,先确定目标归谁所有、谁有权批准对其测试。通过你们组织已在用的项目联系人核验测试人员,而不是通过转发邮件的人。客户关系不等于可以测试账号能触达的每个系统,采购订单也不是范围文件。
用一句话写下已批准的目标,放在交接材料旁边。「评估客户门户的认证」和「评估内部网络」会导出完全不同的方案,这个差别必须在准备阶段之前定下来,而不是等发现出来之后再定。请求在项目中途膨胀时,这句话也是你可以指给大家看的东西。
如果路径上有主机托管商或其他第三方,他们的要求优先于你的方便。未经许可测试别人的基础设施,与测试跑在其上的应用,是两回事。
写清视角与目标
视角是评估要回答的问题,它比测试人员打算用的任何工具都更能决定访问方案。公开未认证测试需要 URL 和时间窗口。需要认证的测试需要有范围内特定角色的专用账号,内部评估则需要有明确目标网段的指定入口。
| Viewpoint | What you hand over | What it does not authorize |
|---|---|---|
| Public website | Approved URL, TLS hostname, testing window | Internal network entry, adjacent hosts |
| Authenticated app | URL plus per-role test accounts | Other tenants, admin consoles outside scope |
| Private staging | Named private path and test accounts | Production systems behind the same gateway |
| Internal network | Entry point and written target ranges | Anything outside those ranges, including the gateway itself |
隧道从哪里进入,与哪个应用在后面并不是同一个事实,更不授权探测入口本身。要在交接里明说,因为一旦发现被质疑,「你把那个子网的访问权给了我」这句话很快就来。书面的目标清单是事后唯一能定分止争的东西。
URL 旁边一并给出 TLS 主机名。只给裸 IP 会逼测试人员猜名字,猜出来的名字会导致证书错误,而这些错误会被当成发现上报,而不是交接失误。
签发带有效期的专用身份
只为本项目开立账号,不要把员工的日常登录借出去。按约定任务设置网络可达性与应用权限,通过受支持路径安排认证注册,并附上有效期和明确的回收责任人。通过约定的安全渠道交付凭据,与到处转发的范围文件分开。
sudo useradd -m -e 2026-12-31 tester01 sudo passwd -S tester01 id tester01 lastlog -u tester01
记录谁在何时收到了什么。这份记录正是受控交接与无人可追溯的共享口令之间的差别,也是出事之后所有人第一件要的东西。把它和范围文件放在一起,而不是放在聊天线程里,并在收件人旁边注明交付渠道。带时间戳的一行永远胜过记忆。
有效期字段是兜底,不是计划。最后仍要有人移除网络路径和应用角色,因为在仍可达的网络上,过期登录并不等于已回收的访问。
在窗口打开之前证明交接可用
亲自跑一遍测试人员的第一跳,站在尽可能接近他的位置。解析名字、核对证书身份,并确认路径到达的是目标地址而非邻接地址。
dig +short app.example.com openssl s_client -connect app.example.com:443 -servername app.example.com </dev/null> 2>/dev/null | openssl x509 -noout -subject -dates ip route get 10.60.0.25
如果路径到不了目标,先停下来核对交接,而不是让测试人员自己找替代路线。临时凑出的可达性,正是评估悄悄越出范围的方式,而且事后几乎从不记录。
把运维联系人、允许时段、禁止动作和停止条件随凭据一起发出。在 02:00 找不到任何人的测试人员会做出你未授权的判断,而这个判断会在报告里被写成仿佛在范围之内。
NIST SP 800-115 把技术评估界定为有计划测试,随后进行分析与缓解,本次交接正是这个形状。上面的关卡是支持工程师的编辑性设计选择,不是摘自该出版物的检查清单。
通过移除访问来收尾
按开立的逆序回收:先应用角色,再网络访问,最后身份本身。逐步确认,而不是假定控制台做到了按钮承诺的事。先锁定账号再杀会话,否则会话只会沿旧路径重新认证。然后在宣布关闭之前再检查一次已建立的连接。
sudo passwd -l tester01 sudo pkill -u tester01 ss -tn state established '( sport = :443 )'
结清任何留存的测试数据,然后按一开始约定的报告流程跟踪整改。报告应写明环境、访问级别、范围和局限,因为它记录的是一次评估的发现,而不是网站永久安全的声明。
把回收记录与交接记录放在一起。下一次项目开始时,你想确切知道上次移除了什么、谁签的字,而不是凭记忆重建。