通過配置IP黑白名單過濾使用者請求,攔截或允許特定IP的訪問,可以有效限制訪問來源,解決惡意IP盜刷、攻擊等問題。
注意事項
該功能預設關閉,IP黑名單與IP白名單二選一,不可同時配置。
配置IP黑名單後,黑名單中的IP請求仍可訪問到DCDN節點,但會被DCDN節點拒絕並返回403狀態代碼,DCDN日誌中仍會記錄黑名單中這些IP的請求記錄。
由於IP黑白名單功能採用的是七層HTTP協議的IP識別技術,因此在惡意請求被DCDN節點攔截的同時,會產生少量的流量費用,如果用戶端使用HTTPS協議訪問,還會產生HTTPS請求數費用(因為攔截惡意IP的時候,也同時消耗了DCDN節點的處理資源)。
少數ISP在特定地區可能會分配私人IP地址給使用者端,導致DCDN節點接收到的是使用者的私人IP地址。
說明私人IP位址範圍有以下三個:
A類私人IP地址:10.0.0.0~10.255.255.255,子網路遮罩:10.0.0.0/8
B類私人IP地址:172.16.0.0~172.31.255.255,子網路遮罩:172.16.0.0/12
C類私人IP地址:192.168.0.0~192.168.255.255,子網路遮罩:192.168.0.0/16
IP地址校正模式
用戶端與DCDN節點建立串連時,是否經過Proxy 伺服器,會影響用戶端真實IP、用戶端與DCDN節點建連IP。假設用戶端真實IP為10.10.10.10
,Proxy 伺服器IP為192.168.0.1
。
沒有經過Proxy 伺服器:
使用者請求中x-forwarded-for要求標頭值:
10.10.10.10
。用戶端真實IP(即x-forwarded-for要求標頭攜帶的第一個IP)=用戶端與DCDN節點建連IP=
10.10.10.10
。
經過Proxy 伺服器:
使用者請求中x-forwarded-for要求標頭值:
10.10.10.10,192.168.0.1
。用戶端真實IP(即x-forwarded-for要求標頭攜帶的第一個IP)=
10.10.10.10
。用戶端與DCDN節點建連IP=Proxy 伺服器IP=
192.168.0.1
。用戶端真實IP(即x-forwarded-for要求標頭攜帶的第一個IP)≠用戶端與DCDN節點建連IP。
對於不同的IP地址校正對象,阿里雲DCDN的IP黑白名單功能支援三種IP地址校正模式。
IP地址校正模式 | 說明 |
使用使用者的x-forwarded-for要求標頭作為判斷依據 | 該模式為預設模式。該模式校正的是使用者請求中x-forwarded-for要求標頭攜帶的左邊第一個IP,這個IP對應用戶端真實IP。 如果用戶端與DCDN節點之間有經過Proxy 伺服器,那麼用戶端與DCDN節點建連使用的IP為Proxy 伺服器的IP,這種情況下使用“使用使用者的x-forwarded-for要求標頭作為判斷依據”模式進行IP黑白名單存取控制可能會存在不準確的情況。 |
使用真實建連IP作為判斷依據 | 該模式校正的是用戶端與DCDN節點之間建連使用的IP。 |
同時使用x-forwarded-for和真實建連IP作為判斷依據 | 同時校正以下兩個IP地址資訊:
|
操作步驟
登入DCDN控制台。
在左側導覽列,單擊域名管理。
在域名管理頁面,單擊目標網域名稱對應的配置。
在指定網域名稱的左側導覽列,單擊访问控制。
單擊右側的IP黑/白名单頁簽。
在IP黑/白名单頁簽下,單擊修改配置,然後在規則頁面配置IP的黑名单或白名单。
參數
說明
名单类型
IP名單類型如下:
黑名单
黑名單內的IP無法訪問加速網域名稱下的所有資源。
白名单
只有白名單內的IP能訪問加速網域名稱下的資源,白名單以外的IP均無法訪問。
规则
規則格式要求
支援輸入IP地址或者IP位址區段。
輸入多個IP地址或者IP位址區段時,使用分行符號分隔。
支援IPv4類型的地址或者位址區段:
IPv4地址樣本:
192.168.0.1
。IPv4位址區段樣本:
192.168.0.0/24
。不支援輸入通配網路地址
0.0.0.0/0
,如果需要表示全量IPv4地址,可以用以下兩個子網來表示:0.0.0.0/1
128.0.0.0/1
支援IPv6類型的地址或者位址區段:
IPv6地址樣本:
FC00:AA3:0:23:3:300:300A:1234
。IPv6位址區段樣本:
FC00:0AA3:0000:0000:0000:0000:0000:0000/48
。地址中的英文字母不區分大小寫,即支援全大寫、全小寫或者大小寫混合,例如:
FC00:AA3:0:23:3:300:300A:1234
或fc00:0aa3:0000:0023:0003:0300:300a:1234
。不支援
: :
縮寫格式,例如:不支援FC00:0AA3::0023:0003:0300:300A:1234
。不支援輸入通配網路地址
0000:0000:0000:0000:0000:0000:0000:0000/0
,如果需要表示全量IPv6地址,可以用以下兩個子網來表示:0000:0000:0000:0000:0000:0000:0000:0000/1
8000:0000:0000:0000:0000:0000:0000:0000/1
規則長度限制
規則輸入框最大支援輸入30 KB長度的字元,考慮到IP地址或者IP位址區段的字串長度有長有短,如果按平均長度來算,最多可配置大約700個IPv6地址/位址區段或者2000個IPv4地址/位址區段。如果您有更多的IP地址封鎖需求,請開通DCDN安全防護功能(支援海量IP封鎖服務),具體操作方法,請參見開通DCDN服務和配置地區封鎖。
IP規則
支援選擇以下三種規則:
使用使用者的x-forwarded-for要求標頭作為判斷依據
使用真實建連IP作為判斷依據
同時使用x-forwarded-for和真實建連IP作為判斷依據
如果x-forwarded-for要求標頭沒有攜帶IP的話,將使用建聯IP。
單擊確定,完成配置。
配置樣本
白名單
規則:
192.168.2.0/24
結果:只有用戶端IP在
192.168.2.1
~192.168.2.254
位址範圍(包含192.168.2.1
和192.168.2.254
)時,才能訪問該加速網域名稱下的資源。黑名單
規則:
192.168.0.1
結果:當用戶端IP為
192.168.0.1
時,禁止訪問該加速網域名稱下的所有資源。
常見問題
相關API
BatchSetDcdnDomainConfigs - 大量設定網域名稱:調用BatchSetDcdnDomainConfigs進行批量網域名稱配置,通過設定ip_black_list_set和ip_allow_list_set分別指定IP黑名單和IP白名單。