AWS-安全组-学习笔记

安全组(Security Group)

在每一个EC2实例创建的过程中,你都会被要求为其指定一个安全组(Security Group)。这个安全组充当了主机的虚拟防火墙作用,能根据协议、端口、源IP地址来过滤EC2实例的入向和出向流量。

通过安全组,你可以定义该EC2实例对外开放哪一些服务端口。比如你可以开放TCP/22端口来用于SSH登陆,或者开放TCP/80端口来用于HTTP服务。

除了使用安全组之外,你还可以继续保留系统原生的防火墙(Linux下的iptable和Windows的防火墙)。

安全组有如下特性:

  • 默认情况下,所有入方向的流量都会被拒绝
  • 默认情况下,所有出方向的流量都会被允许
  • 安全组的规则可以随时添加、删除和更改
  • 更改安全组的设置会马上生效
  • 一个安全组可以应用到多个不同EC2实例上,一个EC2实例也可以使用多个安全组(最多5个安全组,每个安全组50个规则)
  • 安全组是有状态的
    • 如果某个流量被入方向的规则放行,那么无论它的出站规则如何,它的出方向响应流量都会被无条件放行
    • 如果从主机发出去的出站请求,无论入站规则如何,该请求的响应流量都会被无条件放行
  • 你不能使用安全组来禁止某些特定的IP地址访问主机,要达到这个效果需要使用网络访问控制列表(NACL)
  • 在安全组内只能设置允许的条目,不能设置拒绝的条目
  • 安全组的源IP地址可以选择所有IP地址(0.0.0.0/0),特定的IP地址(比如8.8.8.8/24),或者处于同一个VPC中的其他安全组
  • 一个流量只要被安全组的任何一条规则匹配,那么这个流量就会被允许放行
  • 安全组会关联到EC2实例的ENI(网络接口)上

连接跟踪

  • 安全组是有状态的,因此AWS使用连接跟踪来跟踪实例的入向和出向流量
  • 对于入向流量的响应包,会被自动允许从实例出去,无论出向的安全组规则是如何。反之亦然
  • 并不是所有通信都会被跟踪
    • 如果安全组规则允许所有通信 (0.0.0.0/0) 的 TCP 或 UDP 流,并且另一个方向存在允许所有端口 (0-65535) 的所有响应通信 (0.0.0.0/0) 的对应规则,则不会跟踪该通信流。
  • 跟踪的信息流在你删除了安全组规则后并不会马上消失,而可能会持续几分钟(甚至最多5天)
  • 对于除了TCP、UDP或ICMP之外的协议,仅跟踪IP地址和协议编号

举个例子,如下图所定义的安全组规则。

  • 安全组会跟踪TCP/22的入向和出向流量,因为源IP地址定义的是具体的地址(203.0.113.1/32),而不是所有IP地址(0.0.0.0/0)
  • 安全组不会跟踪TCP/80的流量,因为其入向和出向的流量都是针对所有IP地址(0.0.0.0/0)
  • 安全组会跟踪ICMP流量,因为无论规则如何,安全组都会跟踪ICMP流量
入站规则
协议类型端口号源 IP
TCP22 (SSH)203.0.113.1/32
TCP80 (HTTP)0.0.0.0/0
ICMP全部0.0.0.0/0
出站规则
协议类型端口号目的地 IP
全部全部0.0.0.0/0

安全组(Security Group)和网络访问控制列表(Network Access Control List)都扮演了类似的防火墙功能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loong_1213

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值