记录个高级防火墙的设置和aws/cf对应的对比及原理

tof 2026-06-23 15:08 1

玩了个新服务 实战了解了下基本的web防护原理


防火墙菜单的核心功能


L3/L4 边缘协议过滤


该防火墙直接绑定在网关分配的独立公网 IP(Staple IP)上。流量在进入反向代理(Reverse Proxy)、GRE 或 FOU 隧道回源之前,就会先经过边缘节点的清洗。这意味着可以直接在网络的最前线阻断恶意 TCP/UDP 探测,从而为后端的自托管应用提供基础的抗 DDoS 能力,降低源站的 CPU 和带宽负载。


反向代理(Reverse Proxy):由边缘节点代理转发 UDP 负载。【该功能默认没开启,应该需要开通其他功能】


隧道模式(GRE / FOU Tunnel):将原始 UDP 包封装在隧道中发送至 Target IP,这对于需要保留客户端真实 IP 的 UDP 业务(如游戏或 Mesh VPN 节点 arbitration)非常有用。【这是默认的模式】


原理


在基于状态检测(Stateful Inspection,类似于 Linux netfilter/conntrack 机制)的防火墙中,“Connection State(连接状态)”用于控制防火墙如何处理 TCP 会话在其生命周期中的不同阶段。它不仅检查源 IP 和端口,还会根据 TCP 三次握手和数据传输的上下文来追踪网络流量。


针对图中TCP 协议下的各个组合选项,其具体含义如下:


核心状态基石


理解菜单中的组合选项前,需要先明确三个底层基础状态:




  • NEW(新建):代表试图建立新连接的第一个数据包(在 TCP 中通常是带有 SYN 标志的包)。




  • ESTABLISHED(已建立):代表连接已经建立,且防火墙已经看到该连接的双向通信数据包(即握手已完成,或者已经有返回流量的后续包)。




  • RELATED(相关联):代表该数据包试图建立新连接,但它与一个现有的 ESTABLISHED 核心连接在逻辑上明确相关联(例如:由于连接超时/端口不可达产生的 ICMP 错误消息,或者 FTP 等分离控制/数据通道的辅助连接)。




–TCP防火墙的选项细解



UDP就是无状态的,只有端口和地址设置



面板组合选项解析


根据这些基础状态,面板中的选项为您提供了不同维度的流量控制方案:




  • ANY(任何状态)




  • 含义:完全无视连接追踪(Connection Tracking)上下文。只要协议、IP 和端口匹配,无论它是建连的第一个包、中间传输包还是未知的乱序包,都一律执行匹配后的动作。




  • 适用场景:配置纯粹的无状态(Stateless)过滤时使用,或者用于非常基础、不区分会话阶段的粗粒度访问控制。




  • NEW




  • 含义:严格只匹配用于发起全新 TCP 连接的请求包。




  • 适用场景:常用于速率限制(例如限制每秒的新建连接数以防范 SYN Flood 攻击),或者用于记录谁在尝试发起连接。通常不会单独用作业务放行规则,因为后续的数据包会被阻断。




  • ESTABLISHED




  • 含义:仅匹配已经成功建立连接的后续通信数据包。




  • 适用场景:经典的出站(Outbound)或回包策略限制。例如,您的服务器只允许被动响应外部的主动请求,或者严格限制仅允许已经建立安全验证的通道进行数据传输。




  • NEW + ESTABLISHED




  • 含义:同时匹配新建连接请求和连接建立后的所有正常数据传输包。




  • 适用场景:这是发布常规对外服务(如 Web 服务器、API 接口)时最常用的标准放行规则。它既允许客户端顺利完成 TCP 握手,也允许后续正常的双向数据通信。




  • ESTABLISHED + RELATED




  • 含义:仅允许已建立连接的数据包,以及为了维持这些连接而产生的相关网络控制/报错包。完全拒绝任何外部主动发起的新连接请求(拒绝 NEW)。




  • 适用场景:常用于配置服务器的入站(Inbound)白名单。例如,服务器主动向外拉取数据时,允许目标服务器返回数据(ESTABLISHED)并允许网络路径上的 MTU 发现报错(RELATED),但彻底屏蔽任何外部对该服务器的主动扫描和建连探测。




  • NEW + ESTABLISHED + RELATED




  • 含义:允许发起新连接、维持现有连接,并且允许相关的附属控制流量。这基本上包含了网络中所有正常的协议交互状态,仅排除了 INVALID(无效或无法识别状态的异常包)。




  • 适用场景:提供最宽容且完整的状态放行。适用于复杂的网络服务部署(例如反向代理节点与源站之间的深度交互),确保不仅握手和数据传输畅通,底层网络机制(如 PMTU 发现)也不会被防火墙意外丢弃。




与AWS同类设置的对比


| 维度 | AWS 网络环境 | Gateway Sentry 边缘防护环境 |


| — | — | — |


| 控制边界 | 纵向(公网入站)与横向(内网实例间跳转)全方位原生控制。 | 聚焦于纵向最外层(全球 Anycast 边缘至 Staple IP)的清洗与阻断。 |


| 规则联动 | 极强。安全组可跨实例、跨层级直接引用对方的 ID 形成动态白名单。 | 边缘防火墙独立作用于入口。内部组件的精细横向隔离交由源站本地或私有网格处理。 |


| 抗攻击定位 | 依赖后端的云内安全策略,大规模 L4 清洗通常需要额外配合 AWS Shield。 | 天生具备强大的网络层 DDoS、SYN 泛洪以及端口扫描的边缘净化能力,保护源站带宽。 |


对当前的设置(特别是 NEW + ESTABLISHED)以及它与主流云厂商架构的映射关系做一个全面总结。




以一个经典的三层模型为例 由前端反代 后端 数据库组成 可设置如下: (内网其他vps用wg连接,需要对每个内网vps的公网ip做udp入站和出站规则,图中设了2个x2组)



| 优先级 | 协议 | 端口 | 源 IP (Source) | 连接状态 (State) | 动作 | 目的说明 |


| — | — | — | — | — | — | — |


| 1 | TCP | 80, 443 | ANY | NEW + ESTABLISHED | Accept | 允许标准 HTTP/HTTPS 访客流量。 |


| 2 | UDP | 443 | ANY | NEW + ESTABLISHED | Accept | 允许现代 HTTP/3 (QUIC) 访客流量。 |


| 3 | ICMP | ANY | ANY | ESTABLISHED + RELATED | Accept | 允许 PMTUD 网络分片报错,防止大文件传输黑洞。 |


| 4 | UDP | 51820等 | 特定机房 CIDR | ANY | Accept | (可选)放行受信任节点的内部 Mesh VPN 流量。 |


最后兜底的:全局默认策略依然是 Drop


最后加入一条自己的ssh端口 tcp NEW+ESTABLISHED allow


多个内网节点与4相同


一、 为什么 TCP 规则必须选择 NEW + ESTABLISHED?


在您的规则 01 和 02 中,针对 80 和 443 端口,选择了 NEW + ESTABLISHED 而不是无状态的 ANY。这不仅仅是为了让网站能访问,更是一个严格的过滤漏斗:




  1. NEW(放行敲门砖): 允许互联网上的真实访客向您的服务器发送 TCP SYN 包,发起全新的连接握手。




  2. ESTABLISHED(维持通行证): 一旦握手成功,防火墙会在内存中记录这个连接。后续成千上万个用于传输网页数据的数据包,只要属于这个已建立的会话,都会被自动放行(包括回包出站)。




  3. 被悄悄拦截的恶意流量:






  • 如果黑客伪造了一个带有 ACK 或 RST 标志的数据包(假装是已经建立连接的包),试图试探您的系统内部状态。




  • 因为防火墙的内存里没有这个连接的“握手记录”(即没有经过 NEW 阶段),防火墙会直接判定它为非法包并丢弃。这就彻底阻断了许多高级的 TCP 状态伪造攻击。






二、 对比映射:AWS 的安全组 vs. 网关的连接状态


AWS的ACL只用于ECS等产品上,价格昂贵


面板上的配置与AWS 网络安全的核心概念。在底层是完全一一对应的:


| 您的 Gateway Sentry 配置 | 对应的 AWS 概念 | 防御逻辑与优势 |


| — | — | — |


| **TCP 勾选 NEW + ESTABLISHED** | AWS 安全组 (Security Group) | 有状态防御 (Stateful)。只看大门,不管出门。只要允许请求入站,服务器的回应数据流会自动穿透防火墙出站。配置极其精简,且能防范 TCP 状态攻击。 |


| UDP 勾选 ANY (显示 Stateless) | AWS 网络 ACL (Network ACL) | 无状态防御 (Stateless)。机械式过滤,没有记忆。所以在规则 06 补了一条 OUT UDP 的出站规则,这非常符合无状态防火墙必须“有进有出”的严谨配置逻辑。 |




三、 这套配置构建的防御能力清单


通过边缘节点的 Anycast 架构配合您设置的这张状态检测防火墙规则表,您的服务器目前具备以下强大的抗击打能力:


^-^ 能够完美防御的攻击(在边缘节点被直接丢弃,源站毫发无损)




  1. 全端口恶意扫描 (Port Scanning): 黑客用 Nmap 等工具扫描您的 22 (SSH)、3306 (数据库)、6379 (Redis) 等高危端口。防御点: 触发底部 DROP 默认策略,扫描器只会收到超时(Timeout),无法判断您的服务器上运行了什么服务。




  2. TCP 畸形包与状态耗尽攻击: 黑客发送大量无头无尾的伪造包(如 FIN Flood、XMAS 扫描)。防御点: 因为不符合 NEW + ESTABLISHED 的严格状态机,直接在边缘被拦截。




  3. 针对非业务端口的 DDoS 泛洪攻击: 动辄几十 Gbps 的垃圾流量试图淹没您的服务器。防御点: 只要不是发往 80/443 或 51820 的,全被边缘节点的 Anycast 黑洞吸收,源站的 CPU 和带宽毫无波动。




  4. TCP SYN 反射攻击: 攻击者伪造您的 IP 向外网发送请求,导致海量外网服务器向您发送 SYN-ACK 回包。防御点: 您的防火墙没有主动向外发过 NEW 请求,这些凭空飞来的 SYN-ACK 包不属于任何 ESTABLISHED 会话,直接被丢弃。




总结: 防火墙规则表非常干净、严谨,完美践行了“最小特权原则”。它就像是一面坚固的单向防爆玻璃,把网络层 99% 的粗暴攻击都挡在了千里之外。


云原生视角的对比:AWS VPC 文档 (安全组 vs. 网络 ACL)


如果从云服务提供商的角度来看,理解这个页面的最佳参考是 AWS 关于 VPC 网络安全的说明,特别是对于“有状态”和“无状态”的对比。


推荐文档:Amazon VPC User Guide: Security groups vs. Network ACLs




AWS 的文档用非常易懂的语言解释了业务场景。


安全组(Security Groups) 是有状态的(Stateful),等同于您截图面板中勾选了 ESTABLISHED 的效果:如果您允许了入站请求,响应流量会自动被允许流出,无需额外配置出站规则。


网络 ACL (Network ACLs) 是无状态的(Stateless),等同于您面板中的 ANY 状态:它不记录连接状态,入站和出站必须分别写两条规则才能通。阅读这份对比文档能让您瞬间明白状态控制的优势。


Red Hat (RHEL) / Netfilter 官方文档


如果您想知道这些术语在系统底层是如何工作的,Red Hat 的网络安全文档是最权威的解释。这个边缘防火墙本质上就是基于类似架构构建的。


推荐文档:Red Hat Enterprise Linux Network Security Guide - Connection Tracking




在 RHEL 文档库搜索 “iptables connection states” 或 “netfilter conntrack”)


从内核级别精准解释什么是 SYN 标志触发了 NEW 状态,TCP 握手完成如何转变为 ESTABLISHED。它能帮您理解防火墙在内存中是如何维护这张“连接状态表(State Table)”的。


另外:


^-^ 此方案无法防御的攻击(需要其他层面的安全机制配合)


这套 L4(网络/传输层)防火墙的局限性在于它“不看包裹里的信件内容”。




  1. Web 应用层攻击(L7): 如果攻击者通过正常的 443 端口发起 SQL 注入、跨站脚本(XSS)或试图利用 Caddy 后端 Web 程序的漏洞,L4 防火墙会放行(因为 TCP 状态是合法的)。这需要网关的 Web Protection (WAF) 或 Caddy 的安全策略来拦截。




  2. 基于合法 IP 的 CC 攻击: 攻击者组织僵尸网络,通过正常的 TCP 三次握手后,疯狂请求您网站上极度消耗 CPU 的搜索接口。状态完全合法,L4 防火墙无法区分,只能依靠应用层的速率限制(Rate Limiting)。



最新回复 (2)
  • tof 楼主 06-23 15:13
    1楼

    好像md需要调 我先分开发




    这套架构——“Anycast 全球泛播 IP + 边缘 L4 状态防火墙 + 回源代理/隧道”——在云计算领域属于非常经典的边缘网络架构(Edge Networking Architecture)。


    这种设计脱离了传统的“单点服务器防御”思维,将防御边界和流量入口推到了距离最终用户最近的全球骨干网边缘。在 AWS、GCP 等顶级云厂商中,您需要组合购买多款昂贵的高级服务才能复现出这种效果。


    以下是您的当前架构与大厂高级服务的直接映射和对比:


    1. 对应 AWS (亚马逊云科技) 的高级服务组合


    要在一套 AWS 环境中实现您现在的网络防护形态,需要组合以下两款核心级边缘服务:




    • AWS Global Accelerator (全球加速器)




    • 原理解析:Global Accelerator 会为您提供两个静态的 Anycast 公网 IP。全球访客的流量会就近进入 AWS 的边缘节点(Edge Locations),然后通过 AWS 的高质量私有骨干网路由到您隐藏在后端的真实 EC2 实例。它完美隐藏了源站 IP,并大幅降低了跨国公网传输的抖动。




    • AWS Shield Advanced (高级 DDoS 防护) + 边缘安全组




    • 功能映射:对应您的 Default DROP 策略与端口放行规则。




    • 原理解析:AWS Shield 专门负责在边缘清洗 L3/L4 层的 UDP Flood 和 SYN Flood 攻击。配合其边缘的安全策略,可以直接在 Anycast 节点上将非法端口的探测流量丢弃,确保只有 443 或 51820 等合法流量能够进入回源通道。




    2. 对应 GCP (谷歌云) 的高级服务组合


    Google Cloud 拥有全球最庞大之一的私有光缆网络,其对应的服务体系如下:




    • Premium Tier Network (优质网络层) + 外部 TCP/UDP 负载均衡器




    • 功能映射:对应您的 Anycast 入口与回源路由。




    • 原理解析:GCP 优质网络层的核心卖点就是 Anycast。配置 TCP/UDP 负载均衡器后,Google 会分配一个全球唯一的 IP。洛杉矶的用户和阿姆斯特丹的用户访问同一个 IP,流量会分别就近进入 Google 位于美国和欧洲的 POP 节点,然后通过 Google 内网穿透送达您的后端 VPS。




    • Google Cloud Armor (云装甲)




    • 功能映射:对应您的 边缘流量过滤。




    • 原理解析:虽然 Cloud Armor 以其强大的 WAF(Web 应用防火墙)闻名,但它同样提供强大的边缘网络层访问控制策略(Security Policies),负责在 Google 边缘网络节点直接丢弃不符合 IP 协议或端口规范的数据包。




    3. 对应 Cloudflare 的企业级服务


    提起 Anycast 与边缘防护,Cloudflare 是业界的标杆。您的架构在 Cloudflare 体系中对应着非常昂贵的企业级功能:




    • Cloudflare Spectrum




    • 功能映射:纯粹的 L4 边缘代理与端口防护。




    • 原理解析:标准的 Cloudflare 免费版只代理 HTTP/HTTPS(80/443)。如果您想通过 Cloudflare 代理您的 SSH (22)、邮件服务器 (25/465) 或 WireGuard (UDP 51820) 并隐藏源站,就必须使用 Spectrum 服务。Spectrum 提供 Anycast TCP/UDP 端口转发和原生 L4 DDoS 缓解,这与您现在配置规则的逻辑完全一致。






    核心架构价值总结


    将您的配置方式与这些大厂服务对比,可以看出这套架构为跨区域的分布式计算环境带来了三个企业级的核心优势:


    | 架构优势 | 传统单机防御方案 | Anycast 边缘防护方案 (您当前的状态) |


    | — | — | — |


    | 源站隐蔽性 | 源站公网 IP 直接暴露。黑客可以通过 Shodan 等搜索引擎轻松发现并绕过 WAF 直接攻击。 | 源站完全隐身。公网只有 Anycast 节点可见。对于分布在欧洲、美国和亚洲的复杂 VPS 集群,可以统一收敛到一个干净的入口。 |


    | 抗攻击成本 | 依赖源站 VPS 的带宽和 CPU 硬抗。一旦遭遇百 G 级别的 DDoS,源站会瞬间瘫痪,甚至被主机商拔线(Null routing)。 | 攻击流量被全球 Anycast 节点分散吸收并就近清洗。默认 DROP 策略在网络最边缘生效,源站负载毫无波动。 |


    | 网络路由优化 | 客户端到源站完全依赖不可靠的公共互联网 BGP 路由,跨国传输易遭遇丢包和高延迟。 | 客户端就近接入边缘节点,随后流量通过优化过的骨干网(代理或隧道机制)传回源站,显著降低跨国高延迟链路的掉包率。 |


    您通过手动编排网关规则并结合 Netmaker 隧道,实际上是在不同的廉价或异构计算节点之上,低成本地“组装”出了一套媲美顶级云厂商的企业级边缘网络边界。

  • tof 楼主 06-26 01:58
    2楼

    @Storyendless 我也纳闷呢 还以为是论坛版本问题,怕编辑的更乱。

    语法应该ok?

* 帖子来源Linux.do
返回