拒絕服務 (DoS) 攻擊是伺服器中某些惡意使用者發動的明確攻擊行為,目的是讓合法使用者無法使用某服務。發動這類攻擊的方式如下:
向伺服器持續發送請求,以取得特定 Web 資源。
如果請求頻率相當高,則 Sun Java System Web Server 可監視存取頻繁的 URI 而偵測到 DoS 攻擊,進而拒絕請求。
以下章節說明如何在虛擬伺服器層級上防止 DoS 攻擊。
現在只要配置請求限制並監視每個虛擬伺服器上的最大連線數,便可以調整伺服器以防止拒絕服務攻擊。配置其中某些值可能會影響伺服器的效能。
若要配置伺服器的請求限制,請按一下 [配置] > [虛擬伺服器] > [伺服器設定] > [請求限制]。配置以下表格中列出的參數。
表 7–4 配置請求限制
參數 |
說明 |
---|---|
請求限制 |
啟用/停用對此虛擬伺服器的請求限制。依預設,請求限制選項處於停用狀態。 |
最大連線 |
該虛擬伺服器所允許的同步運作之連線的最大數目。 |
最大 RPS |
允許用戶端每秒送出的請求數上限。 |
RPS 計算間隔 |
計算每秒請求數 (RPS) 平均值的時間間隔。預設值為 30 秒。 |
繼續條件 |
決定遭到阻斷的請求類型要滿足哪些條件,才能再次用於提供服務。 靜音—遭拒絕的請求數必須在後續間隔中降至零,以便繼續提供服務。 臨界值—遭拒絕的請求比率必須降至 RPS 臨界值以下,以便繼續提供服務。 預設值為臨界值。 |
錯誤碼 |
要用於遭到阻斷之請求的 HTTP 狀態代碼。預設代碼為 HTTP 503—服務不可用。 |
監視屬性 |
要監視的選擇性請求屬性。 |
使用 CLI
若要透過 CLI 來限制對伺服器的請求,請執行以下指令。
wadm> enable-request-limits --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 |
請參閱 CLI 參照 enable-request-limits(1)。
您可以限制同步運作之連線的最大數目。如果接收到相符的請求,且正在處理的請求數目至少已達到指定數字,則請求將遭到拒絕。請注意,只有那段特定時間內會拒絕請求。一旦同步運作的請求降至此限制以下,則將會處理新的請求。