文章目录
- 确定出口IP
- 修改ACL
- 修改主网络ACL
- 修改入站规则
- 修改子网ACL
- 创建子网ACL
- 新增入站规则
- 新增出站规则
- 关联子网
- 知识点
- 参考资料
假如我们希望限制只有公司内部的IP可以SSH登录到EC2,则可以考虑使用ACL来实现。
我们延续使用《AWS攻略——创建VPC》的案例,在它的基础上做相关修改来实现相关功能。
确定出口IP
可以通过访问https://www.myip.com/,查看并记录该IP地址。
修改ACL
有两个方案,任选其一就可以。
修改主网络ACL
修改入站规则
对入站规则进行修改:
- 新增对出口IP的允许规则
- 删除编号为100的规则,即删除“任何地址任何端口都可以访问”的规则
最后只剩下两条规则
修改子网ACL
保持VPC的主ACL默认设置不变,即开启所有流量通行。
创建子网ACL
新增入站规则
即只针对出口IP的22端口放行。
新增出站规则
手工输入所有流量出站规则
关联子网
测试时不要使用Web端的连接EC2方式,而是使用SecureCRT这类在客户端的连接工具。
知识点
- 您可以在默认网络 ACL 中添加或删除规则,或为您的 VPC 创建额外网络 ACL。当您在网络 ACL 中添加或删除规则时,更改也会自动应用到与其相关联的子网。
- 规则编号。规则评估从编号最低的规则起开始进行。只要有一条规则与流量匹配,即应用该规则,并忽略与之冲突的任意更大编号的规则。
- 类型。流量的类型,例如 SSH。您也可以指定所有流量或自定义范围。
- 协议。您可以指定任何有标准协议编号的协议。有关更多信息,请参阅 Protocol Numbers。如果您指定 ICMP 作为协议,您可以指定任意或全部 ICMP 类型和代码。
- 端口范围。流量的侦听端口或端口范围。例如,80 用于 HTTP 流量。
- 源。[仅限入站规则]流量的源(CIDR 范围)。
- 目的地。[仅限出站规则]流量的目的地(CIDR 范围)。
- 允许/拒绝。允许还是拒绝指定的流量。
- 如果之前的规则都不匹配,“*”规则最终会拒绝这个数据包。
参考资料
- https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/vpc-network-acls.html