WAF hay Web Application Firewall là lớp bảo vệ ở tầng HTTP, đứng trước web app hoặc API để kiểm tra từng yêu cầu và quyết định cho đi qua hoặc chặn lại theo rule. Mục tiêu của WAF là chặn sớm traffic độc hại trước khi vào backend.

WAF làm được gì
WAF giúp giảm rủi ro security cho web app và API bằng cách chặn các yêu cầu có dấu hiệu tấn công hoặc lạm dụng.
Những việc WAF làm tốt trong thực tế:
- Chặn các mẫu tấn công phổ biến như SQL injection, XSS, path traversal
- Rate limit theo IP, theo path, theo token để giảm brute force và bot spam
- Chặn các yêu cầu bất thường theo rule như kích thước body quá lớn, header bất thường, user agent đáng ngờ
- Hỗ trợ virtual patch khi app chưa kịp fix lỗ hổng
- Ghi nhật ký và chỉ số cho traffic bị chặn để bạn khoanh vùng sự cố và tinh chỉnh rule
Ví dụ: Endpoint login bị bot thử mật khẩu liên tục. WAF áp rate limit cho path login để giảm tải backend và giảm spike lỗi.
Cách WAF hoạt động
Cách hiểu đơn giản là WAF nằm trên đường đi của HTTP traffic và làm nhiệm vụ lọc.
Luồng cơ bản:
- Client gửi yêu cầu HTTP
- Yêu cầu đi qua WAF trước khi vào hệ thống
- WAF kiểm tra các phần quan trọng như method, path, header, query string, body
-
WAF so khớp với rule
- Nếu khớp rule chặn, WAF chặn và trả response ngay tại edge
- Nếu khớp rule cho phép, WAF chuyển tiếp yêu cầu vào backend
- WAF ghi nhật ký và chỉ số để bạn theo dõi và điều chỉnh rule
Điểm cần nhớ: WAF dựa trên rule và mẫu nhận diện. Rule càng chặt thì giảm rủi ro càng nhiều, nhưng cũng tăng khả năng chặn nhầm.
WAF khác firewall truyền thống ra sao
WAF và firewall truyền thống đều chặn traffic, nhưng khác tầng và dữ liệu mà nó dựa vào để ra quyết định:
- Firewall truyền thống tập trung ở network layer, chặn theo IP, port, protocol
- WAF tập trung ở HTTP layer, chặn theo nội dung của yêu cầu như payload, path, header, query
Cách dùng thực tế:
- Firewall giảm bề mặt tấn công ở network
- WAF giảm bề mặt tấn công ở web layer
WAF đặt ở đâu trong hệ thống
WAF nên đặt ở nơi hứng traffic public và có thể chặn sớm.
Các vị trí phổ biến:
- Edge trước reverse proxy hoặc Load Balancer để chặn trước khi yêu cầu vào hạ tầng
- Trước API Gateway nếu bạn muốn áp rule theo route và quan sát theo endpoint
- Trước các khu vực nhạy cảm như login, admin, payment, public API
Nguyên tắc vận hành:
- Đặt WAF ở điểm chung của traffic để phạm vi bảo vệ cao
- Triển khai rule cần có cách quay lui nhanh vì chặn nhầm có thể gây ảnh hưởng người dùng ngay lập tức
WAF chặn được gì và không chặn được gì
WAF thường chặn tốt:
- SQL injection, XSS, path traversal
- Brute force và bot spam theo mẫu phổ biến
- Một số kiểu lạm dụng rõ ràng theo rule như request size quá lớn hoặc tần suất gọi quá cao theo endpoint
WAF thường không xử lý tốt:
- Lỗ hổng logic nghiệp vụ như vượt quyền, lạm dụng luồng thao tác hợp lệ
- Lạm dụng nằm trong request hợp lệ nhưng vẫn gây tốn tài nguyên theo cách hợp lệ
- Tấn công không nằm ở HTTP layer, ví dụ DDoS thuần băng thông
Vì vậy, WAF là lớp bổ sung. Bạn vẫn cần auth đúng, secure coding, monitoring và rate limit ở application khi cần.
Kết luận
WAF là lớp bảo vệ ở tầng HTTP giúp chặn sớm các mẫu tấn công web phổ biến và giảm bot, brute force trước khi traffic vào backend. WAF khác firewall truyền thống ở chỗ ra quyết định dựa trên nội dung yêu cầu HTTP, và hiệu quả nhất khi đặt ở edge hoặc trước API Gateway. WAF không thay thế secure coding và không xử lý tốt lỗi logic nghiệp vụ, nên cần dùng đúng kỳ vọng và vận hành theo hướng tinh chỉnh rule dựa trên nhật ký và mức độ ảnh hưởng người dùng.






