从外部测试您的防火墙规则

主机
仅扫描你拥有或已明确获准探测的主机。扫描会检查约 20 个常见 TCP 端口。
下一步

您修改了防火墙规则或云安全组,并希望得到它生效的证明。请从外部扫描公网地址,并将开放的端口与您计划允许的列表进行对比。

如何验证防火墙变更

  1. 1

    写下计划开放的端口

    列出 18 个扫描端口中哪些应当可以访问,例如 80 和 443。

  2. 2

    输入公网地址

    在主机字段中输入位于防火墙之后的公网主机名或 IP 地址。

  3. 3

    扫描

    点击“下一步”,然后点击“扫描常见端口”。

  4. 4

    对比

    任何不在您列表中的开放端口,说明某条规则过于宽松。而预期端口缺失,则说明规则过于严格,或服务已停止。

变更前后的对比检查

在修改规则之前和之后都运行一次扫描。两次结果的差异就是您的证据。例如,如果您删除了一条旧的 MySQL 允许规则,第一次扫描会列出 3306,而第二次扫描则不会。

扫描 开放的端口 结论
变更前 22、80、443、3306 数据库可从互联网访问
变更后 22、80、443 规则生效,数据库不再可从互联网访问

为什么扫描来源很重要

防火墙通常只允许某些源地址,例如您的办公室。本扫描从一个共享的公网地址发起,因此它看到的内容与普通访客看到的相同。如果您的规则只允许办公室的 IP 地址,那么配置正确时,该端口在这里会显示为不存在,即使您在办公室里可以正常连接。

干净的结果能证明什么

它能证明在扫描的那一刻,扫描器对列出的 18 个端口中的任何一个都没有建立成功的连接。它不能证明其余 65,535 个端口都已关闭,也不检查 UDP。关闭、被阻止和离线的主机看起来完全相同,因此还请通过检查一个应当开放的端口,确认主机确实在线。

有用的习惯

  • 每次只修改一项,以便知道哪条规则产生了什么效果。
  • 扫描之前,给云规则留出生效的时间。
  • 只扫描您拥有或获得测试许可的地址。

常见的防火墙层级

流量通常会经过多个层级:云安全组、网络 ACL、主机防火墙(例如 iptables 或类似工具),有时还有硬件设备。只有当所有层级都允许某个端口时,它才可以访问;只要任何一层拒绝,它就会被阻止。当扫描结果出乎意料时,请依次检查每一层,而不要只检查您最后修改的那一层。

另外请记住,即使允许了某个端口,如果其后没有任何程序在监听,它看起来仍然是关闭的。扫描只能告诉您连接是否被接受。 请为每次扫描记录一份简短的笔记,包括日期和开放的端口。这能让下一次审计更快,也能显示某个意外端口是何时第一次出现的。

常见问题

扫描一个应当开放的端口,例如 Web 服务器上的 443。如果该端口出现,说明主机可以访问,那么缺失的端口就是被阻止或关闭的。

不能。它始终从一个共享的公网地址运行,因此它显示的是防火墙如何对待一般互联网流量,而不是某个特定的允许地址。

不会。全部 18 项检查都是 TCP 连接。一些 VPN 或游戏服务器等 UDP 服务不在检查范围内。

规则可能还没有生效,另一条规则可能仍然允许该端口,或者主机或服务商等第二层防火墙仍然开放着。请检查每一层,稍等片刻后再重新扫描。

相关工具

此工具还提供其他语言版本

使用指南与应用场景