Mô hình quản lý bảo mật Web Application với AWS WAF


Giới thiệu
Bảo vệ tài sản có giá trị cao là ưu tiên hàng đầu của hầu hết các tổ chức. AWS Web Application Firewall (AWS WAF) là giải pháp bảo mật hàng đầu, giúp bảo vệ ứng dụng web khỏi các mối đe dọa ngày càng phức tạp, bao gồm các cuộc tấn công phổ biến và các bot độc hại. Những mối đe dọa này có thể gây gián đoạn dịch vụ, làm suy giảm bảo mật, hoặc tiêu tốn tài nguyên quá mức.
Mặc dù AWS WAF là một dịch vụ được quản lý, việc xây dựng mô hình hoạt động hiệu quả để triển khai lớp bảo vệ quan trọng này thường bị xem nhẹ. Tùy thuộc vào quy mô công nghệ của doanh nghiệp và trường hợp sử dụng, các mô hình hoạt động có thể khác nhau. Trong bài viết này, chúng ta sẽ khám phá ba mô hình hoạt động chính để triển khai AWS WAF: Tập trung, phân tán, và hybrid.
1. AWS WAF là gì?
AWS WAF là một webapp tường lửa giúp bảo vệ ứng dụng khỏi:
Các cuộc tấn công phổ biến như SQL Injection, Cross-Site Scripting (XSS).
Bot độc hại: Làm quá tải hệ thống hoặc làm gián đoạn dịch vụ.
Tấn công DDoS ứng dụng: Tiêu tốn tài nguyên hệ thống hoặc khiến dịch vụ bị ngừng hoạt động.
AWS WAF cho phép customize các security rule, giúp:
Kiểm soát truy cập dựa trên địa chỉ IP, HTTP header request, …
Tăng cường bảo mật với các rule được manage bởi AWS.
Tích hợp với các dịch vụ khác như AWS Firewall Manager, AWS Config và AWS Security Hub để giám sát và tự động hóa việc bảo vệ.
2. Mô hình quản lý AWS WAF
Việc chọn đúng mô hình quản lý giúp triển khai AWS WAF một cách hiệu quả và đáp ứng được nhu cầu bảo mật của tổ chức.
Dưới đây là ba mô hình phổ biến:
2.1. Mô hình tập trung
Mô hình hoạt động
Mô hình tập trung phù hợp với các tổ chức mà nhiều ứng dụng web có yêu cầu bảo mật tương tự nhau. Security group rule được quản lý từ một tài khoản tập trung (Security Account) và áp dụng đồng bộ cho tất cả các ứng dụng trong các tài khoản khác (Tenant Accounts).
Cấu trúc của mô hình này thường bao gồm:
Security Account:
Chứa AWS Firewall Manager để quản lý các Rule Group và Web ACLs (Access Control Lists).
Tạo và duy trì các rule bảo mật chung được áp dụng cho tất cả các Tenant Accounts.
Đảm bảo tính nhất quán và tuân thủ bảo mật trên toàn bộ tổ chức.
Tenant Accounts (ví dụ: Tenant Account 1, Tenant Account 2, Tenant Account ‘n’):
Mỗi tài khoản đại diện cho một nhóm ứng dụng hoặc workload riêng biệt.
Mỗi Tenant sử dụng AWS WAF để áp dụng các Web ACLs được cung cấp từ Security Account.
Application Load Balancer và Amazon API Gateway được bảo vệ bằng AWS WAF để ngăn chặn các mối đe dọa phổ biến như SQL Injection, Cross-Site Scripting (XSS) và các cuộc tấn công bot.
Lợi ích
Quản lý tập trung:
Triển khai và cập nhật rule bảo mật một cách dễ dàng từ một tài khoản duy nhất.
Đảm bảo tất cả ứng dụng trong toàn tổ chức tuân thủ các tiêu chuẩn bảo mật đồng nhất.
Giảm thiểu rủi ro do thiếu sót hoặc cấu hình sai lệch ở từng tài khoản riêng lẻ.
Tăng cường bảo mật:
Áp dụng các AWS Managed Rules và rule tùy chỉnh để bảo vệ ứng dụng khỏi các mối đe dọa phổ biến.
Đảm bảo rằng mọi ứng dụng đều có lớp bảo vệ WAF tiêu chuẩn mà không phụ thuộc vào từng nhóm phát triển.
Phù hợp với hệ thống multi-tenant:
- Với môi trường multi-tenant, mô hình tập trung cho phép áp dụng chung một bộ rulecho nhiều tài khoản khác nhau, giúp bảo đảm tính nhất quán và giảm tải cho các đội ngũ phát triển.
Thách thức
Tăng chi phí vận hành:
- Security Team phải duy trì và giám sát rule cho toàn bộ tổ chức, điều này có thể tăng khối lượng công việc khi tổ chức mở rộng.
Khả năng mở rộng hạn chế:
Khi số lượng workload tăng lên (ví dụ từ 2-3 lên 20+ workload), việc duy trì rule chung có thể gặp khó khăn do các yêu cầu đặc thù và ngoại lệ của từng ứng dụng.
Một số ứng dụng có thể yêu cầu mở rộng hoặc điều chỉnh rule, tạo ra sự phức tạp trong việc quản lý tập trung.
Quy trình triển khai
Tạo và quản lý chính sách AWS WAF:
Delegate AWS Firewall Manager từ account management (account owner AWS Organizations) tới Security account
Sử dụng AWS Firewall Manager để tạo Policy chứa các Web ACLs và Rule Groups.
Triển khai policy này trên tất cả các account trong AWS Organizations.
Có thể tuỳ chọn:
Enforce attach vào resource: Đối với mode này sẽ deattach tất cả các waf đang attach vào resource, sau đó sẽ tạo ra 1 waf rule v2 attach vào resouce để AWS Config đảm bảo rằng resource target đã tuân thủ attach waf đã define.
Non-enforce: Với mode này AWS Firewall Manager tạo ra các waf rule tới target account, và sẽ theo dõi được tình trạng waf rule được được attach đúng hết resource target hay chưa.
Giám sát và tuân thủ:
- Dùng AWS Config để đảm bảo rằng AWS WAF được triển khai đúng trên tất cả các Application Load Balancers và API Gateways.
Theo dõi và ghi nhận thay đổi:
- Kích hoạt AWS CloudTrail để ghi lại và giám sát các thay đổi trong cấu hình AWS WAF.
Phản hồi sự cố:
- Khi phát hiện lưu lượng độc hại, cập nhật rule WAF kịp thời từ Security Account để ngăn chặn các mối đe dọa trên toàn tổ chức.
Ví dụ kiến trúc minh họa
Security Account quản lý và triển khai các Rule Groups thông qua AWS Firewall Manager.
Các Tenant Accounts (1, 2, ‘n’) sử dụng AWS WAF để áp dụng rule cho Application Load Balancers và Amazon API Gateways.
Lưu lượng độc hại được ngăn chặn trước khi ảnh hưởng đến ứng dụng, đảm bảo bảo mật nhất quán.
2.2. Mô hình phân tán
Mô hình hoạt động
Mô hình phân tán phù hợp với các tổ chức có quy mô nhỏ hoặc nơi các đội DevOps và Application Development có sự tự chủ cao trong việc phát triển và triển khai ứng dụng. Trong mô hình này, mỗi nhóm ứng dụng hoặc tenant chịu trách nhiệm tạo, quản lý và triển khai các rule bảo mật AWS WAF của riêng họ.
Mỗi Tenant Account có thể áp dụng các Web ACLs và Rule Groups riêng biệt, phù hợp với nhu cầu bảo mật cụ thể của từng ứng dụng. Điều này mang lại sự linh hoạt và khả năng tùy chỉnh cao nhưng đòi hỏi phải có một quy trình giám sát và tuân thủ để đảm bảo bảo mật chung của toàn tổ chức.
Ví dụ về cấu trúc triển khai mô hình phân tán:
Tenant Account 1:
AWS WAF với các rule tùy chỉnh dành riêng cho ứng dụng của Tenant 1.
Bảo vệ các tài nguyên như Application Load Balancer và Amazon API Gateway.
Tenant Account 2:
AWS WAF với các rule khác nhau tùy vào nhu cầu và tính chất của ứng dụng.
Có thể thêm hoặc chỉnh sửa các rule mà không ảnh hưởng đến các Tenant khác.
Tenant Account 'n':
- Tự quản lý các rule AWS WAF phù hợp với đặc thù của workload.
Lợi ích
Tính linh hoạt cao:
Các đội DevOps có thể tùy chỉnh và áp dụng các rule bảo mật phù hợp với từng ứng dụng cụ thể mà không cần chờ đợi từ đội ngũ bảo mật trung tâm.
Dễ dàng điều chỉnh rule để đáp ứng các yêu cầu thay đổi nhanh chóng trong quá trình phát triển và triển khai ứng dụng.
Tự chủ cho dev team:
Các Application Development Teams có quyền kiểm soát và quyết định về bảo mật của ứng dụng họ phụ trách.
Dev team có thể tự thêm hoặc điều chỉnh các rule để bảo vệ ứng dụng khỏi các mối đe dọa cụ thể mà họ gặp phải.
Tối ưu hóa thời gian phát triển:
- Tránh được các bottleneck khi chờ security team xử lý và phê duyệt rule, từ đó cải thiện tốc độ phát triển và triển khai ứng dụng.
Thách thức
Thiếu nhất quán:
Các rule bảo mật có thể không đồng nhất giữa các Tenant Accounts, dẫn đến sự chênh lệch về mức độ bảo mật giữa các ứng dụng.
Khó khăn trong việc đảm bảo tuân thủ các policy bảo mật chung của tổ chức.
Xung đột về phát triển:
Trong môi trường Agile, áp lực tiến độ có thể khiến các rule bảo mật bị bypass hoặc áp dụng không đầy đủ.
Có nguy cơ phát sinh lỗ hổng bảo mật khi các đội phát triển ưu tiên tốc độ hơn là an toàn.
Khó khăn trong việc giám sát tập trung:
Mỗi Tenant Account tự quản lý AWS WAF, khiến việc theo dõi và đảm bảo tuân thủ trở nên phức tạp.
Đội ngũ bảo mật trung tâm cần có công cụ và quy trình giám sát hiệu quả để phát hiện các vấn đề bảo mật kịp thời.
Công cụ hỗ trợ
AWS Config:
Theo dõi cấu hình và kiểm tra việc triển khai AWS WAF trên các tài nguyên quan trọng như Application Load Balancer và Amazon API Gateway.
Đảm bảo các tài nguyên đều được bảo vệ bằng AWS WAF theo đúng chính sách.
AWS Security Hub:
Tổng hợp và ưu tiên các cảnh báo bảo mật từ nhiều Tenant Accounts.
Cung cấp một bảng điều khiển tập trung để giám sát các sự cố bảo mật trên toàn bộ tổ chức.
AWS CloudTrail:
- Giám sát các thay đổi cấu hình AWS WAF và truy vết các hoạt động liên quan đến bảo mật.
Quy trình triển khai
Application Team tự tạo và duy trì rule:
Mỗi application dev team tạo các rule bảo mật AWS WAF base và bổ sung các rule tùy chỉnh phù hợp với ứng dụng của họ.
Tự triển khai và kiểm tra các rule trong quá trình phát triển và vận hành ứng dụng.
Giám sát và đảm bảo tuân thủ:
Security team sử dụng AWS Config để kiểm tra xem AWS WAF đã được bật cho các tài nguyên quan trọng chưa.
AWS Security Hub được sử dụng để tổng hợp các cảnh báo từ nhiều account và ưu tiên xử lý các vấn đề quan trọng.
Xử lý sự cố:
Khi phát hiện lưu lượng đáng ngờ hoặc lỗ hổng bảo mật, application dev team cập nhật rule AWS WAF để chặn mối đe dọa kịp thời.
Security team có thể hỗ trợ điều tra và đưa ra khuyến nghị bảo mật khi cần thiết.
Ví dụ minh họa
Giả sử bạn có các Tenant Accounts với các yêu cầu bảo mật khác nhau:
Tenant 1: Ứng dụng web thương mại điện tử cần các rule chặn SQL Injection và Cross-Site Scripting (XSS).
Tenant 2: Ứng dụng API cung cấp dữ liệu cần bảo vệ khỏi bot độc hại và rate limiting.
Tenant ‘n’: Ứng dụng AI/ML cần cho phép truy cập từ các nguồn đặc biệt qua CloudFront.
Mỗi Tenant Team có thể tự triển khai các rule AWS WAF phù hợp mà không ảnh hưởng đến các Tenant khác.
2.3. Mô hình Hybrid
Mô hình hoạt động
Mô hình hybrid là sự kết hợp giữa quản lý tập trung và phân tán trong việc triển khai và duy trì các security rule AWS WAF. Security Team chịu trách nhiệm thiết lập và quản lý các quy tắc cơ bản (Baseline Ruleset) thông qua AWS Firewall Manager. Trong khi đó, Application Teams có thể tùy chỉnh và bổ sung thêm các rule bảo mật đặc thù cho từng ứng dụng cụ thể trong Tenant Accounts.
Kiến trúc của mô hình này thường bao gồm:
Security Account:
Quản lý tập trung các Baseline Ruleset thông qua AWS Firewall Manager.
Triển khai các rule chung trên tất cả Tenant Accounts để đảm bảo tuân thủ các tiêu chuẩn bảo mật tối thiểu.
Tenant Accounts (ví dụ: Tenant Account 1, Tenant Account 2, Tenant Account ‘n’):
Sử dụng các rule cơ bản từ Security Account và bổ sung thêm Custom Rules phù hợp với nhu cầu bảo mật của từng ứng dụng.
Bảo vệ tài nguyên như Application Load Balancer và Amazon API Gateway bằng AWS WAF.
Lợi ích
Cân bằng giữa bảo mật và linh hoạt:
Các ứng dụng tuân thủ rule bảo mật cơ bản do Security Team triển khai.
Cho phép đội phát triển thêm các rule tùy chỉnh để đáp ứng nhu cầu bảo mật cụ thể.
Tăng cường phối hợp giữa các đội:
Khuyến khích mô hình DevSecOps, nơi Security Team và DevOps Team hợp tác để đảm bảo bảo mật trong suốt vòng đời phát triển phần mềm.
Cải thiện sự phối hợp và trao đổi thông tin giữa các nhóm trong tổ chức.
Quản lý linh hoạt cho tổ chức lớn:
Phù hợp với các tổ chức lớn có nhiều ứng dụng và workload khác nhau.
Cho phép mở rộng quy mô bảo mật dễ dàng khi tổ chức phát triển.
Thách thức
Yêu cầu sự phối hợp chặt chẽ:
Cần có quy trình rõ ràng để đảm bảo sự phối hợp nhịp nhàng giữa Security Team và Application Teams.
Đòi hỏi đào tạo và nâng cao nhận thức về bảo mật cho application dev team.
Quản lý phức tạp:
Cần một hệ thống giám sát và báo cáo hiệu quả để đảm bảo các rule bảo mật được tuân thủ và không bị xung đột.
Có thể sử dụng công cụ như Amazon Security Lake để tập trung hóa dữ liệu giám sát và phân tích.
Công cụ hỗ trợ
AWS Firewall Manager:
Quản lý và triển khai các rule cơ bản trên toàn bộ Tenant Accounts.
Đảm bảo tuân thủ bảo mật từ một tài khoản tập trung.
AWS Config:
Theo dõi và kiểm tra việc triển khai AWS WAF trên các tài nguyên.
Đảm bảo các Tenant Accounts tuân thủ rule bảo mật chung.
AWS Security Hub:
Giám sát và tổng hợp các cảnh báo bảo mật từ nhiều Tenant Accounts.
Phát hiện và xử lý các sự cố bảo mật kịp thời.
Amazon Security Lake:
- Lưu trữ và phân tích log bảo mật tập trung để phát hiện các hành vi đáng ngờ và đảm bảo tuân thủ.
Quy trình triển khai
DevSecOps Team tạo các rule chung:
Sử dụng AWS Firewall Manager để tạo và triển khai Baseline Ruleset cho toàn bộ Tenant Accounts.
Áp dụng các rule bảo mật cơ bản như chặn SQL Injection, Cross-Site Scripting (XSS), và các cuộc tấn công bot.
Application Team bổ sung các rule riêng:
Tự tạo và áp dụng các Custom Rules để bảo vệ ứng dụng khỏi các mối đe dọa đặc thù.
Tùy chỉnh rule bảo mật dựa trên nhu cầu và đặc điểm của từng ứng dụng.
Giám sát và phối hợp liên tục:
Sử dụng AWS Config và AWS Security Hub để theo dõi việc tuân thủ và phát hiện các vấn đề bảo mật.
Sec team và dev team phối hợp để giải quyết các sự cố và cải tiến rule bảo mật liên tục.
Okie nhé :D
Subscribe to my newsletter
Read articles from Hoàng Anh Nguyễn Bá directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
