AWS网络防火墙地理IP过滤功能发布
关键要点: AWS网络防火墙推出地理IP过滤新功能,允许用户基于地理位置过滤流量,从而提升合规性和安全性。 该功能支持IPv4和IPv6流量,并自动更新地理数据库以适应新的IP地址分配。 用户可以通过AWS管理控制台、命令行接口或API快速配置过滤规则。
AWS网络防火墙是一项托管服务,方便客户为其虚拟私有云VPC提供基本的网络防护。本文将介绍网络防火墙的新功能地理IP过滤,您可以利用此功能根据地理位置过滤流量,以满足合规要求。
对于面向互联网的应用程序,客户不断需要先进的安全功能来保护其应用免受威胁。这通常需要限制Amazon Web ServicesAWS中其工作负载的进出流量,只允许来自特定地区的流量,以降低安全风险。尤其是在高度监管的行业,如银行、公共部门或保险,客户可能会有特定的安全需求,而地理IP过滤可以应对此类需求。
过去,客户需依赖第三方工具来获取特定国家的IP地址列表,并定期更新防火墙规则以满足相应要求。而现在,通过网络防火墙的地理IP过滤功能,用户可以根据IP地址的地理位置保护其应用工作负载。当互联网分配数字机关IANA分配新IP地址时,网络防火墙下的地理IP数据库将自动更新,以便根据国家代码稳定地过滤进出流量。该功能支持IPv4和IPv6流量。
地理IP过滤功能在所有AWS网络防火墙可用的地区都得到了支持,包括AWS GovCloud美国区域。
在网络防火墙中设置地理IP过滤
您可以使用网络防火墙来检查网络流量并保护您的VPC,以实施第3层到第7层的规则即OSI模型中的网络层到应用层。当流量到达网络防火墙时,系统会从地理IP数据库中识别源IP地址和目标IP地址的位置。如果您有阻止该位置的防火墙规则,流量将被阻止。您可以选择允许、丢弃、拒绝或对来自或去往特定国家的流量生成警报。
在设置地理IP过滤规则之前,您需要部署网络防火墙并附加防火墙策略。您可以在网络防火墙的入门指南中了解更多步骤。您可以通过AWS管理控制台、AWS命令行界面AWS CLI、AWS SDK或网络防火墙API快速配置网络防火墙的地理IP过滤。
以下是在控制台中配置地理IP过滤规则的步骤:
登录到AWS管理控制台,打开Amazon VPC控制台。在导航窗格中,选择 网络防火墙 下的 网络防火墙规则组。选择 创建规则组。在 创建规则组 页面中,为 规则组类型 选择 有状态规则组。对于 规则组格式,选择 标准有状态规则。对于 规则评估顺序,选择 严格顺序推荐 或 动作顺序。输入有状态规则组的名称。对于 容量,输入您希望允许的最大容量。在 标准有状态规则 下,对于 地理IP过滤,选择是 禁用地理IP过滤、仅匹配选定国家 还是 匹配所有未选定国家。如果您选择了地理IP过滤,请选择您希望过滤流量的地理IP流量方向和国家代码。输入 协议、源、源端口、目标 和 目标端口 的相应值。对于 操作,选择当数据包匹配规则设置时希望网络防火墙采取的操作。单击 添加规则,然后复审该规则以创建规则组。Suricata兼容性
您还可以使用与Suricata兼容的规则字符串进行地理IP过滤,使用geoip关键字。
要创建与Suricata兼容的规则字符串:
按照上面程序的步骤1至4进行操作。对于 规则组格式,选择 Suricata兼容规则字符串。对于 规则评估顺序,选择 严格顺序推荐 或 动作顺序。输入有状态规则组的名称。对于 容量,输入您希望允许的最大容量。在 Suricata兼容规则字符串 下,输入适当的字符串,基于您的源和目标以及希望过滤的国家代码。要使用地理IP过滤,请提供geoip关键字、过滤类型和要过滤的国家代码。Suricata支持源和目标IP的过滤。您可以通过指定 dst 或 src 单独过滤这两种类型。可以通过指定 both 或 any 按AND或OR逻辑同时过滤这两种类型。例如,以下示例Suricata规则字符串将丢弃来自日本的流量:
plaintextdrop ip any any gt any any (msgGeographic IP from JPJapan geoipsrcJP sid55555555 rev1)
需要注意的是,Suricata使用MaxMind GeoIP数据库来确定请求的位置。MaxMind报告其数据在国家级别的准确度非常高,尽管准确率因国家和IP类型等因素而异。有关MaxMind的更多信息,请参阅MaxMind IP地理定位。
如果您认为任何地理IP数据不正确,可以向MaxMind提交更正请求,地址为MaxMind更正GeoIP数据。
日志记录地理IP过滤
您可以为防火墙的有状态引擎配置网络防火墙日志记录,以获得有关数据包及其所采取的任何有状态规则操作的详细信息。引入地理IP过滤功能后,日志记录和监控机制没有变化。然而,通过显式指定 msg 和 metadata 关键字,您可以在警报日志中看到额外的地理信息,这可以帮助您进行故障排除。如果在Suricata规则字符串中未指定这些关键字,则日志事件将不会显示任何地理信息。
Suricata规则示例
在本节中,您将找到Suricata规则字符串的示例,以便对来自或去往特定国家的流量进行通过、阻止、拒绝和警报。
示例1:允许来自特定国家的流量
以下示例允许来自印度的流量。
注意:规则评估顺序应设为 严格,以便生成警报日志。如果规则评估顺序设为 动作,则尽管流量将被允许,但将不会生成警报日志。
plaintextalert ip EXTERNALNET any gt HOMENET any (msgIngress traffic from IN allowed flowtoserver geoipsrcIN metadatageo IN sid202409301)pass ip EXTERNALNET any gt HOMENET any (msgIngress traffic from IN allowed flowtoserver geoipsrcIN metadatageo IN sid202409302)
以下是示例1的警报和流日志。
警报日志:
json{ firewallname TestNFW availabilityzone eunorth1a eventtimestamp 1731102856 event { srcip 1312720X srcport 56630 eventtype alert alert { severity 3 signatureid 202409301 rev 0 metadata { geo [IN] } signature Ingress traffic from IN allowed action allowed category } flowid 234143298308779 destip 1723124 proto TCP verdict { action pass } destport 80 pktsrc geneve encapsulation timestamp 20241108T2154169720190000 direction toserver }}
从源到目标的流日志:
json{ firewallname TestNFW availabilityzone eunorth1a eventtimestamp 1731102918 event { tcp { tcpflags 13 syn true fin true ack true } appproto unknown srcip 1312720X srcport 56630 netflow { pkts 4 bytes 216 start 20241108T2154169720190000 end 20241108T2154172630300000 age 1 minttl 112 maxttl 112 } eventtype netflow flowid 234143298308779 destip 1723124 proto TCP destport 80 timestamp 20241108T2155182574160000 }}
从目标到源的流日志:
json{ firewallname TestNFW availabilityzone eunorth1a eventtimestamp 1731102918 event { tcp { tcpflags 13 syn true fin true ack true } appproto unknown srcip 1723124 srcport 80 netflow { pkts 2 bytes 112 start 20241108T2154169720190000 end 20241108T2154172630300000 age 1 minttl 126 maxttl 126 } eventtype netflow flowid 234143298308779 destip 1312720X proto TCP destport 56630 timestamp 20241108T2155182574490000 }}
示例2:阻止来自特定国家的流量
下面的示例阻止来自日本的流量。
plaintextdrop ip EXTERNALNET any gt HOMENET any (msgIngress traffic from JP blocked flowtoserver geoipanyJP metadatageo JP sid202409303)
示例3:阻止来自特定国家的SSH流量
下面的示例阻止来自俄罗斯的SSH流量。
plaintextdrop ssh EXTERNALNET any gt HOMENET any (msgIngress SSH traffic from RU blocked flowtoserver geoipsrcRU metadatageo RU sid202409304)
示例4:拒绝到特定国家的出口TCP流量
下面的示例拒绝到伊朗的出口TCP流量。
飞驰加速器下载plaintextreject tcp HOMENET any gt EXTERNALNET any (msgEgress traffic to IR rejected flowtoserver geoipdstIR metadatageo IR sid202409305)
示例5:警报来自或发往特定国家的流量
下面的示例对来自委内瑞拉的流量生成警报。
plaintextalert ip any any gt any any (msgGeographic IP is from VE Venezuela geoipanyVE sid 202409306)

结论
您可以利用AWS网络防火墙的新地理IP过滤功能,通过基于地理位置控制流量,增强安全态势。在本篇文章中,您了解了地理IP过滤功能的关键概念、配置步骤以及示例。通过使用这一功能,企业可以维护其网络免受潜在有害流量的侵害,并控制可以与其基础设施互动的地理位置。随着网络安全威胁的不断演化,地理IP过滤功能成为加强网络安全的重要工具。
如果您对本文有反馈,请在下面的评论部分提交意见。如果您对文章有任何问题,请联系AWS支持。
Prasanjit TiwariPrasanjit是一名在美国维吉尼亚州工作的云支持工程师II。他拥有马里兰大学的电信工程硕士学位。作为Web应用防火墙WAF和Route 53的专家,他喜欢从事网络和边界安全服务工作,热衷于使用创新性解决方案来应对客户的挑战。
Dhiren PatelDhiren是一名在美国维吉尼亚州工作的云支持工程师II。他拥有纽约大学的电气与计算机工程硕士学位。作为WAF和Route 53的专家,他专注于AWS网络和安全服务。他热衷于帮助客户解决AWS的问题,确保客户获得最佳云使用体验。
标签:应用安全、AWS网络防火墙、合规性、安全性、安全博客
发表评论