摘要
端點會使用 HTTP/2 設定框架來交換彼此的定義的設定參數。HTTP/2 通訊協定不會定義任何實際的限制數目的設定包含在單一設定框架的參數 (是允許的最高層級2796202) 上的這類設定框架會交換的次數沒有限制且。
惡意的用戶端使用 HTTP/2 可以利用這項事實,若要讓 HTTP/2 伺服器系統暫時不穩定,藉由增加到 100%的 CPU 使用率之前的連線已終止,網際網路資訊服務 (IIS)。
解決方案
若要解決這個問題,Microsoft 已提供能夠定義上的 HTTP/2 設定的參數數目的限制允許透過連線。這些限制會 Microsoft 不會預先,且必須由系統管理員定義之後檢閱 HTTP/2 通訊協定和他們的環境需求。
若要設定的限制下面加入兩個登錄項目:
路徑: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
名稱: Http2MaxSettingsPerFrame
類型: DWORD
資料: 支援的最小值為 7,最大 2796202。從修剪為最小/最大的對應值的範圍結束值。
路徑: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
名稱: Http2MaxSettingsPerMinute
類型: DWORD
資料: 支援的最小值 7。較小的值會修剪為最小值。
注意: 電腦重新開機或重新啟動服務,才能讀取設定的登錄值,第一次新增或變更時。
限制設定,
-
我的f 單一設定框架包含多s比設定參數"Http2MaxSettingsPerFrame」 值,則該連線會立即被殺。
-
我的f 數目的 s 的設定參數包含在多個設定一分鐘之內接收框架交叉"Http2MaxSettingsPerMinute」 值,然後連線遭。
適當地設定時,上述兩個限制終止惡意違反這些限制的連線,並形成臨界點給合法的連線在一起的說明