Hướng Dẫn Chi Tiết AWS WAF Kết Hợp Với ALB - Bảo Vệ Ứng Dụng Toàn Diện Chuyên mục Devops 2025-04-23 7 Lượt xem 7 Lượt thích 0 Bình luận
Khi triển khai một ứng dụng web trên AWS, việc bảo vệ nó khỏi các cuộc tấn công như SQL injection, bot traffic, hoặc IP xấu là điều thiết yếu. AWS WAF (Web Application Firewall) là một công cụ mạnh mẽ giúp bạn làm điều đó, đặc biệt khi kết hợp cùng Application Load Balancer (ALB). Bài viết này sẽ tổng hợp toàn bộ kiến thức và hướng dẫn sử dụng AWS WAF kết hợp ALB một cách chi tiết, dễ hiểu, đồng thời mở rộng sang các dịch vụ AWS khác mà WAF có thể tích hợp.
1. AWS WAF Là Gì?
AWS WAF giúp bạn kiểm soát và lọc lưu lượng HTTP(S) đến ứng dụng dựa trên các rule mà bạn thiết lập. Các hành động của rule có thể là: Allow, Block, Count, CAPTCHA, hoặc Challenge.
WAF có thể bảo vệ ứng dụng khỏi:
-
SQL injection, XSS, Command Injection...
-
Bot traffic, credential stuffing
-
IP xấu, IP ẩn danh (VPN, Tor...)
-
Các request bất thường từ các vùng địa lý
2. Cách Tạo Web ACL Chi Tiết (Web Application Firewall ACL)
Đây là phần cực kỳ quan trọng và nên được làm đúng ngay từ đầu:
Bước 1: Khởi tạo Web ACL
-
Truy cập AWS Console > WAF & Shield > Web ACLs
-
Chọn Create web ACL
-
Nhập tên ACL, chọn region, chọn resource type (Application Load Balancer nếu bạn dùng ALB)
-
(Tùy chọn) Bật CloudWatch logging nếu bạn muốn theo dõi log request
Bước 2: Cấu hình các Rules
Bạn có 2 loại rule chính:
-
Managed Rule groups: AWS tạo sẵn, bảo trì, cập nhật thường xuyên
-
Custom Rules: bạn tự tạo theo điều kiện riêng như IP match, regex, geo location...
Một số managed rules nên dùng:
Rule | Mục đích |
---|---|
Core rule set | Bảo vệ chung, chống tấn công OWASP Top 10 |
SQL database | Ngăn chặn SQL injection |
Known bad inputs | Chặn các mẫu input xấu phổ biến |
Amazon IP reputation list | Chặn các IP bị đánh giá xấu bởi Amazon |
Anonymous IP list | Chặn truy cập từ VPN, Tor, proxy ẩn danh |
Linux/Windows/POSIX/PHP rule sets | Chặn các pattern tấn công theo OS hoặc framework |
Bot Control (Common/Targeted) | Bảo vệ khỏi bot, scraper, credential stuffing |
Các rule cao cấp (mất phí thêm):
Tên | Mục đích |
Account takeover prevention | Ngăn chiếm đoạt tài khoản qua login page |
Account creation fraud prevention | Ngăn đăng ký tài khoản giả mạo |
Bước 3: Thiết lập thứ tự và hành động của rule
-
Mỗi rule có một action: Allow, Block, CAPTCHA, Challenge, Count
-
Bạn nên để các rule "allow" ở đầu (VD: allow IP nội bộ), rule block/captcha phía sau
Bước 4: Gắn Web ACL vào Resource
-
Trong phần "Associations", chọn Add association
-
Gắn vào Application Load Balancer bạn đang dùng
3. CAPTCHA và Challenge - Giảm bot, chống abuse
Bạn có thể cấu hình CAPTCHA (hiển thị xác minh người dùng) cho:
-
IP từ quốc gia cụ thể (VD: Trung Quốc)
-
Truy cập nhiều lần liên tục (brute force)
Ví dụ: CAPTCHA cho IP từ China:
-
Tạo rule: Geo match = CN (China) => Action = CAPTCHA
-
Người dùng sẽ thấy trang CAPTCHA của AWS, xác minh xong mới truy cập tiếp
4. IP Sets, Regex Pattern Sets, Rule Groups
-
IP Sets: Tập hợp các IP (block/allow tùy vào rule dùng nó)
-
Regex Pattern Sets: Tập regex để lọc path, header, body...
-
Rule Groups: Gom nhiều rule lại quản lý theo nhóm, có thể là AWS Managed hoặc tự tạo
Ví dụ:
-
IP Set: BlockedIPs chứa 198.51.100.0/24
-
Tạo rule: nếu IP nằm trong BlockedIPs → Block
5. Dashboard và Add-on Protection
Các tab trong giao diện WAF:
-
Bot Control Dashboard: thống kê bot traffic, hoạt động CAPTCHA/Challenge
-
Application Integration: tích hợp với các dịch vụ như ALB, API Gateway, CloudFront...
-
IP Sets / Regex Pattern Sets: quản lý tập hợp IP/Regex cho reuse
-
Rule Groups: quản lý nhóm rule tập trung
-
Add-on Protections:
-
Account Takeover Prevention
-
Account Creation Fraud Prevention
-
Các add-on này tính phí riêng nhưng cực kỳ hiệu quả trong bảo vệ đăng nhập, đăng ký tài khoản khỏi abuse và gian lận.
6. Sampling & Logging
-
Enable sampling requests: nên bật khi test rule → giúp bạn xem request nào khớp với rule nào
-
Enable logging to CloudWatch/S3: theo dõi toàn bộ hoạt động WAF, phân tích sâu hơn
7. Ngoài ALB, WAF Còn Bảo Vệ Gì?
WAF không chỉ tích hợp với ALB. Bạn có thể gắn Web ACL vào:
-
Amazon CloudFront: bảo vệ CDN
-
Amazon API Gateway: bảo vệ API
-
AWS App Runner, AWS AppSync
8. Kết Luận
AWS WAF là một trong những lớp bảo mật mạnh mẽ, dễ cấu hình nhất để bảo vệ ứng dụng web của bạn. Khi kết hợp với ALB và các rule hợp lý (AWS Managed hoặc tự tạo), bạn hoàn toàn có thể giảm đáng kể rủi ro từ các mối đe dọa trên internet.
Nếu bạn đang dùng ALB mà chưa có WAF, hãy triển khai ngay hôm nay để tăng cường bảo mật cho hệ thống của mình!
Bình luận (0)