網站接入Web Application Firewall(Web Application Firewall,簡稱WAF)後,您可以為其開啟Alibaba Antifraud Service功能。Alibaba Antifraud Service協助防禦網站關鍵業務(例如註冊、登入、活動、論壇)中可能發生的機器爬蟲欺詐行為。本文介紹如何設定Alibaba Antifraud Service的防護策略。
背景資訊
Alibaba Antifraud Service基於阿里雲的巨量資料能力,通過風險決策引擎,結合人機識別技術,防止各類情境的關鍵業務欺詐行為。您只需將業務接入WAF即可使用Alibaba Antifraud Service功能,且無需在伺服器或用戶端進行任何改造。
Alibaba Antifraud Service支援防護的情境包括但不限於以下內容:垃圾註冊、簡訊驗證碼濫刷、撞庫、暴力破解、惡意搶購、秒殺、薅羊毛、搶紅包、機器人搶票、刷票、惡意投票、垃圾訊息。
下圖描述了Alibaba Antifraud Service的工作流程。關於接入Alibaba Antifraud Service的應用情境樣本和實際效果,請參見Alibaba Antifraud Service應用樣本。
相容性說明
Alibaba Antifraud Service僅適用於網頁或H5環境。在某些情況下,可能存在頁面中插入的用於安全防護的JS外掛程式與原頁面不相容的問題,導致Alibaba Antifraud Service的滑塊驗證功能出現異常。目前,常見的存在不相容問題的頁麵包括:
訪問者可以直接通過URL地址訪問的靜態頁面,例如各種通過HTML直接展示資料的詳情頁、分享頁、網站首頁、文檔頁等,頁面跳轉方式為直接修改
location.href
和使用window.open
、<a>
標籤的頁面。業務代碼重寫頁面的請求發送方法或自訂請求提交,例如重寫表單提交、重寫XHR、自訂ajax提交等情況。
業務代碼中存在hook相關請求提交的內容。
如果您的業務中可能存在不相容問題,建議您在接入Alibaba Antifraud Service功能初期,選用預警模式並結合Web Application Firewall的即時日誌分析服務進行相容性和效果測試。更多資訊,請參見Log Service概述。
關於原生App業務的防護,建議您使用App增強防護SDK方案。更多資訊,請參見設定App防護。
前提條件
已開通Web Application Firewall執行個體,且執行個體滿足以下要求:
執行個體地區是中國內地。
執行個體開啟了Bot管理模組。
已完成網站接入。具體操作,請參見使用教程。
WAF已上線防爬情境化配置功能,支援您基於實際業務情境對防爬規則進行定製,從而更有針對性地對業務進行爬蟲風險防護。如果您有網站防爬的需求,建議您直接使用防爬情境化配置功能。配置防爬情境化規則後,無需再設定Alibaba Antifraud Service規則,即可實現網頁防爬的效果。此外,Alibaba Antifraud Service功能已不再維護和更新,為您帶來的不便,敬請諒解。
操作步驟
登入Web Application Firewall控制台,在頂部功能表列,選擇WAF執行個體的資源群組和地區(中國內地、非中國內地)。
在左側導覽列,選擇 。
在網站防護頁面上方,切換到要設定的網域名稱。
單擊Bot管理頁簽,定位到Alibaba Antifraud Service地區,完成以下功能配置並單擊前去配置。
參數
說明
狀態
開啟或關閉Alibaba Antifraud Service。開啟Alibaba Antifraud Service後,Web Application Firewall預設將在網站所有(或指定的)頁面中插入JS外掛程式用於安全防護,頁面響應內容將以非GZIP壓縮方式進行傳輸。即使您的網站配置使用非標連接埠訪問,也無需添加額外配置。
說明您必須先開啟Alibaba Antifraud Service,才能調整防護模式和設定防護規則。
Alibaba Antifraud Service開啟後,所有網站請求預設都會經過Alibaba Antifraud Service規則的檢測。您可以通過設定Bot管理白名單,讓滿足條件的請求忽略Alibaba Antifraud Service規則的檢測。更多資訊,請參見設定Bot管理白名單。
模式
Alibaba Antifraud Service的防護模式。可選值:
強攔截:識別到業務攻擊時,網站將被重新導向至驗證頁面進行嚴格的二次驗證。
攔截:識別到業務攻擊時,網站將被重新導向至驗證頁面進行二次驗證。
警示:識別到業務攻擊時,只記錄風險日誌、不進行攔截,可通過業務風控報表查看詳細風險情況。
說明預設使用預警模式,Alibaba Antifraud Service不會對任何請求進行攔截,但依然會在靜態頁面中插入JS指令碼分析用戶端行為。
添加Alibaba Antifraud Service防護規則。
在Alibaba Antifraud Service頁面,單擊防護請求頁簽,並單擊新增防護請求。
在新增防護請求對話方塊,輸入防護請求URL。更多資訊,請參見什麼是防護請求URL。
單擊確定。
防護請求添加成功後,10分鐘左右生效。您可以在防護請求列表中查看新增的防護請求,並根據需要編輯或刪除防護請求。
可選:指定JS插入頁面。
由於部分頁面前端代碼與Alibaba Antifraud Service的JavaScript指令碼可能存在相容性問題。如果遇到此類問題,建議您通過指定頁面插入JS功能僅添加部分頁面進行安全防護。
說明僅在部分頁面插入JS外掛程式時,Alibaba Antifraud Service將可能無法擷取完整的使用者訪問行為,並對最終的防護效果產生影響。
在Alibaba Antifraud Service頁面,單擊JS插入頁面頁簽。
選中指定頁面插入JS,並單擊添加頁面。
說明最多支援添加20個頁面地址。
在添加URL對話方塊,輸入要插入JS的頁面的地址(必須以“/”開頭),並單擊確定。
成功添加URL後,Alibaba Antifraud Service將僅在您所添加的URL路徑下的頁面中插入JS外掛程式。
開啟Alibaba Antifraud Service後,您可以使用Web Application Firewall的Log Service功能查看防護結果。相關操作,請參見查看防護結果。
什麼是防護請求URL
防護請求URL是執行業務動作的介面地址,而不是頁面本身的URL地址。例如,註冊頁面本身的URL地址為www.aliyundoc.com/new_user
,擷取驗證碼按鈕對應的業務介面地址是www.aliyundoc.com/getsmscode
,註冊按鈕對應的業務介面地址是www.aliyundoc.com/register.do
。
這種情況下,您應該為擷取驗證碼按鈕的介面地址www.aliyundoc.com/getsmscode
和註冊按鈕對應的介面地址www.aliyundoc.com/register.do
分別添加防護請求,並設定為防護請求URL,防止驗證碼的簡訊介面被刷和垃圾註冊風險。如果將註冊頁面地址www.aliyundoc.com/new_user
設定為防護請求URL,當正常使用者訪問該頁面時也將收到滑塊驗證提示,影響使用者體驗。
設定防護請求URL時,請注意以下資訊:
防護請求URL必須精確到實際請求URL,不支援模糊比對。
例如,將
www.aliyundoc.com/test
設定為防護請求URL,則Alibaba Antifraud Service只匹配test路徑的訪問請求,不會匹配test路徑下所有頁面的訪問請求。Alibaba Antifraud Service支援對網頁目錄進行防護。
例如,您將防護請求URL設定為
www.aliyundoc.com/book/*
,即可對www.aliyundoc.com/book
路徑下所有頁面的請求實現Alibaba Antifraud Service防護。但是,不建議您為全站配置防護。假如設定www.aliyundoc.com/*
為防護請求URL,將導致使用者訪問網站首頁時也需要通過滑塊驗證,影響使用者體驗。直接請求Alibaba Antifraud Service已防護的URL一定會觸發滑塊驗證。因此,請確保所配置的防護請求URL在正常情況下不會被使用者直接請求,即正常使用者通常需要經過一系列的前置訪問後才會請求該URL地址。
直接調用API介面的情境不適合使用Alibaba Antifraud Service進行防護。由於API調用是直接發起的機器行為,無法通過Alibaba Antifraud Service的人機識別驗證。但是,對於正常使用者單擊頁面中的某按鈕調用API介面的情況,可以通過Alibaba Antifraud Service功能進行防護。
查看防護結果
您可以使用Web Application Firewall的Log Service功能來排查Alibaba Antifraud Service的監控和攔截情況。
為網域名稱開啟日誌採集後,您可以在日誌查詢頁簽,通過進階搜尋功能下的Alibaba Antifraud Service篩選項,快速查詢Alibaba Antifraud Service的監控和攔截情況。具體操作,請參見查詢和分析日誌。
Alibaba Antifraud Service應用樣本
阿里雲使用者小丁在互連網上搭建網站業務,網站網域名稱是www.aliyundoc.com
,普通使用者可以通過www.aliyundoc.com/register.html
註冊成為網站會員。近來,小丁發現存在駭客通過一些惡意指令碼頻繁提交註冊請求,並註冊大量垃圾賬戶來參與網站的抽獎活動。所提交的請求與正常使用者請求相似性很高,且請求頻率不高,傳統的CC攻擊防護功能難以分辨出這些惡意請求。
配置樣本
小丁將網站業務接入Web Application Firewall並為www.aliyundoc.com
網域名稱開啟Alibaba Antifraud Service功能。小丁當前最關心的註冊業務的請求URL是www.aliyundoc.com/register.html
,因此將該URL設定為防護請求URL。
防護效果
防護配置生效後,Alibaba Antifraud Service通過在所有頁面中插入的JS外掛程式,觀察並分析每一個訪問www.aliyundoc.com
網站網域名稱(包括首頁及其子路徑)的使用者的各種行為,判斷是否存在異常。同時,結合阿里雲的巨量資料信譽庫判斷訪問源IP是否存在風險。
當使用者向www.aliyundoc.com/register.html
地址提交註冊請求時,Web Application Firewall將基於該使用者自開始訪問該網站,到提交註冊請求間的所有行為和環境征來判斷使用者是否可疑。例如,如果使用者沒有任何前置操作直接提交註冊請求,則可基本判斷該請求為可疑請求。具體說明如下:
如果基於之前的行為,Alibaba Antifraud Service判斷該請求來自正常使用者,則該使用者在註冊過程中將無任何感知。
當Alibaba Antifraud Service判斷該請求為可疑請求,或者該訪問源IP曾有不良記錄,將通過滑塊驗證的方式驗證使用者身份。只有通過驗證的使用者,才能繼續進行註冊。
如果通過滑塊驗證方式可疑(例如,使用指令碼模模擬人滑動過程等),Alibaba Antifraud Service將繼續通過其他方式再次進行驗證,直到驗證通過且通過方式可信。如果無法通過驗證,Alibaba Antifraud Service將阻斷該請求。
整個過程中,由於Alibaba Antifraud Service是針對整個網站網域名稱(www.aliyundoc.com
)開啟的,Alibaba Antifraud Service需要對該網域名稱下的所有頁面插入JS外掛程式來判斷使用者行為是否可信。而真正的防護和驗證,僅針對www.aliyundoc.com/register.html
註冊介面URL生效,只有在提交註冊請求時Alibaba Antifraud Service才會對請求進行幹涉。