將網站域名接入Web應用防火墻(Web Application Firewall,簡稱WAF),能夠幫助您的網站防御OWASP TOP10常見Web攻擊和惡意CC攻擊流量,避免網站遭到入侵導致數據泄露,全面保障您網站的安全性和可用性。您可以參考本文中的接入配置和防護策略最佳實踐,在各類場景中使用WAF更好地保護您的網站。
正常網站業務接入場景
業務梳理
建議您對所需接入WAF進行防護的業務情況進行全面梳理,幫助您了解當前業務狀況和具體數據,為后續配置WAF的防護策略提供依據。
梳理項 | 說明 |
網站和業務信息 | |
網站/應用業務每天的流量峰值情況,包括Mbps、QPS | 判斷風險時間點,并且可作為WAF實例的業務帶寬和業務QPS規格的選擇依據。 |
業務的主要用戶群體(例如,訪問用戶的主要來源地區) | 判斷非法攻擊來源,后續可使用地域級IP黑名單屏蔽非法來源地區。 |
業務是否為C/S架構 | 如果是C/S架構,進一步明確是否有App客戶端、Windows客戶端、Linux客戶端、代碼回調或其他環境的客戶端。 |
源站是否部署在非中國內地地域 | 判斷所配置的實例是否符合最佳網絡架構。 |
源站服務器的操作系統(Linux、Windows)和所使用的Web服務中間件(Apache、Nginx、IIS等) | 判斷源站是否存在訪問控制策略,避免源站誤攔截WAF回源IP轉發的流量。 |
域名使用協議 | 判斷所使用的通信協議WAF是否支持。 |
業務端口 | 判斷源站業務端口是否在WAF支持的端口范圍內。更多信息,請參見WAF支持的端口。 |
業務是否有獲取并校驗真實源IP機制 | 接入WAF后,真實源IP會發生變化。請確認是否要在源站上調整獲取真實源IP配置,避免影響業務。 |
業務是否使用TLS 1.0或弱加密套件 | 判斷業務使用的加密套件是否支持。 |
業務是否需要支持IPv6協議 | WAF企業版和旗艦版實例已支持IPv6協議。 |
(針對HTTPS業務)業務是否使用雙向認證 | WAF不支持雙向認證。如果您的HTTPS業務采用雙向認證,推薦您先使用應用型負載均衡ALB(Application Load Balancer)或全站加速DCDN(Dynamic Route for Content Delivery Network)部署采用雙向認證的HTTPS業務,再從云產品上開啟WAF防護。
|
(針對HTTPS業務)客戶端是否支持SNI標準 | 對于支持HTTPS協議的域名,接入WAF后,客戶端和服務端都需要支持SNI標準。 |
(針對HTTPS業務)是否存在會話保持機制 | 如果業務部署了阿里云負載均衡SLB(Server Load Balancer)實例,建議開啟Cookie會話保持功能。 |
業務交互過程 | 了解業務交互過程、業務處理邏輯,便于后續配置針對性防護策略。 |
活躍用戶數量 | 便于后續在處理緊急攻擊事件時,判斷事件嚴重程度,以采取風險較低的應急處理措施。 |
業務及攻擊情況 | |
業務類型及業務特征(例如,游戲、棋牌、網站、App等業務) | 便于在后續攻防過程中分析攻擊特征。 |
業務流量(入方向) | 幫助后續判斷是否包含惡意流量。例如,日均訪問流量為100 Mbps,則超過100 Mbps時可能遭受攻擊。 |
業務流量(出方向) | 幫助后續判斷是否遭受攻擊,并且作為是否需要額外業務帶寬擴展的參考依據。 |
單用戶、單IP的入方向流量范圍和連接情況 | 幫助后續判斷是否可針對單個IP制定限速策略。 |
用戶群體屬性 | 例如,個人用戶、網吧用戶或通過代理訪問的用戶。 |
業務是否遭受過大流量攻擊及攻擊類型 | 判斷是否需要增加DDoS防護服務。 |
業務遭受過最大的攻擊流量峰值 | 根據攻擊流量峰值判斷需要的DDoS防護規格。 |
業務是否遭受過CC攻擊(HTTP Flood) | 通過分析歷史攻擊特征,配置預防性策略。 |
業務遭受過最大的CC攻擊峰值QPS | 通過分析歷史攻擊特征,配置預防性策略。 |
業務是否提供Web API服務 | 如果提供Web API服務,不建議使用CC攻擊緊急防護模式。通過分析API訪問特征配置自定義CC攻擊防護策略,避免API正常請求被攔截。 |
業務是否存在注冊、登錄、密碼找回、短信接口被刷的情況 | 判斷是否開啟數據風控防護策略,并提前開啟相關測試工作。 |
業務是否已完成壓力測試 | 評估源站服務器的請求處理性能,幫助后續判斷是否因遭受攻擊導致業務發生異常。 |
準備工作
在將網站業務接入WAF時,強烈建議您先使用測試業務環境進行測試,測試通過后再正式接入生產業務環境。
在將網站業務接入WAF前,您需要完成以下準備工作:
所需接入的網站域名清單,包含網站的源站服務器IP、端口信息等。
所接入的網站域名必須已完成備案。更多信息,請參見阿里云備案。
如果您的網站支持HTTPS協議訪問,您需要準備相應的證書和私鑰信息,一般包含格式為CRT的公鑰文件或格式為PEM的證書文件、格式為KEY的私鑰文件。
具有網站DNS域名解析管理員的賬號,用于修改DNS解析記錄將網站流量切換至WAF。
推薦在將網站業務接入前,完成壓力測試。
檢查網站業務是否已有信任的訪問客戶端(例如,監控系統、通過內部固定IP或IP段調用的API接口、固定的程序客戶端請求等)。在將業務接入后,需要將這些信任的客戶端IP加入白名單。
WAF配置
域名接入配置。
根據您的業務場景,參考以下接入配置指導,將您的網站域名接入WAF:
說明如果在添加域名配置時,提示您配置的域名已被其他用戶使用,建議您檢查是否已在其他阿里云賬號的WAF實例中添加與該域名沖突的配置記錄。如果確實存在,您需要刪除造成沖突的域名配置記錄后再進行配置。
源站保護配置:
源站保護:為避免惡意攻擊者繞過WAF直接攻擊或入侵源站服務器,建議您完成源站保護配置。更多信息,請參見源站保護。
標記WAF回源流量:將網站域名接入WAF進行防護后,您可以為網站域名設置流量標記(相關操作,請參見設置流量標記)。通過設置流量標記的方式,方便地標識經過WAF轉發的流量,從而實現精準的源站保護(訪問控制)、防護效果分析,有效防止流量繞過WAF請求源站。
說明如果您接入WAF的網站域名的業務源站使用的是Windows IIS Web服務,在配置HTTPS域名時,IIS默認會啟用需要服務器名稱指示(即SNI)。這種情況下,在將域名接入WAF后可能會出現訪問空白頁502的錯誤信息,您只需禁用該配置選項即可解決該問題。
防護策略配置。
參考以下推薦防護配置對已接入的網站業務進行防護:
規則防護引擎
一般情況下,建議選用攔截模式,并選用中等規則組防護策略。
說明業務接入WAF防護一段時間后(一般為2~3天),如果出現網站業務的正常請求被WAF誤攔截的情況,您可以通過設置自定義規則組的方式提升Web防護效果。相關操作,請參見使用自定義規則組提升Web攻擊防護效果。
CC安全防護
業務正常運行時,建議采用系統默認配置。
說明由于CC防護的防護-緊急模式可能產生一定量的誤攔截,如果您的業務為App業務或Web API服務,不建議您開啟防護-緊急模式。如果使用CC安全防護的正常模式仍發現誤攔截現象,建議您使用精準訪問控制功能放行特定類型請求。
說明業務接入WAF防護一段時間后(一般為2-3天),可以通過分析業務日志數據(例如,訪問URL、單個IP訪問QPS情況等)評估單個IP的請求QPS峰值,提前通過自定義CC攻擊防護配置限速策略,避免遭受攻擊后的被動響應和臨時策略配置。
當您的網站遭受大量CC攻擊時,建議您開通日志服務功能。通過訪問日志分析,發現惡意訪問請求的特征,然后結合以下WAF的安全防護功能進行聯合防御:
自定義CC攻擊防護:針對URL設置靈活的限速策略,有效緩解CC攻擊(HTTP Flood)帶來的業務影響。
說明自定義CC攻擊防護的限速策略可能產生誤攔截,建議您通過深度日志分析找出攻擊特征,配置精準訪問控制策略實現精準攔截。
自定義ACL訪問控制:當攻擊源IP比較分散時,可以通過分析訪問日志,使用精準訪問控制提供的豐富字段和邏輯條件組合,靈活配置訪問控制策略實現精準防護,有效降低誤攔截。
支持IP、URL、Referer、User Agent、Params、Header等HTTP常見參數和字段的條件組合。
支持包含、不包含、等于、不等于、前綴為、前綴不為等邏輯條件,設置阻斷或放行策略。
地域級IP黑名單:針對全球來源IP地理位置進行自定義地域訪問控制。您可以根據業務的用戶分布情況,屏蔽不需要的訪問來源地區。
數據風控:通過風險決策引擎和人機識別算法,有效識別和攔截欺詐行為。
說明數據風控功能目前僅適用于網頁/H5環境。
一般來說,功能性頁面遭惡意被刷的風險較低,可不配置數據風控策略。而對于注冊、登錄、密碼找回、營銷活動類等靜態頁面,建議您根據防護需求配置數據風控,有效識別和攔截欺詐行為。
配置完成后,務必進行兼容性和業務可用性測試,避免數據風控策略配置對正常業務造成影響。
說明部分頁面前端代碼與數據風控的JavaScript腳本可能存在兼容性問題。如果遇到此類問題,建議您使用指定頁面插入JS功能,并在測試通過后開啟防護,避免影響正常業務。如果您仍然無法解決,可以聯系阿里云技術支持獲得幫助。
日志功能
根據您的業務和預算情況,選擇啟用日志服務功能。開通日志服務功能,可記錄更多詳細的原始日志信息,同時實現更靈活的訪問日志自定義分析,發現惡意請求特征。更多信息,請參見概述。
監控告警
根據您的業務情況,為網站業務設置具體的QPS、4XX、5XX告警觸發閾值。通過配置WAF告警監控功能,實時感知攻擊事件。更多信息,請參見配置云監控通知。
本地測試。
完成上述WAF配置后,建議您進行配置準確性檢查和驗證測試。
說明您可以通過修改本地系統Hosts文件方式進行測試。相關操作,請參見本地驗證。
表 1. 配置準確性檢查項
編號
檢查項
是否必檢
1
接入配置域名是否填寫正確
是
2
域名是否備案
是
3
接入配置協議是否與實際協議一致
是
4
接入配置端口是否與實際提供的服務端口一致
是
5
WAF前是否有配置其他七層代理(例如,DDoS高防、CDN等)
是
6
源站填寫的IP是否是真實服務器IP,而不是錯誤地填寫了高防IP或其他服務IP
是
7
回源算法是否與預期一致
否,建議檢查
8
證書信息是否正確上傳
是
9
證書是否合法(例如,加密算法不合規、錯誤上傳其他域名的證書等)
是
10
證書鏈是否完整
是
11
是否配置流量標記
否,建議檢查
12
告警監控配置
否,建議檢查
13
是否已了解按量計費實例的計費方式
說明僅適用于按量計費WAF實例。
是
表 2. 業務可用性驗證項
編號
檢查項
是否必檢
1
測試業務(包括Web、App客戶端、Windows客戶端、Linux客戶端、其他環境的客戶端)是否能夠正常訪問
是
2
測試業務登錄會話保持功能是否正常
是
3
觀察業務返回4XX和5XX響應碼的次數,確保回源IP未被攔截
是
4
對于App業務,檢查是否存在SNI問題
是
5
是否配置后端真實服務器獲取真實源IP
否,建議檢查
6
是否配置源站保護,防止攻擊者繞過WAF直接入侵源站
否,建議檢查
正式切換業務流量。
必要測試項均檢測通過后,建議采用灰度的方式逐個域名修改DNS解析記錄,將網站業務流量切換至Web應用防火墻,避免批量操作導致業務異常。修改DNS解析記錄后,需要10分鐘左右生效。如果切換流量過程中出現異常,請快速恢復DNS解析記錄。
真實業務流量切換后,您需要再次根據上述業務可用性驗證項進行測試,確保網站業務正常運行。
日常運維。
您可以參考以下最佳實踐根據所需防護的具體場景,進一步配置具有針對性的防護策略:
如果您使用的是按量計費WAF實例,請仔細閱讀WAF按量計費實例計費方式(具體內容,請參見計費說明),避免出現實際產生的費用超出預算的情況。
為避免WAF實例遭受大量DDoS攻擊觸發黑洞策略,導致網站業務無法訪問的情況,建議您根據實際情況選擇DDoS原生防護或DDoS高防產品,防御DDoS攻擊。更多信息,請參見什么是DDoS原生防護、什么是DDoS高防。
如果出現業務訪問延時或丟包的問題,參考以下建議變更部署方式:
針對源站服務器在地區非中國內地、WAF實例為中國內地地區、主要訪問用戶來自中國內地的情況,如果用戶訪問網站時存在延時高、丟包等現象,可能是由于回源網絡鏈路問題,推薦您將源站服務器部署在中國內地。
針對源站服務器在非中國內地、WAF實例為非中國內地、主要訪問用戶來自中國內地的情況,如果用戶訪問網站時存在延時高、丟包等現象,可能存在跨網絡運營商導致的訪問鏈路不穩定,推薦您使用中國內地的WAF實例。
如果需要刪除已防護的域名配置記錄,確認網站業務是否已正式接入WAF。
如果尚未正式切換業務流量,直接在Web應用防火墻管理控制臺中刪除域名配置記錄即可。
如果已完成業務流量切換,刪除域名配置前務必前往域名DNS解析服務控制臺,修改域名解析記錄將業務流量切換回源站服務器。
說明刪除域名配置前,請務必確認域名的DNS解析已經切換至源站服務器。
刪除域名配置后,WAF將無法再為您的域名提供專業級安全防護。
業務遭受攻擊時的緊急接入場景
如果您的網站業務已經遭受攻擊,建議您在將業務接入WAF前執行以下操作:
遭受Web攻擊入侵
為避免二次入侵,務必先清理入侵者植入的惡意文件并修復漏洞。
說明如果您需要專業的安全運維人員幫助,請選購應急響應服務。
已對業務系統進行安全加固。
將網站業務接入WAF。
說明根據實際情況將Web攻擊防護策略調至高級規則,有效防御Web攻擊行為導致的入侵事件。
遭受CC攻擊或爬蟲攻擊
在將網站業務接入WAF后,需要通過日志功能分析網站訪問日志,判斷攻擊特征后進行針對性的防護策略配置。