让新正向代理可从其他网络访问前,先测试访问边界。服务器本机请求成功,几乎不能说明无关客户端能做什么。使用受控目标,以确认被拒绝的请求是否实际转发了。

检查实际监听器和策略

检查监听进程及地址;如果启用 IPv6,也应检查。移除意外的额外监听器或旧服务实例。让网络防火墙只允许预期来源访问服务。

然后查看进程实际加载的配置,包括被包含的文件。Squid 6 中,前面的允许规则可能使后面的限制失效。Tinyproxy 1.11.2 中,删除所有 Allow 和 Deny 行会允许所有客户端。Dante 采用独立的客户端规则和 SOCKS 规则,因此允许 TCP 连接并不是全部策略。

使用已安装版本的文档。Squid 8 的指令变化意味着应核实版本,不能据此假定熟悉的配置已被接受且含义不变。

同时测试允许与拒绝情形

如果代理预期要求来源获准且必须登录,请使用自己控制的系统运行以下矩阵:

来源凭据所需结果
获准有效预期目标收到请求。
获准缺失或错误未访问到目标。
未获准有效或缺失未访问到目标。

同一 NAT 后的两台设备可能显示为相同来源。选择在代理处呈现不同源地址的测试位置,并在代理日志中确认这些地址。不要使用无关第三方机器,也不要扫描他人的服务。

防火墙拒绝可能完全没有 HTTP 响应,应用拒绝可能返回错误。无论哪种情况,都要确认受控目标没有收到被禁止的请求;否则,仅凭错误页面可能把它与目标响应混淆。

测试准备允许的转发模式

对于网页代理,应分别测试普通 HTTP 请求和获准的 HTTPS CONNECT 路径。如果策略包含目标限制,应测试获准目标以及一个本应被拒绝的受控目标。不要为了让所有测试成功而移除控制。

来源范围、凭据、监听地址、包含文件或服务版本变更后,应重新测试。将测试时间、配置版本和结果保存在一起,以便之后的变更可对照相同边界检查。

这是一套验收流程,并不声称配置解析器或一次请求就能证明所有网络路径都已关闭。

相关文章