網絡ACL可以控制流入/流出子網的流量,當網絡ACL和安全組同時存在時,流量先匹配網絡ACL規則,然后匹配安全組規則。您可以靈活調整安全組的規則,并使用網絡ACL作為子網的額外防護。以下為您提供了典型的網絡ACL應用示例。
使用須知
在配置規則之前,請您先了解以下信息:
在網絡ACL中,存在如下表所示的默認規則。當網絡ACL中沒有其他允許流量出入的自定義規則時,則匹配默認規則,拒絕任何流量流入或流出子網。
| 方向 | 生效順序 | 策略 | 協議 | 源地址 | 源端口范圍 | 目的地址 | 目的端口范圍 |
|---|---|---|---|---|---|---|---|
| 入方向 | * | 拒絕 | 全部 | 0.0.0.0/0 | 全部 | 0.0.0.0/0 | 全部 |
| 出方向 | * | 拒絕 | 全部 | 0.0.0.0/0 | 全部 | 0.0.0.0/0 | 全部 |
您無需單獨添加放通響應流量的規則,因為網絡ACL是有狀態的,允許響應流量流入/流出子網,不受規則限制。
拒絕外部訪問子網內實例的指定端口
在本示例中,防止勒索病毒Wanna Cry對實例的攻擊,因此隔離具有漏洞的應用端口,例如TCP 445端口。您可以為子網關聯網絡ACL,并添加對應入方向規則,如下表所示,其中目的地址10.0.0.0/24為需要防護的子網網段。
| 方向 | 生效順序 | 類型 | 策略 | 協議 | 源地址 | 源端口范圍 | 目的地址 | 目的端口范圍 | 規則說明 |
|---|---|---|---|---|---|---|---|---|---|
| 入方向 | 1 | IPv4 | 拒絕 | TCP | 0.0.0.0/0 | 全部 | 10.0.0.0/24 | 445 | 自定義規則01 |
| 入方向 | 2 | IPv4 | 允許 | 全部 | 0.0.0.0/0 | 全部 | 10.0.0.0/24 | 全部 | 自定義規則02 |
| 入方向 | * | -- | 拒絕 | 全部 | 0.0.0.0/0 | 全部 | 0.0.0.0/0 | 全部 | 默認規則 |
- 網絡ACL默認規則拒絕任何流量流入子網,因此需要先添加自定義規則02,放通入方向流量。
- 添加自定義規則01,拒絕所有外部請求訪問子網內實例的TCP 445端口。此時拒絕規則必須早于允許規則生效,因此需要將拒絕的規則插入到允許規則的前面。
拒絕外部指定IP地址訪問子網內實例
本示例中,需要攔截異常IP訪問子網內實例,例如拒絕來自IP地址(10.1.1.12/32)的流量流入子網,您可以為子網關聯網絡ACL,并添加對應入方向規則,如下表所示,其中目的地址10.5.0.0/24為需要防護的子網網段。
| 方向 | 生效順序 | 類型 | 策略 | 協議 | 源地址 | 源端口范圍 | 目的地址 | 目的端口范圍 | 規則說明 |
|---|---|---|---|---|---|---|---|---|---|
| 入方向 | 1 | IPv4 | 拒絕 | TCP | 10.1.1.12/32 | 全部 | 10.5.0.0/24 | 全部 | 自定義規則01 |
| 入方向 | 2 | IPv4 | 允許 | 全部 | 0.0.0.0/0 | 全部 | 10.5.0.0/24 | 全部 | 自定義規則02 |
| 入方向 | * | -- | 拒絕 | 全部 | 0.0.0.0/0 | 全部 | 0.0.0.0/0 | 全部 | 默認規則 |
網絡ACL默認規則拒絕任何流量流入子網,因此需要先添加自定義規則02,放通入方向流量。
添加自定義規則01,拒絕來自外部IP地址(10.1.1.12/32)的流量流入子網。此時拒絕規則必須早于允許規則生效,因此需要將拒絕的規則插入到允許規則的前面。
允許外部訪問子網內實例的指定端口
本示例中,在子網內的實例上搭建了可供外部訪問的網站,實例作為Web服務器,需要放通入方向的HTTP(80)和HTTPS(443)端口。當子網關聯了網絡ACL時,需要同時在網絡ACL和安全組添加對應的規則。
在網絡ACL中,添加如下表所示的規則:
- 添加定義規則01,允許任意IP地址通過HTTP協議,訪問子網內實例的80端口。
- 添加定義規則02,允許任意IP地址通過HTTPS協議,訪問子網內實例的443端口。
其中目的地址10.8.0.0/24為需要防護的子網網段。
| 方向 | 生效順序 | 類型 | 策略 | 協議 | 源地址 | 源端口范圍 | 目的地址 | 目的端口范圍 | 規則說明 |
|---|---|---|---|---|---|---|---|---|---|
| 入方向 | 1 | IPv4 | 允許 | TCP | 0.0.0.0/0 | 全部 | 10.8.0.0/24 | 80 | 自定義規則01 |
| 入方向 | 2 | IPv4 | 允許 | TCP | 0.0.0.0/0 | 全部 | 10.8.0.0/24 | 443 | 自定義規則02 |
| 入方向 | * | -- | 拒絕 | 全部 | 0.0.0.0/0 | 全部 | 0.0.0.0/0 | 全部 | 默認規則 |
| 出方向 | * | -- | 拒絕 | 全部 | 0.0.0.0/0 | 全部 | 0.0.0.0/0 | 全部 | 默認規則 |
在安全組中,添加如下表所示的規則:
- 入方向規則01:允許任意IP地址通過HTTP協議,訪問實例的80端口。
- 入方向規則02:允許任意IP地址通過HTTPS協議,訪問實例的443端口。
- 出方向規則03:允許任何流量從安全組內實例流出。
安全組的出方向規則設置比較寬松,本示例中出方向通過網絡ACL默認規則防護,僅允許入站流量的響應流量出站,會攔截其他流量出站。
| 方向 | 優先級 | 策略 | 類型 | 協議端口 | 源地址/目的地址 | 規則說明 |
|---|---|---|---|---|---|---|
| 入方向 | 1 | 允許 | IPv4 | 自定義TCP: 80 | IP地址:0.0.0.0/0 | 規則01 |
| 入方向 | 1 | 允許 | IPv4 | 自定義TCP:443 | IP地址:0.0.0.0/0 | 規則02 |
| 出方向 | 1 | 允許 | IPv4 | 全部 | IP地址:0.0.0.0/0 | 規則03 |