AWS GWLB集成Palo Alto防火墙

本文档详细介绍了如何在AWS环境中利用GWLB集成Palo Alto防火墙,实现流量集中检测。通过VPC配置、实例创建、防火墙配置、GWLB部署和访问测试,展示了AWS PrivateLink的GWLBe如何作为路由下一跳,以及GWLB如何通过GENEVE隧道与防火墙交互。实验中指出了AWS官方博客存在的错误,并提供了配置和清理实验环境的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AWS VPC 流量集中检测系列–(1)AWS GWLB集成paloalto防火墙

B站视频:​​https://www.bilibili.com/video/BV13m4y1P72M/?spm_id_from=333.999.0.0​​

一、背景

1.1 流量集中检测

传统网络都会在出口部署防火墙,用于检测内网进出互联网的流量。到了AWS云上,这个需求并不太容易实现,因为每个VPC都可以认为是一个独立的网络,有独立的出口。但是对AWS云上的南北向(VPC访问互联网)和东西向(VPC互访)流量做集中检测一直都是比较常见的需求。

流量集中检测架构的核心主要是两个点,一是如何将流量引导到防火墙上,二是防火墙如何实现高可用。

以前常见方法是通过AWS Lambda函数来修改路由表,从而切换流量,并且实现防火墙的高可用。这种方案扩展性不好,而且不太容易实施。

AWS Gateway Load Balancer(GWLB)的出现很好的解决了上面两个问题。AWS PrivateLink提供了新的VPC终端节点GWLB endpoint(GWLBe),它可以做为下一跳路由节点,解决了流量引导的问题。GWLB在防火墙的前面做负载均衡,解决了防火墙高可用的问题。另外关于流量引导,也可结合Transit Gateway来进行引流,可以实现更具扩展性的架构。

1.2 参考的博客

最开始我是对着AWS官方博客[参见链接1]来做实验的,发现无论如何都无法实验成功,后来发现博客里面一个重要参数写错了导致异常。坑出现在原博客[3.2.1 创建PA防火墙实例],里面写到plugin-op-commands=Amazon-gwlb-inspect:enable,应该将Amazon修改为aws,即plugin-op-commands=aws-gwlb-inspect:enable。

测试完paloalto之后,我想测试FortiGate防火墙,飞塔是对这个AWS官方博客[参见链接2]来做实验的,两个拓扑基本一致,只是替换了防火墙,但是发现这篇博客更坑,关键步骤有缺失,无法实现防火墙的高可用切换。后续我会在相同的拓扑下,使用FortiGate防火墙来测试,会填上博客缺失步骤的坑。

这次实验是在AWS Console上操作的,后续我会演示AWS CloudFormation来部署这个环境。

二、实验介绍

这里AppVpc模拟业务的VPC,APP进出互联网的流量会被引导到SecVpc内的防火墙做安全检测,防火墙允许通过后,流量才能正常通信。

这次实验的核心组件:

GWLB:Gateway Load Balancer与防火墙建立GENEVE[参见链接3]隧道,使用UDP 6081来转发数据,这种封装方式让防火墙不用关闭源/目的地址检查,也不用做源/目的NAT的转换。GWLB会在子网创建一个弹性接口,流量通过这个弹性接口来转发。

GWLBe:Gateway Load Balancer endpoint 是由AWS PrivateLink提供的VPC终端节点,可以作为路由表中的下一跳存在,流量送到GWLBe后,会继续送往GWLB背后的实例。

Ingress Route Table:这个路由表关联在IGW上,路由表一般都是关联在子网,这里是AWS 2019年发布的一个功能VPC Ingress Routing[参见链接4],让路由表可以关联到IGW上,用于控制入向的流量。

GWLB paloalto

APP访问互联网流量路径(红色箭头)

  1. AppVpc内的APP1想要访问Internet上的资源,所在子网关联的路由表将默认路由指向了GWLB Endpoint1。
  2. GWLB Endpoint1 使用 AWS PrivateLink 将流量送到到GWLB,这里流量是由AWS来控制,无需用户配置。
  3. GWLB会使用IP数据包的5元组或者3元组哈希来选择实例。GWLB使用GENEVE来封装原始IP流量,并通过UDP 6081发送到防火墙。GENEVE封装可以将所有的IP流量送到实例上,GWLB的侦听组上不需要为每个协议和端口配置侦听器。
    • 当 GWLB 接收到新的 TCP/UDP 流时,它会使用 5 元组流哈希(源 IP、目标 IP、传输协议、源端口、目标端口)从目标组中选择一个健康的设备。随后,GWLB 将该流的所有数据包(正向和反向)路由到同一设备(粘性)。对于非 TCP/UDP 流,GWLB 仍然使用 3 元组(源 IP、目标 IP、传输协议)进行转发决策。
  4. 防火墙收到GENEVE报文,需要解封装流量,然后根据防火墙的安全策略决定是否允许流量通过。
  5. 防火墙重新使用GENEVE封装流量,并发送到GWLB。
  6. GWLB根据 GENEVE TLV字段,选择转发到GWLB Endpoint1,并且发送时会去除GENEVE封装。
    • 为了支持具有重叠 CIDR 的多租户设备,设备需要知道流量的来源。GWLB 还需要跟踪流量并避免用户流量的混合。GWLB 可以通过将每个数据包的类型-长度-值 (TLV) 三元组发送到设备的额外信息(例如 GWLBE/VPCE ID、附件 ID、流 Cookie)来实现这一点。
  7. GWLB Endpoint1接受到流量,查看子网关联路由表,默认路由指向IGW,流量通过IGW访问Internet。

互联网访问APP的流量路径(蓝色箭头)

  1. 客户发起对App1公网地址的访问,流量到达AppVpc的IGW,IGW查看所关联的路由表,将流量送往GWLB Endpoint1。
  2. GWLB Endpoint1 使用 AWS PrivateLink 将流量送到到GWLB。
  3. GWLB使用GENEVE来封装原始IP流量,并通过UDP 6081转发到实例。
  4. 防火墙收到GENEVE报文,需要解封装流量,然后根据防火墙的安全策略决定是否允许流量通过。
  5. 防火墙重新使用GENEVE封装流量,并发送到GWLB。
  6. GWLB根据 GENEVE TLV字段,选择转发到GWLB Endpoint1,并去除GENEVE封装。
  7. GWLB Endpoint1接受到流量,查看子网关联路由表,匹配到local路由,流量送到APP1。

三、 配置部署

3.1 VPC 配置

3.1.1 创建VPC

创建两个VPC

VPC名称		网段
AppVpc		10.10.0.0/16
SecVpc		10.20.0.0/16

3.1.2 创建IGW关联VPC

创建两个IGW,分别关联上VPC

3.1.3 创建子网

AppVpc 创建4个子网

子网名称              网段            备注
AppVpc-GWLBe1-Subnet  10.10.10.0/24		AZ1 的Gate
Palo Alto Networks管理员指南版本 5.0中文版操作手册,非常的详细,第 1 章 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 防火墙概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 功能与优点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 管理方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 第 2 章 入门 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 准备防火墙 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 设置防火墙 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 使用防火墙 Web 界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 提交更改 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 导航到配置页面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 使用配置页面上的表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 必填字段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 锁定事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 支持的浏览器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 获取配置防火墙的帮助 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 获取详细信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 技术支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 目录4 • Palo Alto Networks 第 3 章 设备管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 系统设置、配置和许可证管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 定义管理设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 定义操作设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 定义服务设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 定义内容 ID 设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 定义会话设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 统计信息服务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 比较配置文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 安装许可证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 升级/降级 PAN-OS 软件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 在高可用性配置中升级 PAN-OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 降级 PAN-OS 软件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 维护版本降级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 功能版本降级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 更新威胁和应用程序定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 管理员角色、配置文件和帐户 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 用户名和密码要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 定义管理员角色 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 定义密码配置文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 创建管理帐户 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 指定管理员的访问域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 身份验证配置文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 设置身份验证配置文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 创建本地用户数据库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 配置 RADIUS 服务器设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 配置 LDAP 服务器设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 配置 Kerberos 设置(本机 Active Directory 身份验证) . . . . . . . . . . . . . . 59 身份验证序列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值