文章目录

  • 确定出口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