暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AWS中的两个门神:ACL和Security Group

健谈始于戊戌年 2021-07-01
1647

前文中我们讲到了虚拟私有云VPC。我们可以把它看成一座城堡,需要特别通行证才能从关口(互联网网关)进出。了解这些还不够,我们还需要了解更多网络安全的内容。


网络安全的结构类似于洋葱,层层防护。AWS在每一层上都有对应的工具:网络强化(Network Hardening)、应用程序安全、用户身份、验证和授权、分布式拒绝服务防御(Distributed Denial-of-Service,简称 DDoS)、数据完整性和加密等等。这些我们也会做一些介绍了。


我们先来说一下VPC里面的网络强化。从技术上讲,在VPC中使用子网络的目的只是通过网关控制流量。公有子网络可以通过互联网网关,而私有子网络不行。但是,子网络自身也可以控制流量。子网络通过所谓网络流量控制列表(Network Access Control, 简称ACL)可以检查信息,看它们是否可以进入或者离开子网络。


ACL


通俗地讲,ACL有点像个门卫,它负责检查信息有没有通行证。如果有通行证,那就可以进入。如果没有通行证,或者甚至在黑名单上,那就不能进入。而且这种检查是双向的,也就是说进出都要检查。有些信息可以进入,但是不一定能出去。


这还不够。ACL只检查是不是符合进入子网络的条件,却没有检查是不是符合进入某个EC2实例的条件。某个子网络中可能有很多EC2,不同的EC2对于收发信息的条件不同,比方说端口不同。所以,我们还要继续细化,检查实例层级的网络安全。


如果想解决EC2实例级别的进出问题,我们就需要引入一个新的概念:安全组(Security Group)。安全组有点像EC2的保镖。任何一个EC2启动以后,都自带一个安全组。在默认的情况下,安全组认为所有访问都有恶意,所以它拒绝任何EC2的访问。同时,它屏蔽任何端口以及任何IP地址。


显然,这样做虽然很安全,但是什么也做不成了。所以,如果你需要EC2实例接受外面来的信息,就需要修改安全组的设置。也就是你要告诉EC2的保镖哪些是好人。


看起来ACL和安全组的功能类似。它们之间的区别在哪里呢?答案是记忆性。安全组有记忆性。而ACL没有记忆性,每次都要盘查一遍。

文章转载自健谈始于戊戌年,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论