全部產品
Search
文件中心

Edge Security Acceleration:配置IP黑白名單

更新時間:Dec 27, 2024

通過配置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地址資訊:

  • 使用者請求中x-forwarded-for要求標頭攜帶的左邊第一個IP,即用戶端真實IP。

  • 用戶端與DCDN節點之間建連使用的IP。

操作步驟

  1. 登入DCDN控制台

  2. 在左側導覽列,單擊域名管理

  3. 域名管理頁面,單擊目標網域名稱對應的配置

  4. 在指定網域名稱的左側導覽列,單擊访问控制

  5. 單擊右側的IP黑/白名单頁簽。

  6. IP黑/白名单頁簽下,單擊修改配置,然後在規則頁面配置IP的黑名单白名单

    配置IP黑白名單

    參數

    說明

    名单类型

    IP名單類型如下:

    • 黑名单

      黑名單內的IP無法訪問加速網域名稱下的所有資源。

    • 白名单

      只有白名單內的IP能訪問加速網域名稱下的資源,白名單以外的IP均無法訪問。

    规则

    規則格式要求

    1. 支援輸入IP地址或者IP位址區段。

    2. 輸入多個IP地址或者IP位址區段時,使用分行符號分隔。

    3. 支援IPv4類型的地址或者位址區段:

      1. IPv4地址樣本:192.168.0.1

      2. IPv4位址區段樣本:192.168.0.0/24

      3. 不支援輸入通配網路地址0.0.0.0/0,如果需要表示全量IPv4地址,可以用以下兩個子網來表示:

        1. 0.0.0.0/1

        2. 128.0.0.0/1

    4. 支援IPv6類型的地址或者位址區段:

      1. IPv6地址樣本:FC00:AA3:0:23:3:300:300A:1234

      2. IPv6位址區段樣本:FC00:0AA3:0000:0000:0000:0000:0000:0000/48

      3. 地址中的英文字母不區分大小寫,即支援全大寫、全小寫或者大小寫混合,例如:FC00:AA3:0:23:3:300:300A:1234fc00:0aa3:0000:0023:0003:0300:300a:1234

      4. 不支援: :縮寫格式,例如:不支援FC00:0AA3::0023:0003:0300:300A:1234

      5. 不支援輸入通配網路地址0000:0000:0000:0000:0000:0000:0000:0000/0,如果需要表示全量IPv6地址,可以用以下兩個子網來表示:

        1. 0000:0000:0000:0000:0000:0000:0000:0000/1

        2. 8000:0000:0000:0000:0000:0000:0000:0000/1

    規則長度限制

    規則輸入框最大支援輸入30 KB長度的字元,考慮到IP地址或者IP位址區段的字串長度有長有短,如果按平均長度來算,最多可配置大約700個IPv6地址/位址區段或者2000個IPv4地址/位址區段。如果您有更多的IP地址封鎖需求,請開通DCDN安全防護功能(支援海量IP封鎖服務),具體操作方法,請參見開通DCDN服務配置地區封鎖

    IP規則

    支援選擇以下三種規則:

    1. 使用使用者的x-forwarded-for要求標頭作為判斷依據

    2. 使用真實建連IP作為判斷依據

    3. 同時使用x-forwarded-for和真實建連IP作為判斷依據

    如果x-forwarded-for要求標頭沒有攜帶IP的話,將使用建聯IP

  7. 單擊確定,完成配置。

配置樣本

  • 白名單

    規則:192.168.2.0/24

    結果:只有用戶端IP在192.168.2.1~192.168.2.254位址範圍(包含192.168.2.1192.168.2.254)時,才能訪問該加速網域名稱下的資源。

  • 黑名單

    規則:192.168.0.1

    結果:當用戶端IP為192.168.0.1時,禁止訪問該加速網域名稱下的所有資源。

常見問題

相關API

BatchSetDcdnDomainConfigs - 大量設定網域名稱:調用BatchSetDcdnDomainConfigs進行批量網域名稱配置,通過設定ip_black_list_setip_allow_list_set分別指定IP黑名單和IP白名單。