gpt4 book ai didi

amazon-web-services - AWS 和 Terraform - 安全组中的默认导出规则

转载 作者:行者123 更新时间:2023-12-04 08:16:33 26 4
gpt4 key购买 nike

我在许多提供者是 AWS 的 Terraform 项目中看到了一个可重复的配置:
出站(导出)规则的配置以允许所有出站流量。

据我了解,这是 AWS user guide 中提到的 AWS 中的默认行为。 :

By default, a security group includes an outbound rule that allows all outbound traffic. You can remove the rule and add outbound rules that allow specific outbound traffic only. If your security group has no outbound rules, no outbound traffic originating from your instance is allowed.



安全组的常见 Terraform 设置示例 - 我的问题的重点是导出 block :
 resource "aws_security_group" "my_sg" {
name = "my_sg"
description = "Some description"
vpc_id = "${aws_vpc.my_vpc.id}"
tags {
Name = "my_sg_tag"
}

#Not redundant - Because a new security group has no inbound rules.
ingress {
from_port = "80"
to_port = "80"
protocol = "TCP"
cidr_blocks = ["0.0.0.0/0"]
}

#Isn't this redundant?
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}

这个配置是为了文档还是有技术原因?

最佳答案

documentation for the aws_security_group resource特别声明他们默认故意删除 AWS 的默认导出规则,并要求用户指定它以限制对用户的意外:

NOTE on Egress rules: By default, AWS creates an ALLOW ALL egress rule when creating a new Security Group inside of a VPC. When creating a new Security Group inside a VPC, Terraform will remove this default rule, and require you specifically re-create it if you desire that rule. We feel this leads to fewer surprises in terms of controlling your egress rules. If you desire this rule to be in place, you can use this egress block:


egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}

这里还有一个技术/用户体验原因,即让 Terraform 了解在对安全组进行更改时是否应该保留允许所有导出规则是很棘手的。除非指定了另一个导出规则,否则它是否应该始终提供允许所有导出规则,然后如果是这样删除默认值?与 aws_security_group_rule resource 的组合如何工作? ?

AWS 已决定允许所有导出出站的默认规则比没有它的用​​户体验更好(并且使人们对他们的实例无法出站通信感到困惑)而不会产生太大的安全影响(与等效规则相比)入站)。即使他们现在改变主意,他们也将无法做到这一点,而不会大规模破坏 AWS 非常不愿意这样做的很多人的设置/工作流程。

另一方面,Terraform 以另一种方式做出了决定,这更适合该工具,并略微改善了该工具的安全状况,但代价是让人们在很多地方定义一个重复的导出 block 。

如果您特别关心重复并且您确实希望允许所有导出流量,那么您可能会发现使用自动包含允许所有导出规则的模块很有用。

关于amazon-web-services - AWS 和 Terraform - 安全组中的默认导出规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55023605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com