top of page

Citrix Netscaler : 如何減緩近期針對Http/2的DDoS攻擊

已更新:2023年11月22日

文章來源:Jay Lin/ 奧登資訊技術顧問


2023 年 10 月 10 日,美國國家標準與技術研究院 (National Institute of Standards and Technology, NIST) 發布了CVE-2023-44487,描述了許多 HTTP/2 實作的潛在問題。Citrix初步評估和內部測試表明:NetScaler 可以承受 HTTP/2 快速重置攻擊,但會將新串流的請求轉送到後端伺服器。


以下內容將介紹Http/2、此漏洞的攻擊方式與Netscaler的預防方法。


什麼是Http/2?

HTTP是一個客戶端(使用者)和伺服器端(網站)之間請求和應答的標準,通常使用TCP協定。HTTP 的第一個可用版本誕生於 1997 年。由於它經歷了多個開發階段,因此 HTTP 的第一個版本稱為 HTTP/1.1。

2015 年,創建了新版本的 HTTP,稱為 HTTP/2。HTTP/2 解決了 HTTP/1.1 的創建者沒有預料到的幾個問題。特別的是,HTTP/2 比 HTTP/1.1 更快、更有效率,例如:HTTP/2引入了伺服器推播,即伺服器端向客戶端傳送比客戶端請求更多的資料。通常,伺服器僅在客戶端請求時才向客戶端設備提供內容。然而這種方法對於現代網頁來說並不實用,現代網頁通常涉及客戶端必須要求的數十個單獨的資源。HTTP/2 透過允許伺服器在客戶端請求內容之前將內容「推送」到客戶端來解決此問題。伺服器也會發送一條訊息,讓客戶端知道預期推送的內容是什麼。


針對Http/2漏洞的攻擊方式

HTTP/2 協定允許客戶端向伺服器指示應透過傳送 RST_STREAM 訊框來取消先前的流。該協定不要求客戶端和伺服器以任何方式協調取消,客戶端可以單方面這樣做。客戶端也可以假設,當伺服器收到 RST_STREAM 訊框時,在處理來自該 TCP 連線的任何其他資料之前,取消將立即生效。


此 HTTP/2 漏洞使得惡意行為者發動針對 HTTP/2 伺服器的 DDoS 攻擊。此攻擊使用 HEADERS 發送一定數量的 HTTP 請求,後面跟著 RST_STREAM,並重複此模式以在目標 HTTP/2 伺服器上產生大量流量。透過在單一連線中打包多個 HEADERS 和 RST_STREAM 訊框,攻擊者可能會導致每秒請求量顯著增加,並導致伺服器上的 CPU 使用率較高,最終導致資源耗盡。


這種攻擊稱為快速重置,因為它依賴於端點在發送請求訊框後立即發送 RST_STREAM 訊框的能力,這使得另一個端點開始工作,然後快速重置請求。請求被取消,但 HTTP/2 連線保持開啟。



Citrix Netscaler如何預防?

當虛擬伺服器設定了啟用 HTTP/2 的 HTTP 設定檔時,此漏洞可能會增加 NetScaler 上的負載(CPU 使用率)。請注意,Citrix Netscaler預設情況下不啟用 HTTP/2


如果您使用啟用了 HTTP/2 的虛擬伺服器,您可以於CLI中使用「stat lb vserver <http2-vserver-name>」指令,比較「Http2 請求」和「Http2 回應」計數器。如果「Http2 回應」與「Http2 請求」相比非常低,則表示取消數量較多,並表示可能發生了攻擊,需要考慮以下選項來緩解漏洞並減輕後端伺服器的壓力:


1.在使用 HTTP/2 的負載平衡和內容交換虛擬伺服器上使用響應程式策略(responder policy)

在下列原則中設定 -threshold 和 -timeSlice 參數,以限制每個 TCP 連線允許的請求數。

如果在 180 秒內單一 TCP 連線中收到 1,000 個 HTTP/2 請求,則下方範例中的設定將斷開連線:

您可以根據需要調整時間間隔和閾值。有關在 NetScaler 中配置流量速率限制的更多信息,請參閱文件



2.在綁定到 HTTP/2 虛擬伺服器的服務上設定 maxClients 參數

在 HTTP/SSL 後端服務上將 maxClients 參數配置為非零值。此參數將限制 NetScaler ADC 和後端服務之間建立的 TCP 連線數。有關如何執行此操作的詳細說明,請參閱文件



3. 在服務的 HTTP 設定檔上禁止 HTTP/2

在綁定到 HTTP/SSL 負載平衡、內容交換或 VPN 虛擬伺服器的 HTTP 設定檔上禁止 HTTP/2 參數。


※明確需要 HTTP/2 的應用程式將會受到影響。可以回退到較低 HTTP 協定版本(例如 HTTP/1.1)的應用程式所受到的影響可以忽略不計,只會失去 HTTP/2 的效能優勢。



Citrix Netscaler如何預防?

NetScaler 團隊將繼續監控此攻擊媒介的情況,調查此攻擊的任何變體,並在獲得更多資訊時更新 CVE-2023-44487的通報。更多資訊可參閱此原廠文章或洽詢奧登資訊為您服務。




Comments


bottom of page