CLB存取控制通過在監聽上配置IP黑白名單,實現對用戶端請求的精細化過濾。
建立存取控制策略組
存取控制策略組是IP條目的集合。建立策略組並添加IP條目後,可將其關聯到監聽以實現黑名單或白名單存取控制。
控制台
前往CLB控制台的存取控制頁面,在頂部功能表列選擇目標執行個體所屬地區,然後單擊建立存取控制原則組。
在建立存取控制原則組面板,輸入原則組名稱並選擇IP版本(IPv4或IPv6),按需添加IP條目,單擊建立。
IPv4執行個體只能綁定IPv4存取控制策略組,IPv6執行個體只能綁定IPv6存取控制策略組,請根據CLB執行個體的IP版本進行選擇。
API
調用 CreateAccessControlList 建立存取控制策略組。
添加IP條目
策略組建立完成後,可以繼續向其中添加IP條目。
控制台
前往CLB控制台的存取控制頁面,單擊目標策略組ID進入詳情頁。通過以下方式添加IP條目:
單個添加:單擊新增條目,在對話方塊輸入地址/地址段和備忘,單擊添加。
大量新增:單擊大量新增條目,按以下格式批量輸入:
每個條目一行,以斷行符號分隔。
IP地址或IP位址區段與備忘之間用豎線(|)分隔,例如192.168.1.0/24|備忘。
單次最多支援添加50個條目。
添加完成後,可在條目列表中刪除或匯出條目。
API
調用AddAccessControlListEntry添加IP條目。
調用RemoveAccessControlListEntry刪除IP條目。
開啟/關閉存取控制
建立策略組並添加IP條目後,將策略組關聯到監聽以啟用存取控制。如果不再需要存取控制,可隨時關閉。
無論設定白名單還是黑名單,如果關聯的策略組中沒有添加任何IP條目,存取控制不會生效,監聽將轉寄全部請求。設定白名單前請確認策略組內已包含需要允許存取的IP,避免阻斷正常業務流量。
一個監聽關聯多個策略組時,各策略組中的存取控制條目IP不能重複。
控制台
前往CLB控制台的執行個體管理頁面,在頂部功能表列選擇目標執行個體所屬地區,單擊目標執行個體ID。
單擊監聽頁簽,找到目標監聽,在存取控制列單擊啟用或關閉。
啟用:在對話方塊選擇存取控制方式(白名單或黑名單)並選擇存取控制原則組,單擊儲存。
關閉:在確認對話方塊單擊確定。
支援在監聽詳情頁的存取控制地區開啟或關閉存取控制。
支援在建立監聽時直接開啟存取控制。
API
調用建立或修改監聽的API(如CreateLoadBalancerHTTPSListener、SetLoadBalancerHTTPSListenerAttribute等)時,通過以下參數配置存取控制:
AclStatus:是否開啟存取控制(
on|off)。AclType:存取控制類型(
white:白名單 |black:黑名單)。AclId:綁定的存取控制策略組ID。
常見問題
配了白名單,任意IP仍可訪問
原因:策略組未關聯到監聽(存取控制未開啟);或策略組中沒有添加任何IP條目(空策略組等同於全部放通)。
解決方案:進入CLB執行個體的監聽頁簽,確認目標監聽的存取控制列顯示已開啟,並確認關聯的策略組中包含IP條目。
配了黑名單,目標IP仍可訪問
原因:請求經CDN/WAF等代理轉寄到CLB,CLB看到的源IP是代理的回源IP而非用戶端真實IP,黑名單無法匹配。
解決方案:在前端的代理層(CDN或WAF)配置IP黑名單。如果存在用戶端繞過代理直接存取CLB的情況,可在CLB配置存取控制白名單僅允許回源IP段訪問。
使用七層監聽時,後端Nginx配了allow/deny不生效
原因:經過CLB七層代理後,後端伺服器收到的請求來源IP是CLB內網IP(100.64.0.0/10網段),Nginx的allow/deny基於來源IP判斷,無法匹配用戶端IP。
解決方案:
(推薦)使用CLB存取控制功能,在CLB層直接配置IP黑白名單。
在Nginx中通過X-Forwarded-For要求標頭擷取用戶端真實IP,再基於真實IP配置allow/deny規則。配置方法請參見後端伺服器通過CLB七層監聽擷取用戶端真實IP。
ECS安全性群組無法攔截經CLB轉寄的流量
原因:CLB通過100.64.0.0/10網段與後端ECS通訊,該網段流量預設不受ECS安全性群組入方向規則限制。這是預期行為。
解決方案:如需按用戶端IP限制訪問,請在CLB層配置存取控制黑白名單,在請求被CLB轉寄之前進行攔截。
CLB存取控制攔截後用戶端收到什麼響應
說明:CLB存取控制攔截請求時,直接丟棄請求,不返回任何響應。用戶端表現為連線逾時。
白名單能否防DDoS
說明:不能。CLB存取控制無法防護DDoS攻擊。DDoS攻擊的流量在到達存取控制之前已消耗執行個體頻寬資源,嚴重時會觸發黑洞。
建議:使用DDoS防護。
多層代理情境的存取控制
當CLB前存在七層代理時,CLB存取控制只能看到上一跳代理的回源IP,無法識別用戶端真實IP,需在正確的層級配置存取控制。以CNAME接入WAF的情境為例(用戶端 → CDN → WAF → CLB → ECS),各層的源IP和存取控制建議如下。
雲產品接入(透明接入)模式下,系統自動調整底層網路路由,將CLB監聽連接埠的流量引導至WAF進行安全檢測,WAF攔截惡意請求後將正常流量轉寄回源CLB執行個體。該模式不存在獨立的WAF回源IP段,CLB存取控制無需為WAF做額外配置。
層級 | 看到的源IP | 存取控制建議 |
WAF |
| 推薦在此層做IP黑白名單。WAF正確配置後可基於用戶端真實IP進行攔截,同時支援地區封鎖功能。 |
CLB | WAF的回源IP。 | 在CLB配置白名單,僅允許WAF回源IP段訪問,防止攻擊者繞過WAF直接存取CLB公網IP。WAF回源IP段可在WAF控制台的接入管理頁面查看。 |
後端ECS | CLB內網IP(100.64.0.0/10網段)。 | 需確保ECS主機內部防火牆(如iptables、firewalld)未攔截100.64.0.0/10網段,否則健全狀態檢查和請求轉寄會失敗。 |
計費
存取控制功能本身不產生額外費用。CLB執行個體的計費規則請參見CLB計費概述。
配額
以下配額支援在配額中心申請提升。
限制項 | 配額名稱 | 預設上限 | 申請提升 |
一個阿里雲帳號可配置的存取控制策略組數 | slb_quota_acls_num | 200 | |
每個存取控制策略組可添加的條目數 | slb_quota_acl_entries_num | 300 | |
一個存取控制策略組可關聯的監聽數 | slb_quota_acl_attached_num | 50 |
以下為固定限制,不支援提升。
限制項 | 上限 |
一個監聽可綁定的存取控制策略組數 | 3 |
一個監聽關聯的所有策略組中,存取控制條目IP總數 | 1000 |