by Macey Neff 于2024年5月31日发布,来源于 、、和
| 分享
在AWSOutposts机架上实施网络流量检测是确保本地环境安全和合规性的关键。通过部署AWS合作伙伴的解决方案,您可以利用其专业能力,获得关于网络流量模式的洞察,识别和缓解潜在威胁,并确保符合行业特定的法规标准。本文展示了如何在Outposts机架上部署防火墙设备,以实施本地到虚拟私有云(VPC)和VPC到VPC的流量检测。
网络流量检测在 上,是确保本地环境安全和合规的重要方面。通过实施网络流量检测,您可以监控Outposts机架环境中进出数据,主动发现和缓解潜在的威胁。
通过在Outposts机架上部署AWS合作伙伴解决方案,您可以利用他们的专业知识和技术能力,深入了解网络流量模式,识别威胁并确保遵循行业法规。这些解决方案包括先进的网络流量检测能力,例如深度包检测、入侵检测和防御、应用层防火墙以及高级威胁检测等。
本文呈现了一个在Outposts机架上部署防火墙设备的架构示例,以实施本地到虚拟私有云(VPC)与VPC之间的流量检测。
删除)
以下图示所示的示例流量检测架构是根据常见的Outposts机架部署模式构建的。
在这个示例中,Outpost机架将被部署在本地,以支持:
为IT和OT部门的实例创建了各自的VPC和子网(见图中的1和2)。
组织安全政策要求流往Outposts及其站点之间,以及Outposts上的VPC之间的流量必须经过检查、控制并记录,使用集中式防火墙进行管理。
在 中,可以利用 AWS Transit Gateways (TGW) 或 [Gateway Load Balancers (GWLB)](https://aws.amazon.com/elasticloadbalancing/gateway-load- balancer/)等路由服务构建集中式流量检测架构以路由流量到中心防火墙,但这些服务在Outposts上并不可用。
在Outposts上,一些用户使用 [Local Gateway (LGW)](https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#vpc- associations) 来实现分布式流量检测架构,防火墙在每个VPC中部署,但这可能会导致操作复杂和成本高昂。
在这篇文章中,您将了解如何使用最近引入的功能——[Multi-VPC Elastic Network Interface (ENI) Attachments](https://aws.amazon.com/about-aws/whats-new/2023/10/multi-vpc-eni- attachments/)——在Outposts上创建集中式流量检测架构。使用Multi-VPC ENIAttachments,您可以将ENI附加到已在不同VPC和子网中创建的 Amazon Elastic Compute Cloud (EC2) 实例。即使是从其他AWS帐户通过 共享的子网中创建的ENI,也可以使用此功能进行附加。
具体来说,您可以在IT和OT子网中创建ENI,并与集中式防火墙共享(见图中的3和4)。
出于减少集中式防火墙攻击面并实现隔离的最佳实践,示例中还包括为防火墙实例创建一个单独的VPC和子网(见图中的5)。
为了保护流往IT、OT及防火墙的VPC与本地网络之间的流量,还创建了另一个“暴露” VPC、子网(见图中的6)和ENI(见图中的7)。这是唯一与Outposts [Local Gateway (LGW)](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local- gateways.html) 相关联并“暴露”于本地网络的资源。
在这个示例中,流量通过指向防火墙ENI(见图中的8和9)的默认路由从IT和OT VPC中路由。防火墙可以根据策略通过其直接连接的接口将流量路由回IT和OTVPC。
防火墙使用指向与暴露的ENI相关联的网关的路由(192.168.30.0/24)——或默认路由(例:eni11,172.16.2.1 - 见图中的10)。
为了完成IT、OT和防火墙VPC与本地网络之间的路由,在LGW路由表中添加指向防火墙的暴露ENI的静态路由(见图中的11)。
一旦这些静态路由被插入,功能将触发路由通过BGP宣传到本地三层交换机。
同样,来自本地三层交换机也会通过BGP向LGW宣传路由(见图中的12)192.168.30.0/24(或默认路由),完成本地网络与IT和OTVPC之间的端到端路由。
以下图示展示了本地OT设备与OT服务器之间的报文流向,以及OT与IT实例之间的流向,两个流都通过防火墙进行检查:
删除)
以下实施细节对我们的示例流量检测架构至关重要。
实施之前,需要满足以下前提条件:
虽然在这篇文章中,仅部署并配置一个基本的Linux实例作为防火墙,但在 的网络安全部分,您可以找到多种高级、强大且易管理的AWS合作伙伴解决方案,执行深度包检测。
大多数网络安全市场的产品都会提供关于支持能力、期望性能和特定设备实例大小的定价指南。
目前,Outpost机架可以配置M5、C5、R5和G4dn家族的EC2实例。用户可以根据需求选择Outpost上可用的实例的大小和数量。
在选择作为集中式防火墙的EC2实例时,重要的是考虑以下因素:
例如,在评估合作伙伴建议后,您可能确定实例大小为c5.large、r5.large或更大可以提供所需的性能。
接下来,您可以使用以下 命令识别在Outpost上配置的EC2实例:
shell Outposts get-outpost-instance-types \ --outpost-id op- abcdefgh123456789
该命令的输出将列出在您的Outpost上配置的实例类型和大小:
shell InstanceTypes: - InstanceType: c5.xlarge - InstanceType: c5.4xlarge - InstanceType: r5.2xlarge - InstanceType: r5.4xlarge
通过了解在您的Outpost上安装的实例类型和大小,您现在可以确定这些实例是否可用。以下AWSCLI命令——每个实例类型各一个——将列出可用于使用的每种实例类型和大小的数量。例如:
shell aws cloudwatch get-metric-statistics \ --namespace AWS/Outposts \ --metric-name AvailableInstanceType_Count \ --statistics Average --period 3600 \ --start-time $(date -u -Iminutes -d '-1hour') \ --end-time $(date -u -Iminutes) \ --dimensions \ Name=OutpostId,Value=op-abcdefgh123456789 \ Name=InstanceType,Value=c5.xlarge
此命令返回:
shell Datapoints: - Average: 2.0 Timestamp: '2024-04-10T10:39:00+00:00' Unit: Count Label: AvailableInstanceType_Count
输出表明,在指定的时间段(1小时)内,该Outpost上(平均)有两个可用的c5.xlarge实例。其他实例类型的同样步骤也表明c5.4xlarge、r5.2xlarge各有两个,而r5.4xlarge则没有可用。
接下来,考虑要连接到防火墙的VPC数量,确定可用的实例是否支持所需数量的ENI。
防火墙需要在其自己的VPC、暴露的VPC中以及每个额外的VPC中各有一个ENI。在本例中,由于IT和OT各有一个VPC,您需要一个总共支持四个接口的EC2实例。
要确定每个可用实例类型和大小支持的接口数量,可以使用AWS CLI:
shell aws ec2 describe-instance-types \ --instance-types c5.xlarge c5.4xlarger5.2xlarge \ --query 'InstanceTypes[].[InstanceType,NetworkInfo.NetworkCards]'
这将返回:
shell - - r5.2xlarge - - BaselineBandwidthInGbps: 2.5MaximumNetworkInterfaces: 4 NetworkCardIndex: 0 NetworkPerformance: Up to 10Gigabit PeakBandwidthInGbps: 10.0 - - c5.xlarge - - BaselineBandwidthInGbps: 1.25 MaximumNetworkInterfaces: 4 NetworkCardIndex: 0 NetworkPerformance: Up to10 Gigabit PeakBandwidthInGbps: 10.0 - - c5.4xlarge - - BaselineBandwidthInGbps: 5.0 MaximumNetworkInterfaces: 8 NetworkCardIndex: 0NetworkPerformance: Up to 10 Gigabit PeakBandwidthInGbps: 10.0
输出表明,三种可用的EC2实例(r5.2xlarge、c5.xlarge和c5.4xlarge)都可以支持四个网络接口。输出还表明,例如c5.4xlarge实例支持最多8个网络接口和10Gb/s的最大带宽。这可以帮助您规划未来网络需求的增长。
在防火墙实例部署在防火墙VPC中后,下一步是将之前在暴露子网、OT和IT子网中创建的远程ENI附加到防火墙实例。使用防火墙实例ID和每个远程ENI的网络接口ID,您可以创建Multi- VPC附加ENI,以将防火墙连接到其他VPC。每个附加的接口需要一个设备索引,必须大于“0”,这是主实例接口。
例如,要连接暴露VPC的ENI:
shell aws ec2 attach-network-interface --device-index 1 \ --instance-idi-0e47e6eb9873d1234 \ --network-interface-id eni-012a3b4cd5efghijk \ --regionus-west-2
在附加OT和IT ENI时递增device-index
并使用相应的唯一ENI ID:
\--region us-west-2
aws ec2 attach-network-interface --device-index 3 \ \--instance-idi-0e47e6eb9873d1234 \ \--network-interface-id eni-0bbe1a123b0bdabde \
\--region us-west-2 ```
在附加每个远程ENI后,防火墙实例现在在此示例架构使用的每个VPC中都有一个接口和IP地址:
```shell ubuntu@firewall:~$ ip address
ens5: mtu 9001 qdisc mq state UP group default qlen 1000 inet 10.240.4.10/24metric 100 brd 10.240.4.255 scope global dynamic ens5
ens6: mtu 9001 qdisc mq state UP group default qlen 1000 inet 10.242.0.50/24metric 100 brd 10.242.0.255 scope global dynamic ens6
ens7: mtu 9001 qdisc mq state UP group default qlen 1000 inet 10.244.76.51/16metric 100 brd 10.244.255.255 scope global dynamic ens7
ens11: mtu 9001 qdisc mq state UP group default qlen 1000 inet 172.16.2.7/24metric 100 brd 172.16.2.255 scope global dynamic ens11 ```
# 更新VPC/子网路由表
现在,您可以添加所需的路由,以便允许待检流量通过防火墙。
例如,OT子网(10.242.0.0/24)使用路由表ID为 `rtb-
abcdefgh123456789`。为了将流量通过防火墙发送,您需要添加一个目标为现已附加到防火墙的ENI (eni-07957a9f294fdbf5d)
的默认路由:
`shell aws ec2 create-route --route-table-id rtb-abcdefgh123456789 \
--destination-cidr-block 0.0.0.0/0 \ --network-interface-ideni-07957a9f294fdbf5d`
对于IT VPC/子网添加默认路由时,遵循相同的过程。
在为IT和OTVPC提供路由后,您需要确保防火墙使用暴露的VPC来路由流量到本地网络192.168.30.0/24。这可以通过在防火墙OS中添加一条指向VPC网关的路由来完成。
附加到防火墙的来自暴露VPC的ENI位于子网172.16.2.0/28中,该子网的网关通常是根据 [Amazon虚拟私有云
(VPC)](https://aws.amazon.com/vpc/)约定,子网中的第一个地址——172.16.2.1。这将用于更新防火墙OS路由表:
`shell sudo ip route add 192.168.30.0/24 via 172.16.2.1`
现在,您可以确认防火墙OS已与每
Leave a Reply