亚马逊AWS官方博客

使用阻止公有访问配置保护您的 Amazon EMR 集群免受意外网络攻击

Original URL:https://aws.amazon.com/blogs/big-data/secure-your-amazon-emr-cluster-from-unintentional-network-exposure-with-block-public-access-configuration/

AWS 安全组(security groups)充当网络防火墙,使您可以控制仅允许列入白名单的 IP 地址访问集群。正确管理安全组规则对于保护集群中的应用程序和数据至关重要。 Amazon EMR 强烈建议根据您的应用程序需求创建限制性安全组规则,其中包括必要的网络端口、协议和 IP 地址。尽管 AWS 账户管理员可以采用不同方式保护云网络安全,但有一项新功能可帮助他们防止账户用户使用配置错误的安全组规则启动集群。错误配置会为来自公共互联网、不受限制的流量打开大量集群端口,导致集群资源遭受外部威胁。本文讨论了一种新的账户级功能,称为阻止公有访问 (Block Public Access ,BPA) 配置,可以帮助管理员在同一个区域中的所有 EMR 集群中强制执行一种通用的公共访问规则。

阻止公有访问配置概览

BPA 配置是账户级别的配置,可帮助您集中管理对AWS同一个区域(Region)中的 EMR 集群的公共网络访问。您可以在区域中启用此配置,并阻止账户用户启动集群,防止因此而允许通过其端口从公有 IP 地址(对于 IPv4,源设置为 0.0.0.0/0,对于 IPv6,则设置为 ::/0)传入无限制的入站流量。您的应用程序可能需要特定的端口才能对互联网开放,对于这种情况,可以在 BPA 配置中将这些端口(或端口范围)配置为例外,以允许在启动集群之前进行公共访问。

当账户用户在启用了 BPA 配置的区域中启动集群时,EMR 将检查在此配置中定义的端口规则,并将其与在集群的关联安全组中指定的入站流量规则进行比较。如果这些安全组具有可打开访问公有 IP 地址的端口的入站规则,但您没有在 BPA 配置中将这些端口配置为例外,则 EMR 会导致集群创建失败,并向用户发送一条异常。

 从 AWS 管理控制台启用 BPA 配置

要启用 BPA 配置,您需要具有调用 PutBlockPublicAccessConfiguration API 的权限。

  • 登录到 AWS 管理控制台。在控制台中,导航到 Amazon EMR
  • 在导航面板中,选择阻止公有访问(Block Public Access)
  • 选择更改,然后选择启用以启用 BPA。

默认情况下,除用于 SSH 流量的端口 22 外,所有端口均被阻止。要允许更多端口可供公共访问,请将它们添加为例外。

  • 选择添加端口范围

在启动集群之前,请定义这些例外。这些端口号或范围应该是安全组规则中唯一具有入站源 IP 地址(对于 IPv4 为 0.0.0.0/0,对于 IPv6 为 ::/0)的端口号或范围。

  • 输入可供公共访问的端口号或端口范围。
  • 选择保存更改

“阻止公有访问”部分,用红圈圈出了“更改”超链接。

“阻止公有访问”设置,在“例外”部分用红圈圈出了“+添加端口范围”。

有关使用 AWS CLI 配置 BPA 的信息,请参阅配置阻止公有访问

小结

在本文中,我们讨论了 Amazon EMR 上的一项账户级别新功能,称为阻止公有访问 (BPA) 配置,该功能可帮助管理员管理对其 EMR 集群的公有访问。您可以立即启用 BPA 配置,防止区域中的 EMR 集群意外暴露于公共网络之中。

 


关于作者

Vignesh Rajamani 是 AWS EMR 的高级产品经理。

 

 

 

 

Esther Kundin 是 AWS EMR 的软件开发工程师。

 

 

 

 

Wesley Blumenthal 是 AWS EMR 的软件开发工程师。

 

 

 

 

校译作者

谷雷

AWS APN 合作伙伴解决方案架构师,主要负责 AWS (中国)合作伙伴的方案架构咨询和设计工作,同时致力于 AWS 云服务在国内的应用及推广。