介绍常见的网络ACL配置示例。
- 拒绝特定端口访问
- 允许某些协议端口的访问
拒绝特定端口访问
在本示例中,假设要防止勒索病毒Wanna Cry的攻击,需要隔离具有漏洞的应用端口,例如TCP 445端口。您可以在子网层级添加网络ACL拒绝规则,拒绝所有对TCP 445端口的入站访问。
网络ACL配置
需要添加的入方向规则如下表所示。
表 网络ACL规则
方向 | 动作 | 协议 | 源地址 | 源端口范围 | 目的地址 | 目的端口范围 | 说明 |
---|---|---|---|---|---|---|---|
入方向 | 拒绝 | TCP | 0.0.0.0/0 | 1-65535 | 0.0.0.0/0 | 445 | 拒绝所有IP地址通过TCP 445端口入站访问 |
入方向 | 允许 | 全部 | 0.0.0.0/0 | 1-65535 | 0.0.0.0/0 | 全部 | 放通所有入站流量 |
说明:
- 网络ACL默认拒绝所有入站流量,需先放通所有入站流量。
- 当添加了拒绝的规则,并且希望拒绝规则优先匹配时,需要将拒绝的规则放到允许规则的前面,匹配到拒绝规则的流量将会生效。具体操作请参见改网络ACL规则生效顺序。
允许某些协议端口的访问
在本示例中,假设子网内的某个弹性云服务器做Web服务器,入方向需要放通HTTP 80和HTTPS 443端口,出方向全部放通。当子网开启网络ACL时,需要同时配置网络ACL和安全组规则。
网络ACL配置
需要添加的网络ACL入方向、出方向规则如下表所示。
表 网络ACL规则
方向 | 动作 | 协议 | 源地址 | 源端口范围 | 目的地址 | 目的端口范围 | 说明 |
---|---|---|---|---|---|---|---|
入方向 | 允许 | TCP | 0.0.0.0/0 | 1-65535 | 0.0.0.0/0 | 80 | 允许所有IP地址通过HTTP协议入站访问子网内的弹性云服务器的80端口 |
入方向 | 允许 | TCP | 0.0.0.0/0 | 1-65535 | 0.0.0.0/0 | 443 | 允许所有IP地址通过HTTPS协议入站访问子网内的弹性云服务器的443端口 |
出方向 | 允许 | 全部 | 0.0.0.0/0 | 全部 | 0.0.0.0/0 | 全部 | 允许子网内所有出站流量的数据报文通过 |
安全组配置
需要添加的安全组入方向、出方向规则如下表所示。
表 安全组规则
方向 | 协议/应用 | 端口 | 源地址/目的地址 | 说明 |
---|---|---|---|---|
入方向 | TCP | 80 | 源地址:0.0.0.0/0 | 允许所有IP地址通过HTTP协议入站访问安全组内的弹性云服务器的80端口 |
入方向 | TCP | 443 | 源地址:0.0.0.0/0 | 允许所有IP地址通过HTTPS协议入站访问安全组内的弹性云服务器的443端口 |
出方向 | 全部 | 全部 | 目的地址:0.0.0.0/0 | 允许安全组内所有出站流量的数据报文通过 |
网络ACL相当于一个额外的保护层,就算不小心配置了比较宽松的安全组规则,网络ACL规则也仅允许HTTP 80和HTTPS 443的访问,拒绝其他的入站访问流量。