您是否可以将AWS安全组配置为具有子组或嵌套组?

tea*_*ris 1 security amazon-web-services aws-security-group

TLDR

我们在一个安全组中有很长的IP地址列表,很难管理.AWS使您感觉可以拥有嵌套组,但您不能.我对吗?

背景

配置和使用安全组时没有任何问题.这个问题更加微妙,这就是背景.

我们将安全组配置为将访问开发实例/服务列入白名单.由于我们的配置模式是白名单,我们必须始终不断添加新的IP地址,具体取决于团队成员的工作地点.没有静态IP地址的蹩脚ISP.

这不是问题.但想象一下IP地址日益混乱.

问题

有时我们希望删除此白名单(因为蹩脚的ISP)并确保IP地址是相关的,最新的并且仍然应该在白名单上.

我们发现自己不愿意这样做,因为目前有效"清理"白名单的唯一方法就是装箱并重新开始.

AWS似乎没有提供一种简洁的方法来标记安全组规则中的记录,或者允许嵌套安全组.

目前的工作

  1. 拥有许多(可能是数百个)单独的安全组,并确保它们始终附加到相关服务.

    Pro:易于标记/识别IP地址(例如Bob的家庭IP),因此Bob可以删除旧IP地址并替换为新IP地址.

    Con:每个安全组必须附加到相关实例,此列表可能会很长.

  2. 保留单独的IP /查找列表,并拥有一个安全组

    Pro:意味着您只需要一个安全组.

    骗局:必须保持两个列表是最新的,不太实际,你会得到不匹配.

  3. 某种自动化.构建定期检查安全组的服务,并将这些IP与一些基本的geo-ip/ISP信息一起存储在DynamoDB中.用作参考.

    Pro:喜欢#2但是自动化.不是100%准确,因为geo-ip查找永远不会.

    Con:必须编写和维护该实用程序,使其感觉应该已经存在.

希望解决方案

  1. 子/嵌套安全组.AWS配置界面实际上意味着您可以执行此操作 - 但它无法按预期工作.EG主安全组具有允许来自其他安全组的入站流量的规则 - 这些规则又将IP地址逻辑分组在一起.

    http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html

    指定安全组作为规则的源时,这允许与源安全组关联的实例访问安全组中的实例.(请注意,这不会将源安全组中的规则添加到此安全组.)

    我发现文档有点矛盾.从实验来看,它不起作用.

  2. 标记每条记录.这显然不存在,并且将成为AWS的功能请求.

我错过了什么吗?其他人如何管理大型安全组?

Joh*_*ein 7

你是对的 - 安全组不能嵌套.

如果您将Amazon VPC中的实例列入白名单,则可以使用名称来引用其他安全组.例如,您可能有一个Web-SG和一个App-SG.App-SG可以允许从Web-SG访问.然后,与Web-SG关联的任何实例都可以与App-SG中的任何实例进行通信.

但是,如果您将来自AWS外部的实例列入白名单,则需要自己维护安全组中的IP地址列表.

最好的方法是自动化:

  • 维护数据库,电子表格等中列入白名单的IP地址的"主列表"
  • 每当对主列表进行更改时自动更新列表

这可以通过你最喜欢的编程语言中的一个相当短的程序来完成,调用命令就像authorize-security-group-ingress.

结论:在AWS外部维护您自己的完全标记列表,然后通过自动化使安全组匹配.