Rate Limiting
Prerequistites
- DDOS
- 分散式阻斷服務攻擊(distributed denial-of-service attack)亦稱洪水攻擊
- DoS
- 阻斷服務攻擊(英語:denial-of-service attack)
- 預防方式是使用 rate limit, 可以限制 IP, 使用者帳戶, 區域等等。
Rate Limiting
- 意思就是限流
- 根據維基百科,定義是「控制計算機發送或接收的請求之頻率」
Rate Limiting for Multiple Server
- use Redis to implement rate limiting for multiple servers
Application Layer 如何實現 Rate Limit
- 實現方式
- 在 Node.js 裡,有一個用來做限流的 express middleware 叫做 express-rate-limit,可看這篇
- 缺點
- 在 API server 裡面自己用 middleware 做限流,雖然這樣做感覺很方便,但也會讓 API server 無法完全專注在業務邏輯上
AWS WAF (Web Application Firewall)
- 目的是保護您的 Web 應用程式免受常見 Web 入侵程式的危害
運作方式

關於 AWS WAF components
-
Web ACLs
- 目的是保護 AWS resources,藉由建立一組 web ACL 並新增 rules 去定義保護策略
- 屬於 AWS WAF resource
-
Rules
- 顧名思義,定義檢查標準 (inspection criteria),當有 matching requests,可以做的事情如允許通過、計算他們或者執行 CAPTCHA puzzles 去檢查是否為機器人
- 不屬於 AWS WAF resource
-
Rule groups
- 可以組合自己的 rule groups,也可以直接在 web ACL 中定義規則
- 屬於 AWS WAF resource
關於 Web ACL capacity units (WCU)
- 使用 WCU 來計算與控制運行規則、規則組和 Web ACL 所需的操作資源
- For example, a size constraint rule statement uses fewer WCUs than a statement that inspects against a regex pattern set.
- AWS WAF 會管理 Rule capacity, Rule group capacity, Web ACL capacity,詳情可以參考這篇
關於 Resources that you can protect with AWS WAF
- 使用 AWS WAF web ACL 去保護全球或區域性的 resource types,只需要將 web ACL 連結到你想要保護的 resources 上,官方提供 Amazon CloudFront 以及 Regional resources 特別說明
- Note: Amazon CloudFront 是一項內容交付網路(CDN) 服務,可協助您以高速效能、安全和開發人員易用性快速、可靠地分發靜態和動態內容。
- 限制
- 一個 web ACL 可以連結多個 AWS resources,一個 AWS resource 僅連結一個 web ACL
- 一個 web ACL 可以連結多個 CloudFront distributions,且已連結到 CloudFront distribution 的 web ACL 不能再去連結其他 AWS resource type
使用情境,舉例 3 點
- 篩選 Web 流量
- 建立規則以根據各種條件篩選 Web 請求,例如 IP 地址、HTTP 標頭和內文,或自訂 URI。
- 防止帳戶接管詐騙
- 監控應用程式的登入頁面,偵測以盜用憑證對使用者帳戶進行的未經授權存取。
- 使用 API 管理 AWS WAF
- 自動建立和維護規則,並將這些規則併入開發和設計程序中。
比較 AWS WAF, AWS Shield 與 AWS Firewall Manager
- AWS WAF
- monitor requests that are forwarded to your web applications and control access to your content.
- AWS Shield
- help protect against DDoS attacks.
- AWS Firewall Manager
- set up your firewall rules and apply the rules automatically across accounts and resources, even as new resources are added.
參考資料 👐
- What are AWS WAF, AWS Shield, and AWS Firewall Manager?
- How AWS WAF works
- 低延遲內容交付網路 (CDN) - Amazon CloudFront - Amazon Web Services
- express-rate-limit
🍀 若喜歡我的分享,可以幫我拍拍手👏,是對我最大的鼓勵