

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# SYN洪水襲擊
<a name="syn-flood-attacks"></a>

 當使用者連線到傳輸控制通訊協定 (TCP) 服務 (例如 Web 伺服器) 時，其用戶端會傳送SYN封包。伺服器會傳回同步處理確認 (SYN-ACK) 封包，最後用戶端會回應一個通知 (ACK) 封包，完成預期的三向交換。下圖說明了這種典型的握手。

![\[描繪SYN三向握手的圖表\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/aws-best-practices-ddos-resiliency/images/syn-three-way-handshake.png)


 在SYN洪水攻擊中，惡意客戶端發送大量數SYN據包，但永遠不會發送最終數ACK據包來完成握手。伺服器會等待對半開啟TCP連線的回應，而這個想法是目標最終會耗盡容量以接受新的TCP連線，從而阻止新使用者連線到伺服器，但實際影響會更加細微。現代操作系統默認情況下都實現了 SYN cookie 作為一種機制來對抗SYN洪水攻擊的狀態表耗盡。一旦SYN佇列長度達到預先決定的臨界值，伺服器就會以ACK包含特製的初始序號的 SYN-回應，而不會在其SYN佇列中建立項目。如果服務器接著收到一個ACK包含正確遞增的確認號碼，則可以將該條目添加到其狀態表中並正常進行。SYN洪水對目標設備的實際影響往往是網絡容量和CPU耗盡，但是防火牆（或EC2安全組[連接跟踪）之類的中間可設置設備可能會遭受TCP狀態表耗盡並丟棄新的連接](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html)。