

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

# 緩解技術
<a name="mitigation-techniques"></a>

 某些形式的DDoS緩解措施會自動包含在 AWS 服務中。DDoS您可以使用具有特定服務的 AWS 架構 (下列各節涵蓋)，以及針對使用者與應用程式之間網路流程的每個部分實作其他最佳作法，進一步提升復原能力。

 您可以使用從 Amazon、 AWS 全球加速器和 Amazon CloudFront Route 53 等節點運作的 AWS 服務，建立全面的可用性保護，以抵禦所有已知的基礎設施層攻擊。這些服務屬於[AWS 全球邊緣網路](https://aws.amazon.com/products/networking/edge-networking/)的一部分，在提供來自世界各地的邊緣位置的任何類型應用程式流量時，可提升應用程式的DDoS彈性。您可以在任何應用程式中執行應用程式 AWS 區域，並使用這些服務來保護應用程式的可用性，並針對合法使用者最佳化應用程式的效能。

 使用 Amazon CloudFront，全球加速器和 Amazon 路線 53 的好處包括：
+  跨 AWS 全球邊緣網路存取網際網路和DDoS緩解容量。這對於緩解可達到太位規模的較大體積攻擊非常有用。
+  AWS Shield DDoS緩解系統與 AWS 邊緣服務整合， time-to-mitigate 從幾分鐘縮短到秒。
+  無狀態SYN洪水緩解措施會先使用 SYN Cookie 驗證傳入連線，然後再將它們傳送至受保護的服務。這樣可確保只有有效的連線才能連線到您的應用程式，同時保護合法使用者免於誤判性下降。
+  分散或隔離大容量DDoS攻擊影響的自動交通工程系統。所有這些服務在攻擊到達您的來源之前，將其從源頭隔離出來，這意味著對受這些服務保護的系統的影響較小。
+  與應用程式層防禦結合 CloudFront 時 [AWS WAF](https://aws.amazon.com/waf/)，不需要變更目前的應用程式架構 (例如，在 AWS 區域 或內部部署資料中心)。

 傳入資料傳輸不會收取任何費用，而 AWS 且您也不需為減輕的DDoS攻擊流量付費。 AWS Shield下列架構圖包含 AWS 全球邊緣網路服務。

![\[顯示DDoS彈性參考架構的圖\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/aws-best-practices-ddos-resiliency/images/ddos-resilient-ref-arch.png)


 此架構包含數種 AWS 服務，可協助您提升 Web 應用程式對DDoS攻擊的彈性。下表提供這些服務及其可提供之功能的摘要。 AWS 為每個服務加上最佳實務指標 (BP1,BP2) 標籤，以便在本文件中更容易參考。例如，即將到來的一節討論 Amazon CloudFront 和全球加速器提供的功能，其中包括最佳實務指標BP1。

 *表 2-最佳做法摘要* 


|   |  AWS 邊緣 | AWS 區域  | 
| --- | --- | --- | 
|   |  使用 Amazon CloudFront （BP1）與 AWS WAF （BP2）  |  使用全域加速器 (BP1)  |   使用 Amazon 路線 53（BP3）   |   使用 Elastic Load Balancing (BP6) 搭配 AWS WAF (BP2)   |   ACLs在 Amazon 中使用安全組和網絡VPC（BP5）   |   使用 [Amazon 彈性計算雲（AmazonEC2）Auto Scaling](https://aws.amazon.com/pm/ec2/)（BP7）  | 
|   第 3 層（例如UDP反射）攻擊緩解   |  ✔  |  ✔  |   ✔   |   ✔   |   ✔   |   ✔   | 
|  第 4 層（例如SYN洪水）攻擊緩解  |  ✔  |  ✔  |   ✔   |   ✔   |   |   | 
|  第 6 層（例如TLS）攻擊緩解  |  ✔  |  ✔  |   ✔   |   ✔   |   |   | 
|  減少攻擊面  |  ✔  |  ✔  |   ✔   |   ✔   |   ✔   |   | 
|  擴充以吸收應用程式層流量  |  ✔  |  ✔  |   ✔   |   ✔   |   ✔   |   ✔   | 
|  第 7 層（應用程序層）攻擊緩解  |  ✔  |  ✔(\$1)  |   ✔   |   ✔   |   ✔(\$1)   |   ✔(\$1)   | 
|   地理隔離和分散過多的流量和更大的DDoS攻擊   |  ✔  |  ✔  |   ✔   |   |   |   | 

 ✔ (\$1)：如果與應用 Ap [plication Load Balancer AWS WAF](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 搭配使用

 另一種提高您對應攻擊和緩解DDoS攻擊的準備程度的方法是訂閱 AWS Shield Advanced. 使用的好處 AWS Shield Advanced 包括：
+ 取得[AWS Shield 回應團隊](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-srt-support.html) (AWS SRT) 提供的全年無休專業支援，協助緩解影響應用程式可用性的DDoS攻擊，包括選購的主動參與功能 
+ 與彈性 IP 地址一起使用時，可以更早將流量路由到DDoS緩解系統，並可改善對 Amazon EC2 (包括彈性 Load Balancer) 或 Network Load Balancer 的 time-to-mitigate 攻擊的敏感偵測閾值 
+ 搭配使用時，根據應用程式的基線流量模式量身打造第 7 層偵測 AWS WAF 
+ Shield Advanced 透過建立、評估和部署自訂 AWS WAF 規則來回應偵測到的DDoS攻擊的自動應用程式層DDoS緩解 
+ 免費存取 AWS WAF 應用程式層DDoS攻擊的緩解 (與 Amazon CloudFront 或應用程式 Application Load Balancer 搭配使用時) 
+ 集中管理安全性原則 [AWS Firewall Manager](https://aws.amazon.com/firewall-manager/)，無需額外費用。
+ 成本保護，可讓您針對因攻擊而造成的擴充相關成本要求有限退款。DDoS
+ 針對 AWS Shield Advanced 客戶的增強服務等級協議。
+ 保護群組可讓您捆綁資源，提供自助方式，藉由將多個資源視為單一單元來自訂應用程式的偵測和緩解範圍。如需保護群組的相關資訊，請參閱 [Shield](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-protection-groups) [進階保護群組。](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-protection-groups)
+ DDoS使用[AWS 管理主控台](https://aws.amazon.com/console/)、API和 Amazon CloudWatch [指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)和[警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)的攻擊可見性。

 這項選用的DDoS緩解服務可協助保護裝載於任何 AWS 區域. 該服務在全球範圍內提供 53 CloudFront 號公路和全球加速器。就區域而言，您可以保護 Application Load Balancer 器、Classic Load Balancer 和彈性 IP 地址，以保護 [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) (NLBs) 或 [Amazon EC2](https://aws.amazon.com/ec2/) 執行個體。

 如需 AWS Shield Advanced 功能的完整清單以及相關詳細資訊 AWS Shield，請參閱[如何 AWS Shield 運作](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html)。

# DDoS緩解措施的最佳做法
<a name="best-practices-for-ddos-mitigation"></a>

 在以下各節中，每個建議的DDoS緩和措施最佳做法會更深入地說明。如需為靜態或動態 Web 應用程式建置DDoS緩解層的快速 easy-to-implement 指南，請參閱[如何[使用 Amazon CloudFront 和 Amazon Route 53 協助保護動態 Web 應用程式免受DDoS](https://aws.amazon.com/blogs/security/how-to-protect-dynamic-web-applications-against-ddos-attacks-by-using-amazon-cloudfront-and-amazon-route-53/)攻擊](https://aws.amazon.com/blogs/security/how-to-protect-dynamic-web-applications-against-ddos-attacks-by-using-amazon-cloudfront-and-amazon-route-53/)。

# 基礎架構層防禦 (BP1BP3、BP6、、BP7)
<a name="infrastructure-layer-defense-bp1-bp3-bp6-bp7"></a>

 在傳統的資料中心環境中，您可以使用諸如過度佈建容量、部署DDoS緩解系統或清理流量等技術，藉助緩解服務來DDoS緩解基礎結構層DDoS攻擊。在上 AWS，系統會自動提供DDoS緩解功能；但是您可以選擇最佳的架構選擇，以最佳化應用程式的DDoS彈性，同時也可讓您針對過多的流量進行擴充。

 協助減輕容量DDoS攻擊的關鍵考量事項包括確保足夠的傳輸容量和多樣性可用，以及保護 Amazon EC2 執行個體等 AWS 資源免受攻擊流量的影響。

 某些 Amazon EC2 執行個體類型支援更容易處理大量流量的功能，例如，高達 100 Gbps 的網路頻寬界面和增強型聯網。這有助於防止已到達 Amazon EC2 執行個體的流量發生介面擁塞。與傳統實作相比，支援增強型聯網的執行個體可提供更高的輸入/輸出 (I/O) 效能、更高的頻寬以及更低的CPU使用率。如此可改善執行個體處理大量流量的能力，並最終讓它們對每秒封包 (pps) 負載進行高度彈性。

 若要允許這種高度的彈性， AWS 建議使用 [Amazon EC2 專用執行](https://aws.amazon.com/ec2/pricing/dedicated-instances/)個EC2體或具有較高聯網輸送量且尾碼為 "`N`" 且支援高達 100 Gbps 網路頻寬的增強型聯網的 Amazon 執行個體，例如`c6gn.16xlarge`和/`c5n.18xlarge`或金屬執行個體 (例如`c5n.metal`)。

 如需支援 100 個 Gigabit 網路界面和增強型聯網之 Amazon EC2 執行個體的詳細資訊，請參閱 [Amazon EC2 執行個體類型](https://aws.amazon.com/ec2/instance-types/)。

 增強型聯網所需的模組和必要的`enaSupport`屬性集包含在 Amazon Linux 2 和最新版本的 Amazon Linux 中AMI。因此，如果您在受支援的執行個體類型上使用 Amazon Linux 的硬體虛擬機器 (HVM) 版本啟動執行個體，則您的執行個體已啟用增強型聯網功能。如需詳細資訊，請參閱[在 Linux 上[測試是否已啟用](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html#test-enhanced-networking-ena)增強型網路和增強型網路](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html)。

# Amazon EC2 與 Auto Scaling（BP7）
<a name="amazon-ec2-with-auto-scaling-bp7"></a>

 減輕基礎架構和應用程式層攻擊的另一種方法是大規模運作。如果您有 Web 應用程式，則可以使用負載平衡器將流量分配到多個過度佈建或設定為自動擴展的 Amazon EC2 執行個體。這些執行個體可以處理因任何原因而發生的突然流量激增，包括閃爍人群或應用程式層DDoS攻擊。您可以設定 [Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)以啟動 Auto Scaling，以根據您定義的事件 (例如CPU、RAM網路 I/O 甚至是自訂指標) 自動擴展 Amazon EC2 叢集的大小。

 當要求量意外增加時，此方法可保護應用程式的可用性。將 Amazon CloudFront、應用程式負載平衡器、傳統負載平衡器或 Network Load Balancer 與應用程式搭配使用時，TLS交涉是由分發 (Amazon CloudFront) 或負載平衡器處理。這些功能透過擴展來處理合法要求和TLS濫用攻擊，協助保護您的執行個體不受TLS基於攻擊的影響。

 如需有關使用 Amazon CloudWatch 叫用 Auto Scaling 的詳細資訊，請參閱[監控 Auto Scaling 群組和執行個體的 Amazon CloudWatch 指標](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html)。

 Amazon EC2 提供可調整大小的運算容量，因此您可以在需求變更時快速擴展或縮減規模。您可以透過擴展 [Amazon EC2 Auto Scaling 群組的大小，自動將執行個體新增至應用程式，以水平擴展](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html)，也可以使用較大的EC2執行個體類型垂直擴展。

透過使用 [Amazon RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html)，您可以允許應用程式集區和共用資料庫連線，以改善其擴展和處理資料庫流量中無法預測的突波的能力。 您也可以為 Amazon RDS 資料庫執行個體啟用儲存 auto-scaling 能。如需詳細資訊，請參閱[使用 Amazon RDS 儲存自動調度資源自動管理容](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)量 

# Elastic Load Balancing (BP6)
<a name="elastic-load-balancing-bp6"></a>

 大型DDoS攻擊可能會壓倒單一 Amazon EC2 執行個體的容量。使用 Elastic Load Balancing (ELB)，您可以將流量分散到許多後端執行個體，以降低應用程式過載的風險。Elastic Load Balancing 可以自動擴展，允許您在出現意想不到的額外流量（例如由於人群或DDoS攻擊）時管理更大的磁碟區。對於在 Amazon 內建置的應用程式VPC，視您的應用程式類型而定，需ELBs要考慮三種類型：Application Load Balancer (ALB)、Network Load Balancer (NLB) 和 Classic Load Balancer (CLB)。

 對於 Web 應用程式，您可以使用應用 Application Load Balancer 根據內容路由流量，並只接受格式良好的 Web 要求。Application Load Balancer 會封鎖許多常見的DDoS攻擊，例如SYN洪水或UDP反射攻擊，保護您的應用程式免受攻擊。當偵測到這些類型的攻擊時，Application Load Balancer 會自動擴展以吸收額外的流量。由於基礎架構層攻擊而導致的擴展活動對 AWS 客戶來說是透明的，不會影響您的帳單。

 如需有關使用應用程式負載平衡器保護 Web 應用程式的詳細資訊，請參閱應[用程式負載平衡器入門](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancer-getting-started.html)。

 對於非HTTP/HTTPS應用程式，您可以使用 Network Load Balancer 以超低延遲將流量路由到目標 (例如 Amazon EC2 執行個體)。Network Load Balancer 的一個主要考慮因素是，TCPSYN任何到達有效接TLS聽程式上負載平衡器的UDP流量都會路由到達您的目標，而不會被吸收，但這不適用於終止TCP連線的-listener。對於具有TCP接聽程式的網路負載平衡器，我們建議部署全域加速器以防止SYN洪水。

 您可以使用防 Shield 進階來設定彈性 IP 位址的DDoS保護。將每個可用區域的彈性 IP 位址指派給 Network Load Balancer 時，「Shield 牌進階」會針對 Network Load Balancer 流量套用相關DDoS保護。

 如需有關使用 Network Load [Balancer 保護TCP和UDP應用程式的詳細資訊，請參閱開始使用網路負載平衡](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancer-getting-started.html)器。

**注意**  
 視安全性群組組態而定，它需要使用安全性的資源群組才能使用連線追蹤來追蹤流量的相關資訊，這可能會影響負載平衡器處理新連線的能力，因為追蹤的連線數目有限。    
 安全群組組態包含接受來自任何 IP 位址 (例如`0.0.0.0/0`或`::/0`) 之流量的輸入規則，但沒有允許回應流量的對應規則的輸入規則，會導致安全性群組使用連線追蹤資訊來允許傳送回應流量。發生DDoS攻擊時，可能會用盡最大追蹤連線數目。若要改善面向公開的 Application Load Balancer 或 Classic Load Balancer 的DDoS彈性，請確定與負載平衡器關聯的安全性群組設定為不使用連線追蹤 (未追蹤的連線)，因此流量流程不受連線追蹤限制的限制。    
 為此，請使用允許輸入規則接受來自任何 IP 位址 (`0.0.0.0/0`或`::/0`) 的TCP流程，並在輸出方向新增對應規則，允許此資源傳送回應流量 (允許任何 IP 位址的輸出範圍`0.0.0.0/0`或`::/0`) 所有連接埠 (0-65535)，因此會根據安全性群組規則傳送回應流量，而非追蹤資訊允許回應流量。 使用此組態時，傳統和 Application Load Balancer 不會受到耗盡連線追蹤限制的限制，這些限制可能會影響到其負載平衡器節點的建立新連線，並允許其根據發生DDoS攻擊時的流量增加進行調整。 有關未追蹤連線的詳細資訊，請參閱：[安全性群組連線追蹤：未追蹤](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#untracked-connections)的連線。  
 只有在DDoS流量源自安全性群組允許的來源時，避免安全性群組連線追蹤才有幫助 — 來自安全性群組中不允許的來源的DDoS流量不會影響連線追蹤。在這些情況下，不需要重新設定安全性群組以避免連線追蹤，例如，如果您的安全性群組允許清單包含您具有高度信任的 IP 範圍，例如公司企業防火牆或受信任的VPN輸出IPs或。CDNs

# 使用 AWS 邊位置進行縮放 (BP1,BP3)
<a name="use-aws-edge-locations-for-scale-bp1-bp3"></a>

 存取高規模、多樣化的網際網路連線，可大幅提升您最佳化使用者延遲和輸送量、吸收DDoS攻擊並隔離故障的能力，同時將對應用程式可用性的影響降到最低。 AWS 節點提供額外的網路基礎設施層，可為使用 Amazon CloudFront、全球加速器和 Amazon Route 53 的任何 Web 應用程式提供這些好處。有了這些服務，您就可以在執行應用程式的邊緣全面保護。 AWS 區域

# 邊緣的 Web 應用程式交付 (BP1)
<a name="web-application-delivery-at-the-edge-bp1"></a>

 Amazon CloudFront 是一種服務，可用於交付您的整個網站，包括靜態、動態、串流和互動式內容。即使您沒有提供可快取的內容，持續連線和變數 time-to-live (TTL) 設定也可以用來卸載來源的流量。使用這些 CloudFront 功能可減少回原始伺服器的要求和TCP連線數量，協助保護您的 Web 應用程式免受HTTP洪水的影響。

 CloudFront 只接受格式良好的連接，這有助於防止許多常見的DDoS攻擊（例如SYN洪水和UDP反射攻擊）到達您的起源。DDoS攻擊也會在靠近來源的地理位置隔離，以防止流量影響其他位置。這些功能可以大幅提升您在大型DDoS攻擊期間繼續為使用者提供流量的能力。您可以用 CloudFront 來保護網際網路上 AWS 或其他地方的來源。

 如果您使用 [Amazon 簡單儲存服務](https://aws.amazon.com/s3/) (Amazon S3) 在網際網路上提供靜態內容， AWS 建議您使用 Amazon CloudFront 保護儲存貯體，並提供以下好處：
+  限制對 Amazon S3 儲存貯體的存取，使其無法公開存取。
+  請確定檢視者 (使用者) 只能透過指定的 CloudFront 發行版本存取值區中的內容，亦即防止他們直接從值區存取內容，或透過非 CloudFront 預期的發佈存取內容。

 若要達成此目標，請設定 CloudFront 為將經過驗證的請求傳送至 Amazon S3，並將 Amazon S3 設定為僅允許存取已驗證的請求來源 CloudFront。 CloudFront 提供兩種將驗證請求傳送至 Amazon S3 來源的方式：來源存取控制 (OAC) 和來源存取身分 (OAI)。我們建議使用，OAC因為它支持：
+  所有 Amazon S3 儲存貯體 AWS 區域，包括 2022 年 12 月後推出的選擇加入區域 
+  使用 AWS KMS (SSE-KMS) 的 Amazon [S3 伺服器端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) 
+  對 Amazon S3 的動態請求 (`PUT` 和 `DELETE`) 

 如需OAC和的詳細資訊OAI，請參閱[限制對 Amazon S3 來源的存取](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)。

 如需使用 Amazon 保護和最佳化 Web 應用程式效能的詳細資訊 CloudFront，請參閱 [Amazon 入門 CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GettingStarted.html)。

# 使用 AWS 全域加速器進一步保護來自您來源的網路流量 (BP1)
<a name="protect-network-traffic-further-from-your-origin-using-aws-global-accelerator-bp1"></a>

 全球加速器是一種網路服務，可將使用者流量的可用性和效能提升高達 60%。這是透過將流量輸入離您使用者最近的節點，並透過 AWS 全球網路基礎結構將流量路由到您的應用程式，無論是在單一或多個中執行。 AWS 區域

 全域加速器會根據最接近使用者的效能，將UDP流量路由TCP傳 AWS 區域 送至最佳端點。如果應用程式發生故障，全域加速器會在 30 秒內提供容錯移轉至下一個最佳端點。Global Accelerator 使用 AWS 全球網路的龐大容量，並與 Shield 整合，例如無狀態 SYN Proxy 功能，挑戰新的連線嘗試，並且僅提供合法使用者服務，以保護應用程式。

 即使您的應用程式使用不受支援的通訊協定， CloudFront 或者您操作的 Web 應用程式需要全域靜態 IP 位址的 Web 應用程式，您也可以實作DDoS復原架構，以提供與 Edge 最佳實務的 Web 應用程式相同的許多優點。

 例如，您可能需要使用者可以將 IP 位址新增至防火牆中的允許清單，而且不會被任何其他 AWS 客戶使用。在這些情況下，您可以使用全域加速器來保護在應用程式負載平衡器上執行的 Web 應用程式，並與 AWS WAF 同時偵測和緩解 Web 應用程式層要求洪水。

 如需有關使用全域加速器保護及最佳化網路流量效能的詳細資訊，請參閱[全域加速器入門。](https://docs.aws.amazon.com/global-accelerator/latest/dg/getting-started.html)

# 邊緣的網域名稱解析 (BP3)
<a name="domain-name-resolution-at-the-edge-bp3"></a>

**Topics**
+ [使用路線 53 以取得DNS可用性](using-route53-for-dns-availability.md)
+ [設定 Route 53 以保護`NXDOMAIN`免受攻擊的成本](configuring-route53-for-cost-protection-from-nxdomain-attacks.md)

# 使用路線 53 以取得DNS可用性
<a name="using-route53-for-dns-availability"></a>

 Amazon Route 53 是高可用性和可擴展的網域名稱系統 (DNS) 服務，可用來將流量導向您的 Web 應用程式。它包括高級功能，例如流量流量，運行 Health 檢查和監控，基於延遲的路由和地理位置。DNS這些進階功能可讓您控制服務如何回應要DNS求，以改善 Web 應用程式的效能並避免網站中斷。這是唯一具有 100% 資料層可用性的 AWS 服務SLA。

 Amazon Route 53 使用[隨機分片和任意廣播](https://aws.amazon.com/builders-library/workload-isolation-using-shuffle-sharding/)[等技術，即使DNS服務受到](https://aws.amazon.com/blogs/architecture/a-case-study-in-global-fault-isolation/)攻擊的目標，也能協助使用者存取您的應用程式。DDoS

 使用隨機分片，委派集中的每個名稱伺服器都會對應於一組唯一的邊緣位置和網際網路路徑。這樣可以提供更大的容錯能力，並將客戶之間的重疊 如果委派集中的一個名稱伺服器無法使用，使用者可以在不同節點重試並接收來自另一個名稱伺服器的回應。

 Anycast 分割可讓每個DNS要求由最佳的位置提供服務，藉此分散網路負載並減少延遲。DNS這為用戶提供了更快的響應。此外，Amazon Route 53 可以偵測DNS查詢來源和數量中的異常情況，並排定來自已知可靠使用者的請求的優先順序。

 如需[有關使用 Amazon Route 53 將使用者路由到您的應用程式的詳細資訊，請參閱 Amazon 路線 53 入門](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html)。

# 設定 Route 53 以保護`NXDOMAIN`免受攻擊的成本
<a name="configuring-route53-for-cost-protection-from-nxdomain-attacks"></a>

 `NXDOMAIN`當攻擊者通常透過已知的「良好」解析器向不存在子域的託管區域發送大量請求時，就會發生攻擊。這些攻擊的目的可能是影響遞歸解析器的緩存和/或權威解析器的可用性，或者可能是一種嘗試發現託管區域記錄的DNS偵察形式。將 Route 53 用於您的權威解析器可減輕可用性/效能影響的風險，但結果可能會大幅增加 Route 53 每月成本。為了防止成本增加，請利用 [Route 53 定價](https://aws.amazon.com/route53/pricing/)，在以下兩個條件都成立時，DNS查詢是免費的：
+  查詢中的網域或子網域名稱 (`example.com`或`store.example.com`) 和記錄類型 (`A`) 與別名記錄相符。
+  別名目標是另一個 Route 53 記錄以外的 AWS 資源。

 例如，建立萬用字元記錄，`*.example.com`其類型 `A` (別名) 指向EC2執行個體、Elastic Load Balancer 或 CloudFront 分佈等資 AWS 源，以便在進`qwerty12345.example.com`行查詢時，會傳回資源的 IP，且不會向您收取查詢費用。

# 應用程式層防禦 (BP1,BP2)
<a name="application-layer-defense-bp1-bp2"></a>

 本 paper 皮書目前所討論的許多技術，都能有效減輕基礎架構層DDoS攻擊對應用程式可用性的影響。為了防禦應用程式層攻擊，您需要實作可讓您特別偵測、擴充以吸收及封鎖惡意要求的架構。這是一個重要的考慮因素，因為基於網絡的DDoS緩解系統通常無效地緩解複雜的應用程序層攻擊。

# 偵測並篩選惡意 Web 要求 (BP1、BP2)
<a name="detect-and-filter-malicious-web-requests-bp1-bp2"></a>

 在應用程式上執行時 AWS，您可以利用 Amazon CloudFront (及其HTTP快取功能) 和 Shield 進階自動應用程式層保護 AWS WAF，協助防止在應用程式層DDoS攻擊期間不必要的請求到達原點。

# Amazon CloudFront
<a name="cloudfront"></a>

 Amazon CloudFront 可防止非 Web 流量到達您的來源，協助減少伺服器負載。若要傳送要求至 CloudFront 應用程式，必須透過完成的TCP握手，使用有效的 IP 位址建立連線，而且無法偽造。此外，還 CloudFront 可以自動關閉來自緩慢讀取或寫入速度慢的攻擊者（例如 [Slowloris](https://en.wikipedia.org/wiki/Slowloris_(computer_security))）的連接。

## CDN 快取
<a name="cdn-caching"></a>

 CloudFront 可讓您從 AWS 邊緣位置提供動態內容和靜態內容。透過從CDN快取提供 Proxy 可快取內容，您可以防止要求在快取期間從特定邊緣快取節點到達您的來源。TTL與對過期但可緩存內容的請[求崩潰](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-traffic-spikes)結合使用，甚至很短的TTL意味著在該內容的請求洪水期間，可以忽略不計的請求數量將到達您的來源。此外，啟用諸如 [CloudFront Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) 之類的功能可以進一步幫助減少來源的負載-您可以採取的任何措施來[提高緩存命中率](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html)都可能意味著具有影響力和非影響力的請求洪水攻擊之間的差異。

# AWS WAF
<a name="aws-waf"></a>

 透過使用 AWS WAF，您可以在全域 CloudFront 發佈或區域資源上設定 Web 存取控制清單 (WebACLs)，以根據請求簽章篩選、監視和封鎖要求。若要判斷是否允許或封鎖要求，您可以考慮諸如 IP 位址或原始國家/地區、要求中的特定字串或模式、要求特定部分的大小，以及存在惡意SQL程式碼或指令碼等因素。您也可以針對要求執行CAPTCHA謎題和無訊息用戶端工作階段挑戰。

 AWS WAF 並且 CloudFront 還使您能夠設置地理限制以阻止或允許來自選定國家/地區的請求。這有助於封鎖或限制來自您不希望為使用者提供服務的地理位置的攻擊。使用中的精細地理比對規則陳述式 AWS WAF，您可以控制區域層級的存取權。

 您可以使用 [ScopeDlow 陳述式](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-scope-down-statements.html)來縮小規則評估的要求範圍以節省成本，並在 [Web 要求上使用「標籤」](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html) 來允許符合要求的規則，將比對結果傳達給稍後在相同網頁中評估的規則。ACL選擇此選項可在多個規則中重複使用相同的邏輯。

 您還可以定義完整的自定義響應，包含響應代碼，標題和正文。

 為了幫助識別惡意請求，請查看 Web 服務器日誌或使用 AWS WAF的日誌記錄和請求採樣。通過啟用日誌 AWS WAF 記錄，您可以獲得有關 Web 分析流量的詳細信息。ACL AWS WAF 支援防護記錄篩選，可讓您指定要記錄哪些 Web 要求，以及在檢查之後從記錄檔捨棄哪些要求。

 記錄檔中記錄的資訊包括從您的 AWS 資源 AWS WAF 接收要求的時間、有關請求的詳細資訊，以及每個要求規則的比對動作。

 抽樣的請求會提供過去三小時內符合您 AWS WAF 其中一個規則的要求詳細資料。您可以使用此資訊來識別潛在惡意流量特徵，並建立新規則來拒絕這些要求。如果您看到許多包含隨機查詢字串的要求，請確定只允許與應用程式快取相關的查詢字串參數。此技術有助於緩解針對您的來源的快取破壞攻擊。

# AWS WAF — 基於速率的規則
<a name="aws-waf-rate-based-rules"></a>

 AWS 強烈建議您在 5 分鐘的滑動視窗中 AWS WAF 收到的HTTP要求數目超過您定義的閾值時，使用中的速率型規則自動封鎖不良參與者的 IP 位址，以防止要求洪水發生。違規的用戶端 IP 位址將會收到 403 個禁止回應 (或設定的區塊錯誤回應)，並保持封鎖狀態，直到要求率降至閾值以下為止。

 建議您將以速率為基礎的規則分層以提供增強的保護，以便您擁有：
+  以比率為基礎的總括規則，可保護您的應用程式免受大量HTTP洪水侵害 
+  一或多個以比率為基礎的規則，用比以總括費率為基礎的規則更具限制性的比率來保護特定URIs費率。

 例如，您可以在 5 分鐘期間內，選擇限制為 500 個請求的總括費率型規則 (不計算範圍對帳單)，然後使用向下計算陳述式，建立下列一或多個以比率為基準的規則，其下限低於 500 (5 分鐘期間內低至 100 個請求)：
+  使用像 "`if NOT uri_path contains '.'`" 這樣的範圍語句保護您的**網頁**，以便對沒有文件擴展名的資源請求得到進一步保護。這也可以保護您的主頁（`/`），這是一個經常針對性的URI路徑。
+  使用像 "」這樣的範圍陳述式保護**動態端點** `if method exactly matches 'post' (convert lowercase)` 
+  保護到達數據庫的**繁重請求**或調用一次性密碼（OTP），例如「」`if uri_path starts_with '/login' OR uri_path starts_with '/signup' OR uri_path starts_with '/forgotpassword'`

 以速率為基礎的「封鎖」模式是您 defense-in-depth WAF設定的基礎，可防止要求洪水發生，也是核准 AWS Shield Advanced 成本保護要求的必要條件。我們將在以下各節中檢查其他 defense-in-depth WAF配置。

# AWS WAF — IP 信譽
<a name="aws-waf-ip-reputation"></a>

 若要防止以 IP 位址信譽為基礎的攻擊，您可以使用 IP 比對來建立規則，或將[受管規則](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list.html)用於 AWS WAF.

 [Amazon 的 IP 信譽清單規則群組](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html#aws-managed-rule-groups-ip-rep-amazon)包含以 Amazon 內部威脅情報為基礎的規則。這些規則會尋找作為機器人的 IP 位址、對 AWS 資源進行偵察或積極參與活動。DDoS該`AWSManagedIPDDoSList`規則, 已觀察到阻止超過 90％ 的惡意請求洪水.

 [匿名 IP 清單規則群組](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html#aws-managed-rule-groups-ip-rep-anonymous)包含封鎖允許檢視者身分模糊化之服務的要求的規則。其中包括來自代理VPNs，Tor 節點和雲平台（不包括 AWS）的請求。

 此外，您可以使用 AWS WAF解決方案之[安全自動化](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/component-details.html)的 [IP 清單剖析器](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/component-details.html#ip-lists-parser)元件，使用協力廠商 IP 信譽清單。

# AWS WAF -智慧型威脅緩解
<a name="aws-waf-intelligent-threat-mitigation"></a>

 殭屍網絡是一種嚴重的安全威脅，通常用於進行非法或有害活動，例如發送垃圾郵件，竊取敏感數據，發起勒索軟件攻擊，通過欺詐性點擊進行廣告欺詐或發動分佈式 denial-of-service （）DDoS攻擊。若要防止機器人攻擊，請使用[AWS WAF 機器人控制](https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html)受管規則群組。此規則群組提供基本的「一般」保護層級，可將標籤新增至自我識別機器人、驗證一般需要的機器人，並偵測高信賴度的機器人簽章，以及「目標式」保護等級，可新增對無法自我識別之進階機器人的偵測。

目標式保護使用進階偵測技術 (例如瀏覽器詢問、指紋識別和行為啟發式法) 來識別不良的機器人流量，然後套用緩解控制，例如速率限制和挑戰規則動作。CAPTCHATarGET 還提供速率限制選項，以強制執行類似人類的存取模式，並透過使用要求權杖套用動態速率限制。如需詳細資訊，請參閱[AWS WAF 機器人控制規則群組。](https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html)若要偵測並管理應用程式登入頁面上的惡意接管嘗試，您可以使用 AWS WAF 詐騙控制帳戶接管預防 (ATP) 規則群組。規則群組會檢查用戶端傳送至應用程式登入端點的登入嘗試，並檢查應用程式對登入嘗試的回應，以追蹤成功率和失敗率，進而達到此目的。

 帳戶創建欺詐是一種在線非法活動，攻擊者嘗試創建一個或多個虛假帳戶。攻擊者使用虛假帳戶進行欺詐活動，例如濫用促銷和註冊獎金，冒充某人以及網絡釣魚等網絡攻擊。虛假帳戶的存在可能會損害您與客戶的聲譽並暴露於金融欺詐行為，對您的業務產生負面影響。

 您可以通過實施欺詐控制帳戶創建欺詐預防（ACFP）功能來監控和控制帳戶創建欺詐嘗試。 AWS WAF AWS WAF 在 AWS 受管規則 規則群組中提供此功能，並`AWS ManagedRulesACFPRuleSet`具有隨附應用程式整合SDKs。

 進一步瞭解[https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections.html](https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections.html)解中的這些保護。

# 自動緩解應用程式層DDoS事件 (BP1、BP2、BP6)
<a name="automatically-mitigate-application-layer-ddos-events-bp1-bp2-bp6"></a>

 如果您已訂閱 AWS Shield Advanced，則可以啟用 [Shield 進階自動應用程式](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-automatic-app-layer-response.html)[層DDoS緩和措施](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-automatic-app-layer-response.html)。此功能會自動建立、評估和部署 AWS WAF 規則，以代表您緩解第 7 層DDoS事件。

 AWS Shield Advanced 為與 WAF Web 關聯的每個受保護資源建立流量基準ACL。顯著偏離已建立基準線的流量會標記為潛在DDoS事件。偵測到事件後，會 AWS Shield Advanced 嘗試識別構成事件的 Web 要求簽章，如果識別簽章，則會建立 AWS WAF 規則以減輕具有該簽章的流量。

 根據歷史基準評估規則並視為安全之後，規則就會新增至受防護管理的規則群組，而且您可以選擇要以計數或封鎖模式部署規則。護 Shield 進階在確定事件已完全結束後，自動移除 AWS WAF 規則。

# 參與SRT（僅限護 Shield 進階訂閱者）
<a name="engage-srt-shield-advanced-subscribers-only"></a>

 此外，訂閱 Shield Advanced 時，您可以參與 AWS SRT以協助您建立規則，以減輕損害應用程式可用性的攻擊。您可以授予您帳戶 AWS Shield Advanced 和的 AWS SRT有限訪問權限 AWS WAF APIs。 AWS SRT只有在您明確授權的情況下，才會存取這些資訊，APIs以便在您的帳戶上放 如需詳細資訊，請參閱本文件的一[支援](support.md)節。

 您可以用 AWS Firewall Manager 來集中設定和管理整個組織中的安全性規 AWS WAF 則，例如 AWS Shield Advanced 保護和規則。您的 AWS Organizations 管理帳戶可以指定有權建立 Firewall Manager 員策略的管理員帳戶。這些策略可讓您定義準則，例如資源類型和標籤，以決定要套用規則的位置。當您擁有多個帳戶並希望將防護標準化時，此功能非常有用。

 如需更多相關資訊：
+  AWS 受管規則 關於 AWS WAF，請參閱「」中[AWS 受管規則 的](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups.html)「 AWS WAF」。
+  使用地理限制來限制對 CloudFront 分佈的存取，請參閱限[制內容的地理分佈](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/georestrictions.html)。
+  使用中 AWS WAF，請參閱：
  +  [開始使用 AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started.html) 
  +  [記錄網絡ACL流量信息](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) 
  +  [檢視 Web 要求範例](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html#web-acl-testing-view-sample) 
+  設定以速率為基礎的規則，請參閱〈[使用以速率為基礎的規則保護網站和服務](https://aws.amazon.com/blogs/aws/protect-web-sites-services-using-rate-based-rules-for-aws-waf/)〉。 AWS WAF
+  如何使用 Firewall Manager 員管理 AWS 資源中的規則部署，請參閱：
  +  [開始使用 Firewall Manager 員 AWS WAF 策略](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-fms.html)。
  +  [開始使用 Firewall Manager 員防 Shield 進階策略](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-fms-shield.html)。