通過添加自訂令牌JWT(JSON Web Token)並綁定待驗證的API即可建立API令牌合規驗證規則,ESA將針對傳入的請求進行令牌合規驗證並進行處理,保障您的業務API安全。
配置API令牌規則
在ESA控制台,選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
在API安全頁面,選擇API規則頁簽,單擊令牌配置。

在設定頁面,單擊添加,添加令牌資訊。

按業務需求完成令牌參數填寫後,單擊確定即可。
配置名稱:輸入您自訂的令牌名稱,如
JWT-Demo。令牌位置:選擇令牌在請求中的位置,可選擇標題和Cookie兩種欄位,並輸入對應的索引值。
說明為適配不同業務中JWT的所在位置,通過單擊Or可以建立邏輯
或條件,可同時判斷最多4個令牌位置。令牌密鑰:通過手動輸入或上傳JSON檔案來添加令牌密鑰,密鑰要求可參考令牌說明。
說明若配置多個密鑰,則會根據
kid欄位選取密鑰進行校正,若有一份密鑰校正通過則通過。

完成令牌配置後即可進行API規則建立。返回API規則頁簽,單擊新增規則按鈕。

根據業務需求進行令牌校正相關參數配置即可。
規則名稱:自訂規則名稱,如
rule-jwt-demo。驗證API:單擊下拉選擇需要進行令牌合規校正的主機記錄,選擇後ESA將自動為您展示所選主機記錄下的API列表,檢查並勾選所需的API即可。
選擇令牌配置:勾選一個或多個需要校正的令牌。當勾選多個令牌時可選擇:
至少校正一個配置:請求需要符合多個令牌配置中的一個即可,否則將被判定為不合規請求。
驗證所有配置:請求需要同時符合所有令牌配置,否則將被判定為不合規請求。
說明當API請求中缺少令牌時,預設會將請求標記為不合規,若有特殊需要可在對應令牌右側的缺少令牌時列下拉選擇忽略。
執行操作:選擇對不符合令牌校正的請求的操作:

防護效果
完成API規則建立後,您可以在左側導覽列選擇,在事件分析頁面通過篩選器選擇防護規則為API規則,下滑即可在採樣日誌欄中查看詳細的防護日誌。
令牌說明
當前令牌校正僅用於JWT驗證。
欄位說明
公開金鑰格式僅支援JWK,且JWT公開金鑰必須含有kid和alg欄位。欄位含義可參考:
kty:密鑰類型,如EC-橢圓曲線密鑰。use:公開金鑰用途,如sig- 用於數位簽章。crv:橢圓曲線類型,如P-256- NIST標準化的P-256橢圓曲線kid:自訂的金鑰識別元,如esa。JWK必須帶有kid欄位,用於密鑰的選擇;同樣的,請求的JWT的聲明中也必須帶有kid欄位。使用該欄位可用於令牌密鑰的輪換。x:使用橢圓曲線密鑰時,橢圓曲線公開金鑰的x座標。y:使用橢圓曲線密鑰時,橢圓曲線公開金鑰的y座標。alg:演算法標識,當前支援:ES256- ECDSA with SHA-256簽名演算法。
樣本
{
"kty": "EC",
"use": "sig",
"crv": "P-256",
"kid": "esa",
"x": "QG3VFVwUX4IatQvBy7sqBvvmticCZ-eX5-nbtGKBOfI",
"y": "A3PXCshn7XcG7Ivvd2K_DerW4LHAlIVKdqhrUnczTD0",
"alg": "ES256"
}