Bỏ qua tới nội dung
Kiến thức Website· ·13 phút đọc

Firewall là gì, WAF khác tường lửa thông thường ở điểm nào và website bạn cần loại nào

Nguyen Hien
Firewall là gì, WAF khác tường lửa thông thường ở điểm nào và website bạn cần loại nào
Cỡ chữ

Firewall là gì: tường lửa không phải một thứ mà là nhiều tầng

Firewall (tường lửa) là hệ thống lọc traffic (lưu lượng dữ liệu) ra vào một mạng hoặc thiết bị, cho phép những gì an toàn và chặn những gì nghi ngờ dựa trên bộ quy tắc được thiết lập trước. Ý tưởng cốt lõi đơn giản: mọi kết nối đến đều phải đi qua kiểm tra, không ai vào tự do.

Tên gọi “firewall” xuất phát từ kỹ thuật xây dựng: tường ngăn lửa (firewall) trong tòa nhà dùng để ngăn lửa lan từ khu vực này sang khu vực khác. Trong an ninh mạng, firewall ngăn traffic độc hại lan sang hệ thống được bảo vệ.

Điều khiến nhiều người nhầm lẫn là “firewall” không chỉ là một thiết bị hay một phần mềm cụ thể. Đây là khái niệm tổng quát áp dụng ở nhiều tầng khác nhau trong hệ thống. Firewall trên router nhà bạn, firewall trên máy chủ Linux và WAF (Web Application Firewall) trên website đều được gọi là “firewall” nhưng hoạt động ở các tầng hoàn toàn khác nhau và bảo vệ trước các loại tấn công hoàn toàn khác nhau.

Ba loại tường lửa và vị trí của từng loại trong hệ thống

Để hiểu tại sao website cần WAF riêng mà không thể dùng chung firewall mạng, cần nhìn vào vị trí của từng loại trong hệ thống và những gì chúng có thể kiểm tra:

Bảng so sánh ba loại tường lửa: network firewall, host-based firewall và WAF theo tầng, loại traffic kiểm tra và tấn công ngăn được
So sánh ba loại tường lửa theo tầng hoạt động và loại tấn công mỗi loại ngăn được
Loại tường lửaNgồi ở đâuKiểm tra gìNgăn được loại tấn công nàoKhông ngăn được gì
Network Firewall (tường lửa mạng)Ở ranh giới mạng, trước khi traffic vào hệ thốngĐịa chỉ IP nguồn, cổng kết nối, giao thức mạngChặn IP độc, chặn cổng không cần thiết, ngăn DDoS cơ bảnKhông đọc được nội dung của gói tin đã vào cổng cho phép, không hiểu HTTP
Host-based Firewall (tường lửa máy chủ)Trên chính máy chủ, bảo vệ từng server riêngTraffic vào ra máy chủ đó, kiểm soát process nào được kết nối mạngGiới hạn chương trình nào được gửi/nhận dữ liệu, phát hiện process bất thườngKhông phân tích nội dung HTTP request ở tầng ứng dụng
WAF (Web Application Firewall)Trước web server, đọc từng HTTP request trước khi vào ứng dụngToàn bộ nội dung HTTP: URL, header, query string, body của requestSQL injection, XSS (cross-site scripting), CSRF, path traversal, tấn công ứng dụng web theo OWASP Top 10Không thay thế được firewall mạng, không bảo vệ hệ thống ngoài tầng web

Điểm phản biện quan trọng: nhiều chủ web nghĩ “đã có firewall của hosting rồi thì an toàn”. Firewall của hosting là loại network hoặc host-based, không đọc được nội dung HTTP. Nếu attacker gửi SQL injection qua cổng 443 (HTTPS) thì firewall mạng không thể phân biệt được đó là request bình thường hay tấn công, vì nó chỉ thấy “traffic HTTPS từ IP chưa bị blacklist”.

WAF ngồi ở đâu trong đường đi của một lượt truy cập

Mỗi khi ai đó gõ địa chỉ website của bạn và nhấn Enter, request đó đi qua một loạt tầng trước khi chạm tới ứng dụng. WAF ngồi ở một vị trí rất cụ thể trong chuỗi đó:

Sơ đồ đường đi của một HTTP request từ người dùng qua DNS, CDN, WAF, web server rồi vào ứng dụng, với WAF đứng giữa làm trạm kiểm soát
WAF đứng giữa internet và web server, kiểm tra từng request trước khi vào ứng dụng

Chuỗi đi như sau: người dùng gửi request → qua DNS phân giải tên miền → qua CDN (nếu có) → vào WAF → WAF kiểm tra → nếu an toàn thì chuyển sang web server → server xử lý và trả về nội dung. WAF hoạt động như một trạm kiểm soát đặt ngay trước cửa vào ứng dụng.

WAF làm việc như một reverse proxy (đại diện ngược): thay vì client kết nối thẳng vào server, client kết nối vào WAF, WAF kiểm tra rồi mới kết nối vào server thay mặt client. Điều này có nghĩa là server thật không bao giờ tiếp xúc trực tiếp với request từ bên ngoài mà không qua lọc. Cloudflare và Sucuri là hai dịch vụ WAF phổ biến hoạt động theo mô hình này, với traffic đi qua hạ tầng của họ trước khi về server của bạn.

WAF chặn được gì và không chặn được gì

WAF không phải lá chắn toàn năng. Hiểu đúng giới hạn của WAF quan trọng không kém hiểu những gì nó làm được, để không phụ thuộc sai cách:

So sánh hai cột: WAF chặn được gì (SQL injection, XSS, CSRF, brute force, bad bot) và không chặn được gì (malware đã trên server, tấn công qua SSH, lỗ hổng logic ứng dụng)
WAF chặn tấn công từ bên ngoài vào ứng dụng nhưng không xử lý được malware đã có trên server

WAF chặn được: SQL injection, XSS (cross-site scripting), CSRF (cross-site request forgery), tấn công brute force vào trang đăng nhập, bad bot quét lỗ hổng tự động, và nhiều loại tấn công ứng dụng web khác trong danh sách OWASP Top 10. WAF cũng có thể hạn chế tấn công DDoS ở tầng ứng dụng bằng cách giới hạn số request từ một IP trong một khoảng thời gian.

WAF không chặn được: Malware đã tồn tại trên server (WAF chỉ lọc traffic vào ra, không scan file trên server), tấn công qua SSH hoặc FTP, lỗ hổng logic trong code ứng dụng mà attacker khai thác bằng request hợp lệ về hình thức, zero-day exploit chưa có trong rule của WAF, và tấn công từ bên trong hệ thống.

Đây là lý do tại sao bảo mật website là nhiều tầng, không phải một giải pháp duy nhất. WAF bảo vệ tầng ứng dụng từ bên ngoài. Nếu website đã bị nhiễm malware từ trước hoặc qua con đường khác (như plugin lậu), WAF không giúp ích được gì cho việc dọn dẹp đó. Xem thêm bài malware là gì để hiểu các con đường malware xâm nhập mà WAF không thể ngăn.

Khi nào website thực sự cần WAF

Bốn tình huống điển hình cần dùng WAF: website có form nhận dữ liệu, website thương mại điện tử, website tin tức và website quản lý tài khoản người dùng
Bốn nhóm website cần cân nhắc WAF từ sớm

Không phải website nào cũng cần WAF ngay từ đầu. Nhưng có những tình huống mà việc không có WAF là rủi ro rõ ràng:

Website có form nhận dữ liệu từ người dùng: Form đăng nhập, form liên hệ, form tìm kiếm, giỏ hàng đều là điểm tiềm năng cho SQL injection và XSS. Nếu code không được viết an toàn từ đầu, WAF là lớp bảo vệ bổ sung.

Website chạy WordPress hoặc CMS phổ biến: Các CMS phổ biến là mục tiêu được bot quét liên tục vì attacker biết rõ cấu trúc và các lỗ hổng phiên bản cũ. WAF có thể chặn các scan tự động này trước khi chúng tìm ra điểm yếu.

Website có traffic tương đối và thiệt hại kinh doanh khi downtime: Nếu website không hoạt động một ngày gây thiệt hại đáng kể, chi phí WAF hàng tháng thường nhỏ hơn nhiều so với chi phí dọn malware hoặc phục hồi sau tấn công.

Website chưa được cập nhật đều đặn: Nếu vì lý do nào đó bạn không thể cập nhật plugin và WordPress ngay khi có bản vá, WAF có thể “vá tạm” những lỗ hổng đã biết ở tầng traffic trong khi chờ cập nhật thật.

Người không rành kỹ thuật cần biết về firewall tới mức nào

Bạn không cần biết cách cấu hình rule của WAF hay đọc firewall log. Nhưng có hai điều quan trọng nên nắm:

Thứ nhất, hỏi thẳng nhà cung cấp hosting xem gói của bạn có WAF không. Nhiều gói hosting chia sẻ có firewall mạng cơ bản nhưng không có WAF cho tầng ứng dụng. Đây là câu hỏi đơn giản nhưng ít người hỏi.

Thứ hai, biết rằng firewall không đồng nghĩa với bất khả xâm phạm. Một website có WAF vẫn cần cập nhật plugin thường xuyên, dùng mật khẩu mạnh và có backup định kỳ. WAF là một tầng trong nhiều tầng bảo vệ, không phải giải pháp độc lập thay thế tất cả.

Nếu bạn muốn có người chuyên trách kiểm tra và duy trì các tầng bảo mật này cho website, xem thêm dịch vụ bảo mật website của Web22 để biết những gì được kiểm tra và giám sát định kỳ.

Câu hỏi thường gặp về firewall

Cloudflare free có phải WAF không?

Gói miễn phí của Cloudflare có một số tính năng lọc DDoS cơ bản nhưng bộ rule WAF đầy đủ (chặn OWASP Top 10, custom rule) chỉ có ở gói trả phí. Gói free giúp được phần nào với DDoS và bot đơn giản, nhưng không thay thế được WAF thực sự cho website thương mại.

WAF có làm chậm website không?

Có thêm một bước kiểm tra trong đường đi của request nên về lý thuyết là có độ trễ. Nhưng với WAF dạng CDN (như Cloudflare hay Sucuri), traffic đi qua mạng của họ thường nhanh hơn đường thẳng vì được phân phối qua các điểm gần người dùng. Trong thực tế nhiều website sau khi bật WAF qua CDN lại tải nhanh hơn chứ không chậm hơn.

Có thể tự cài WAF trên WordPress không?

Plugin bảo mật WordPress như Wordfence hay Sucuri Security có tính năng WAF tích hợp, hoạt động ở tầng PHP (muộn hơn trong chu kỳ xử lý request so với WAF đặt trước web server). Loại này dễ cài hơn và phù hợp cho website nhỏ, nhưng kém hiệu quả hơn WAF đặt ngoài vì request vẫn chạm đến server trước khi bị kiểm tra.

Firewall máy chủ và WAF có cần dùng cùng lúc không?

Cần, vì chúng bảo vệ ở hai tầng khác nhau. Firewall máy chủ giới hạn cổng kết nối và bảo vệ hệ thống tổng thể; WAF lọc request ứng dụng web. Thiếu một trong hai thì để hở tầng tương ứng. Đây cũng là lý do các dịch vụ bảo mật website toàn diện thường kết hợp cả hai thay vì chọn một.

Đọc tiếp

Bài viết
cùng chủ đề.

Tất cả bài viết
Chat Zalo