AWS WAF — Web 應用程式防火牆

Cpchin
eCloudture
Published in
Jun 23, 2021

現今由於網路發達,新興科技迅速崛起與普及,影響鋪天蓋地而來,沒有人能置身事外,許多橫跨內外部的威脅,像是:資料外洩、DDoS、APT、特權帳號濫用等,難以徹底斷絕。面對越來越多的資安問題,我們必須加緊腳步開始了解網路安全。

那麼在 AWS 有什麼樣的服務可以幫助企業維護雲端上的安全呢?

什麼是 AWS WAF

AWS WAF 是一種 Web 應用程式防火牆,可協助保護 Web 應用程式不受常見 Web 入侵程式的侵擾。

使用 AWS WAF 可透過建立規則阻擋常見的網路攻擊模式以及特定的應用程式。幾分鐘內即可部署新規則,讓應用程式對不尋常的流量能夠做出快速的應變方式。此外,AWS WAF 還包含功能完整的 API,讓你可以建立、部署與維護安全規則到應用程式上。

可以將 AWS WAF 掛在 Cloudfront、Aplication Load Balancer 或是 API gateway 前面,透過 AWS WAF 協助擋下簡單的網路攻擊,例如 DDoS, XSS, SQL Injection 等等。

防火牆的運作模式

透過建立條件、規則和 web 存取控制清單 (Web ACL),在將條件組合成規則至 Web ACL。

條件 :條件定義你想要 AWS WAF 注意 web 請求的基礎特徵。如字串查詢的長度、發出請求的ip位址位址或地址範圍、發出請求的國家或地理位置等等。

條件組合成規則 ,以精準針對想允許、封鎖或計數的請求。AWS WAF 提供兩種規則類型:

  • 一般規則: 一般規則只使用條件針對特定請求。
  • 以速率為基礎的規則: 以速率為基礎的規則與一般規則類似,但有一個地方不同:速率限制。以速率為基礎的規則會計算每 5 分鐘從指定 IP 地址發出並抵達的請求。此規則可以觸發動作,當請求數量超過速率限制時。如洪水保護就會使用這個保護。

以 SQL Injection 為例

是發生於應用程式與資料庫層的安全漏洞。是在輸入的字串之中夾帶 SQL 指令,在設計不良的程式當中忽略了字元檢查,那麼這些夾帶進去的惡意指令就會被資料庫伺服器誤認為是正常的 SQL 指令而執行,因此遭到破壞或是入侵。

可以選擇你想看到的攻擊類型,知道攻擊的數量及時間點,以這張圖片為例,黃色的線為網頁遭受 SQL Injection 攻擊。

補充

Web ACL:定義每一個規則動作,包含允許、封鎖或計數-和預設動作的位置:

每個規則的動作

當請求符合條件裡的所有規則時,AWS WAF 有權封鎖請求、或允許將請求轉發至 API Gateway API、CloudFront 分佈或 Application Load Balancer。您可以指定 AWS WAF 要為每個規則執行的動作。

AWS WAF 按照你列出規則的順序,比較請求與 Web ACL中的規則。然後,AWS WAF 採取請求所符合的第一個規則關聯的動作。例如,如果 web 請求符合兩個規則,一個為允許請求,另一個為封鎖請求,AWS WAF 將根據規則所列的順序決定允許或封鎖請求。

預設動作

預設動作判斷 AWS WAF 是否該允許或封鎖不符合 Web ACL 中任何規則中的所有條件的請求。

Conclusion

透過 AWS WAF 可以擋下許多不同種類的惡意攻擊,你可以根據自己的需求修改規則,為自己的應用程式做最佳的防禦。如果對資訊安全領域沒有那麼熟悉的使用者定義攻擊行為相對困難,你可以在 AWS Marketplace 購買第三方專業廠商提供的範本,可以快速方便的是先建立好應用程式防火牆。

參考網址

Originally published at https://www.ecloudture.com on June 23, 2021.

--

--