什么是 DoS 攻擊?拒絕服務攻擊(DoS 攻擊)或分布式拒絕服務攻擊(DDoS 攻擊)使目標用戶無法使用受害者的資源,或阻礙目標用戶與受害站點之間的通信媒體,以便他們可以不再充分溝通。DoS 攻擊的實施者通常以網站或服務為目標,例如銀行、信用卡支付網關和電子商務網站。
Application Security Manager? (ASM) 有助于保護 Web 應用程序免受針對用于為應用程序提供服務的資源的 DoS 攻擊:Web 服務器、Web 框架和應用程序邏輯。Advanced Firewall Manager? (AFM) 有助于防止網絡、SIP 和 DNS DoS 和 DDoS 攻擊。
HTTP-GET 攻擊和頁面泛洪攻擊是應用 DoS 攻擊的典型例子。這些攻擊是從單個用戶(單個 IP 地址)或從數千臺計算機(分布式 DoS 攻擊)發起的,這會使目標系統不堪重負。在頁面泛洪攻擊中,攻擊者會下載頁面上的所有資源(圖像、腳本等),而 HTTP-GET 泛洪會重復請求特定的 URL,而不管它們在應用程序中的位置。
關于識別 DoS 攻擊
Application Security Manager? 根據客戶端(基于 TPS)的交易率或服務器端(基于壓力)的延遲計算確定流量是 DoS 攻擊。您可以指定希望系統使用的閾值,或者讓系統根據檢查流量模式自動檢測合理的閾值。
您還可以讓系統主動識別和防止網絡機器人的自動攻擊。此外,該系統還可以保護 Web 應用程序免受針對重 URL 的 DoS 攻擊。重 URL 保護意味著在 DoS 攻擊期間,系統會保護可能對服務器造成壓力的重 URL。
您可以在事件日志和 DoS 報告中查看系統檢測并記錄的 DoS 攻擊的詳細信息。您還可以在創建日志記錄配置文件時為 DoS 攻擊配置遠程日志記錄支持。
何時使用不同的 DoS 保護
Application Security Manager? 提供了幾種不同類型的 DoS 保護,您可以設置這些保護來保護應用程序。此表描述了何時使用不同的保護最有利。您可以使用任何保護組合。
DoS 保護 | 何時使用 |
---|---|
主動機器人防御 | 在破壞系統之前阻止 DoS 攻擊。提供強大的保護并在非人為流量到達 ASM 之前阻止它。 |
機器人簽名 | 允許來自合法(良性)機器人的請求,并指示系統如何處理惡意機器人(您可以忽略、記錄或阻止它們)。記錄惡意機器人使它們在報告中可見。 |
基于 TPS 的檢測 | 將保護重點放在客戶端以立即檢測攻擊,主要是通過查看每秒請求閾值。 |
基于壓力的檢測 | 將保護重點放在發生服務器減速時檢測到攻擊的服務器端。此保護基于延遲和每秒請求閾值提供更準確的 DoS 檢測。 |
行為檢測 | 使用流量的行為分析和機器學習來自動發現和緩解 DoS 攻擊。 |
重度 URL 保護 | 如果應用程序用戶可以查詢數據庫或提交可能會減慢系統速度的復雜查詢。 |
驗證碼挑戰 | 通過向可疑用戶提出字符識別挑戰來阻止非人類攻擊者。 |
關于主動機器人防御
Application Security Manager? (ASM) 可以主動保護您的應用程序免受網絡機器人(簡稱機器人)的自動攻擊。這種防御方法稱為主動僵尸防御,可以防止啟動第 7 層 DoS 攻擊、網絡抓取和暴力攻擊。通過阻止機器人訪問網站,主動機器人防御也可以防止這些攻擊。
與其他 DoS 保護一起使用,主動機器人防御有助于在攻擊對站點造成損害之前識別和緩解攻擊。此功能檢查大多數流量,但比傳統的網絡抓取和蠻力保護需要更少的資源。除了 ASM 安全策略中提供的 Web 抓取和蠻力保護之外,您還可以使用主動機器人防御。主動機器人防御通過 DoS 配置文件強制執行,不需要安全策略。
當客戶端第一次訪問受保護的網站時,系統會向瀏覽器發送 JavaScript 質詢。因此,如果您打算使用此功能,請務必讓客戶端使用允許 JavaScript 的瀏覽器。
如果客戶端成功評估挑戰并使用有效的 cookie 重新發送請求,則系統允許客戶端訪問服務器。不回答質詢的請求仍然沒有回答,也不會發送到服務器。發送到沒有 cookie 的非 HTML URL 的請求將被丟棄并被視為機器人。
您可以配置 URL 列表以認為安全,以便系統不需要驗證它們。這加快了訪問網站的時間。如果您的應用程序訪問許多跨域資源并且您擁有這些域的列表,您可能需要選擇一個選項來驗證對這些域的跨域請求。
主動機器人防御和 CORS
跨域資源共享 (CORS)是網站可以允許來自其他來源的資源訪問您的站點(即域 + 協議 + 端口)的一種方式,例如在使用 AJAX、@font-face 和其他一些情況時. Proactive Bot Defense 甚至可以阻止合法用戶的 CORS 請求。CORS 請求被阻止是因為瀏覽器在允許跨域請求時通常不包含所需的 cookie,以防止攻擊者試圖訪問實時會話和來自其他域的敏感數據。
因此,如果您啟用主動機器人防御并且您的網站使用 CORS,我們建議您將 CORS URL 添加到主動機器人 URL 白名單。這些 URL 不會主動防御機器人,但不會被阻止,并且仍會受到其他啟用的 DoS 檢測和緩解措施的保護。
一種常見的跨域請求類型是當 HTML 頁面引用來自其他域的資源時,例如嵌入式圖像、樣式表 (CSS) 和 JavaScript。Proactive Bot Defense 支持這種類型的跨域請求,您可以在跨域請求設置中配置允許資源的特定域。
關于配置基于 TPS 的 DoS 保護
設置 DoS 保護時,您可以配置系統以防止基于事務速率的 DoS 攻擊(基于 TPS 的異常檢測)。如果您使用基于 TPS 的異常保護,系統會使用以下計算檢測來自客戶端的 DoS 攻擊:
- 交易率檢測區間
- 每 10 秒更新一次的每秒最近請求的短期平均值(針對特定 URL 或來自 IP 地址)。
- 交易率歷史間隔
- 過去一小時計算的每秒請求數(針對特定 URL 或來自 IP 地址)的長期平均值,每 10 秒更新一次。
如果交易率檢測區間與歷史區間內的交易率的比值大于TPS中設置的增加百分比,則系統認為該網站受到攻擊,或URL、IP地址或地理位置懷疑。此外,如果事務率檢測間隔大于TPS 達到設置(無論歷史間隔如何),那么相應的 URL、IP 地址或地理位置也是可疑的,或者該站點正在受到攻擊。
請注意,基于 TPS 的保護可能會檢測到 DoS 攻擊,這僅僅是因為許多用戶試圖同時訪問服務器,例如在繁忙時間或新產品推出時。在這種情況下,攻擊可能是誤報,因為用戶是合法的。但基于 TPS 的 DoS 保護的優勢在于,可以比使用基于壓力的保護更早地檢測到攻擊。因此,在設置 DoS 保護時了解系統上的典型最大峰值負載并使用最適合您的應用程序的方法非常重要。
關于配置基于壓力的 DoS 保護
在設置 DoS 保護時,可以配置系統以防止基于服務器端的 DoS 攻擊(基于壓力的檢測)。在基于壓力的檢測中,需要延遲增加和至少一個可疑的 IP 地址、URL、重 URL、站點范圍的條目或地理位置才能將活動視為攻擊。
基于壓力的 DoS 保護還包括行為 DoS。啟用后,系統會檢查流量行為以自動檢測 DoS 攻擊。行為 DoS 審查違規流量,并以最少的用戶干預緩解攻擊。
與基于 TPS 的保護相比,基于壓力的保護更不容易出現誤報,因為在 DoS 攻擊中,服務器正在達到容量極限并且服務/響應時間很慢:這會影響所有用戶。增加的延遲可用作檢測 L7 攻擊的觸發步驟。在檢測到延遲顯著增加后,確定您是否需要采取進一步措施非常重要。在檢查每秒請求的增加并將這些數字與過去的活動進行比較后,您可以識別出可疑的延遲增加與正常延遲增加。
關于行為 DoS 保護
行為 DoS (BADoS)通過使用機器學習和數據分析分析流量行為來提供針對 DDoS 攻擊的自動保護。與其他 BIG-IP???DoS 保護一起使用,行為 DoS 檢查數據中心中客戶端和應用程序服務器之間的流量,并自動為第 7 層 (HTTP) 和第 3 層和第 4 層建立基線流量/流量配置文件。
例如,在來自僵尸網絡的 DDoS 攻擊的情況下,每個請求可能是完全合法的,但同時許多請求可能會減慢或崩潰服務器。行為 DoS 可以通過減慢流量來減輕攻擊,但前提是保持服務器處于良好狀態。
行為 DoS 通過客戶反饋循環持續監控服務器運行狀況和負載,以確保實時關聯,并驗證服務器狀況、攻擊和緩解措施。任何后續異常都會受到關注,系統會根據需要應用緩解措施(減速或阻塞)。
這就是行為 DoS 的工作方式:
- 學習正常流量的典型行為
- 根據當前條件(服務器運行狀況)檢測攻擊
- 發現行為異常(什么和誰改變導致擁堵?)
- 通過減慢可疑客戶端的速度來緩解
- 隨著經驗的提高
您可以在基于壓力的檢測設置的 DoS 配置文件中啟用行為 DoS,這需要最少的配置。由于系統正在跟蹤交通數據,它會適應不斷變化的條件,因此無需指定閾值。您可以設置希望發生的緩解級別,范圍從無緩解(僅限學習)到積極保護(主動 DoS 保護)。該系統可以快速檢測第 7 層 DoS 攻擊,表征違規流量并緩解攻擊。
您可以使用啟用了行為 DoS 的 DoS 配置文件來保護一個或最多兩個虛擬服務器。
關于 DoS 緩解方法
在設置基于事務或基于壓力的 DoS 保護時,您可以指定確定系統如何識別和處理 DoS 攻擊的緩解方法。您可以使用以下方法:
- JavaScript 挑戰(也稱為客戶端完整性防御)
- 驗證碼挑戰
- 請求阻塞(包括速率限制或全部阻塞)
您可以將系統配置為發出 JavaScript 質詢,以在系統遇到可疑 IP 地址、URL、地理位置或站點范圍的標準時分析客戶端是否使用合法瀏覽器(可以響應質詢)。如果客戶端確實執行 JavaScript 以響應質詢,系統會故意減慢交互速度。客戶端完整性防御緩解措施僅在操作模式設置為阻止時實施。
基于相同的可疑標準,系統還可以發出 CAPTCHA(字符識別)質詢,以確定客戶端是人類還是非法腳本。根據您希望實施 DoS 保護的嚴格程度,您可以限制允許通過服務器的請求數量或阻止被視為可疑的請求。
您還可以在 DoS 配置文件中使用可以使用請求阻止來指定系統何時阻止請求的條件。請注意,當基于 TPS 或基于壓力的檢測的操作模式設置為阻止時,系統僅在 DoS 攻擊期間阻止請求。您可以使用請求阻止來限制或阻止來自可疑 IP 地址、可疑國家或疑似受到攻擊的 URL 的所有請求。站點范圍的速率限制還阻止對懷疑受到攻擊的網站的請求。如果您阻止所有請求,系統會阻止可疑 IP 地址和地理位置,但白名單上的除外。如果您使用速率限制,系統會根據 DoS 配置文件中設置的閾值檢測標準阻止一些請求。
您選擇的緩解方法按照它們在屏幕上出現的順序使用。僅當先前的方法無法阻止攻擊時,系統才會根據需要強制執行這些方法。
關于地理定位緩解
您可以通過檢測來自發送可疑流量的國家/地區的流量來緩解基于地理位置的 DoS 攻擊。這是 DoS 配置文件中針對基于壓力和基于 TPS 的異常的緩解方法的一部分,此方法有助于防止異常活動,如下所示:
- 基于地理位置的客戶端完整性:如果來自國家/地區的流量與 DoS 配置文件中配置的閾值匹配,系統會認為這些國家/地區可疑,并向每個可疑國家/地區發送 JavaScript 質詢。
- 基于地理位置的 CAPTCHA 質詢:如果來自國家/地區的流量與 DoS 配置文件中配置的閾值匹配,系統會認為這些國家/地區可疑,并向每個可疑國家/地區發出 CAPTCHA 質詢。
- 基于地理位置的請求阻止:系統阻止來自可疑國家的所有或部分請求。
此外,您可以將國家添加到地理位置白名單(來自這些國家的流量永遠不會被阻止)和黑名單(來自這些國家的流量在檢測到 DoS 攻擊時總是被阻止)。
關于重 URL 保護
重型 URL是每個請求可能會消耗大量服務器資源的 URL。大多數情況下,重度 URL 以低延遲響應,但在特定條件下(例如 DoS 攻擊)很容易達到高延遲。重 URL 不一定總是很重,但往往會變得很重,尤其是在攻擊期間。因此,對這些 URL 的低速率請求可能會導致嚴重的 DoS 攻擊,并且難以與合法客戶端區分開來。
通常,繁重的 URL 涉及復雜的數據庫查詢;例如,檢索歷史股票報價。在大多數情況下,用戶以每周分辨率請求最近的報價,這些查詢很快就會產生響應。但是,攻擊可能涉及請求逐日解析的五年報價,這需要檢索大量數據,并消耗大量資源。
Application Security Manager? (ASM) 允許您在 DoS 配置文件中配置針對重型 URL 的保護。您可以為自動檢測繁重的 URL 指定延遲閾值。如果網站的某些 URL 可能成為重 URL,您可以手動添加它們,以便系統關注它們,并且您可以添加應該被忽略且不被視為重的 URL。
ASM? 測量每個 URL 和整個站點 24 小時的尾部延遲,以獲得良好的請求行為樣本。如果一個 URL的平均尾部延遲是 24 小時內站點延遲的兩倍以上,則該URL 被認為是重度。
關于跨域請求
DoS 配置文件中的主動機器人防御允許您指定哪些跨域請求是合法的。跨域請求是對來自與發出請求的資源域不同的域的資源的 HTTP 請求。
如果您的應用程序訪問許多跨域資源并且您擁有這些域的列表,則可以驗證對這些域的跨域請求。
例如,您的網站使用兩個域,site1.com(主站點)和site2.com(存儲資源的地方)。您可以通過啟用主動機器人防御、為跨域請求設置選擇允許的已配置域選項之一并在相關站點域列表中指定這兩個網站,在 DoS 配置文件中進行配置。當瀏覽器向 發出請求時,它會同時獨立地獲取 cookie ,并且允許來自to的跨域請求。site1.comsite1.comsite2.comsite1.comsite2.com
如果 onlysite1.com配置為相關站點域,當瀏覽器向 發出請求時site1.com,它會獲取site1.comonly 的 cookie。如果瀏覽器發出跨域請求以從 獲取圖像site2.com,它會獲取一個 cookie,并且只有當它已經有一個有效的site1.comcookie 時才被允許。
關于站點范圍的 DoS 緩解
為了緩解高度分布式的 DoS 攻擊,例如那些使用大規模僵尸網絡攻擊多個 URL 的攻擊,您可以在 DoS 配置文件中指定何時使用站點范圍的緩解。您可以為基于 TPS 或基于壓力的 DoS 保護配置站點范圍的緩解。在這種情況下,與特定 URL 或 IP 地址相比,整個站點都可能被視為可疑。當系統確定整個站點正在經歷高流量但無法查明和處理問題時,站點范圍的緩解措施就會生效。
系統實施站點范圍的緩解方法僅作為最后的手段,因為它可能導致系統丟棄合法請求。然而,它至少部分地保持了網站的可用性,即使它受到攻擊也是如此。當系統應用站點范圍的緩解時,這是因為所有其他主動檢測方法都無法阻止攻擊。
當超過配置的閾值時,整個站點都被認為是可疑的,同時,特定的 IP 地址和 URL 也可能被發現是可疑的。緩解一直持續到最長持續時間過去或整個站點不再可疑為止。即沒有可疑的URL,沒有可疑的IP地址,整個站點不再可疑。
關于 DoS 檢測中的 CAPTCHA 挑戰
CAPTCHA(或視覺字符識別)質詢顯示字符供客戶識別,然后才能訪問網站或應用程序。客戶端能否正確識別字符決定了客戶端是人還是可能是非法腳本。您可以將 CAPTCHA 質詢配置為基于 TPS 的 DoS 檢測、基于壓力的 DoS 檢測的緩解策略的一部分,或作為主動機器人防御的一部分。如果您已配置它,系統會向可疑流量發起驗證碼挑戰。
系統提供客戶將看到的標準驗證碼響應。如果需要,您可以自定義響應。
關于 DoS 保護和 HTTP 緩存
HTTP 緩存使 BIG-IP??系統能夠將頻繁請求的 Web 對象(或靜態內容)存儲在內存中,以節省帶寬并減少 Web 服務器上的流量負載。Web 加速配置文件具有配置緩存的設置。
如果您將 HTTP 緩存與 DoS 保護一起使用,您需要了解緩存內容的 DoS 保護是如何工作的。在這種情況下,如果提供緩存內容的 URL 超過按百分比增加的相對 TPS(而不是明確的TPS 達到數) ,則將其視為 DoS 攻擊。對靜態或可緩存 URL 的請求總是通過速率限制來緩解。即使在使用客戶端完整性或 CAPTCHA 進行緩解期間,并且當這些緩解不僅基于 URL 時也是如此。
概述:防止對應用程序的 DoS 攻擊
您可以配置 Application Security Manager? 以防止對 Web 應用程序的 DoS 攻擊。根據您的配置,系統會根據客戶端的每秒事務數 (TPS)、基于壓力的服務器延遲、大量 URL、地理位置、可疑瀏覽器和失敗的驗證碼響應來檢測 DoS 攻擊。行為 DoS (BADoS) 是基于壓力的檢測的一部分,使用行為數據自動發現和緩解 DoS 攻擊。
您可以通過創建啟用應用程序安全的 DoS 配置文件來為第 7 層配置 DoS 保護。然后,您將 DoS 配置文件與代表您要保護的應用程序的一個或多個虛擬服務器相關聯。DoS 保護是一種不屬于安全策略的系統保護。
制定預防政策的主要因素是:
- 攻擊者:發起實際攻擊的客戶端。它們由它們的 IP 地址和它們來自的地理位置表示。
- 服務器:受到攻擊的 Web 應用程序服務器。您可以將它們視為虛擬服務器和 DoS 配置文件的配對、通過 URL 或作為池成員在站點范圍內查看。
- BIG-IP 系統:檢測攻擊和相關可疑實體的中間層,然后根據您在 DoS 配置文件中配置的選項緩解攻擊、阻止或丟棄請求。
任務摘要
為應用程序配置 DoS 保護
創建 DoS 保護白名單
使用主動機器人防御
您可以配置 Application Security Manager? (ASM) 以在攻擊發生之前保護您的網站免受網絡機器人(簡稱bots)的攻擊。主動機器人防御檢查所有進入網站的流量(白名單 URL 除外),而不僅僅是可疑流量。此 DoS 保護使用一組 JavaScript 評估和機器人簽名來確保訪問您網站的瀏覽器是合法的。
您現在已經配置了主動機器人防御,可以防止 DDoS、Web 抓取和暴力攻擊(在使用此 DoS 配置文件的虛擬服務器上)。通過創建機器人防御日志配置文件,您可以在
查看機器人防御事件日志。系統向首次訪問該站點的流量發送 JavaScript 質詢。合法流量正確回答挑戰,并使用有效 cookie 重新發送請求;然后它被允許訪問服務器。系統會丟棄瀏覽器發送的未回答系統初始 JavaScript 質詢的請求(將這些請求視為機器人)。該系統還自動啟用機器人簽名并阻止已知惡意的機器人。如果主動機器人檢測一直在運行,ASM? 會在它們設法對系統發起攻擊并造成損害之前過濾掉它們。如果僅在攻擊期間使用主動 bot 防御,則一旦 ASM 檢測到 DoS 攻擊,系統就會在攻擊期間使用主動 bot 防御。
主動機器人防御與 TPS 和基于壓力的檢測中指定的主動緩解方法一起使用。任何未被主動緩解方法阻止的請求仍然必須通過主動機器人防御機制才能到達服務器(除非它在 ??URL 白名單上)。主動機器人防御阻止對不在 URL 白名單上的 CORS(跨源資源共享)URL 的請求。
配置機器人防御日志
配置機器人簽名檢查
如果您需要為您的應用程序創建自定義機器人簽名和類別,您應該在配置機器人簽名檢查之前執行此操作。導航到
。否則,您可以使用系統提供的機器人簽名和在同一位置列出的類別。由于此防御機制使用反向查找,因此您需要配置 DNS 服務器( )和 DNS 解析器( )才能工作。