"Tường lửa" có hai loại khác nhau: tường lửa thường (firewall) canh đường mạng, còn tường lửa website (WAF) canh nội dung web. Như cổng soát vé và máy soi hành lý — cái này mạnh chỗ cái kia mù.
Nghe đến "tường lửa", nhiều người yên tâm nghĩ website mình đã an toàn. Nhưng thật ra có hai loại tường lửa rất khác nhau: tường lửa thường (firewall) và tường lửa website (WAF). Nhầm lẫn hai cái này dễ dẫn tới một ngộ nhận tai hại — "có firewall rồi thì hacker không đụng được web". Bài này phân biệt rõ hai loại, bằng ngôn ngữ cho người không rành kỹ thuật.
Hiểu đơn giản, tường lửa là một lớp chắn đứng giữa hệ thống của bạn và thế giới bên ngoài. Nó xem xét luồng dữ liệu ra vào rồi quyết định: cái nào cho qua, cái nào chặn. Giống như một trạm gác — nhưng gác cái gì và soi tới đâu thì mỗi loại một khác.
Chỗ khác biệt lớn nhất nằm ở đây: có hai nhánh tường lửa làm hai việc hoàn toàn khác nhau. Một loại canh đường mạng (tường lửa thường), một loại canh chính website (WAF). Chúng không thay nhau được.
Tường lửa thường — thứ hầu hết mọi người vẫn gọi là "firewall" — làm việc ở tầng mạng. Nó xét những thứ khá "thô": gói dữ liệu đến từ địa chỉ IP nào, đi vào cổng (port) nào, dùng giao thức gì. Dựa vào đó nó cho qua hoặc chặn.
Cứ hình dung một cổng soát vé ở sân vận động. Nhân viên cổng chỉ kiểm hai thứ: bạn có vé hợp lệ không, và đi đúng cổng của mình không. Đúng thì mời vào, sai thì mời ra. Nhưng họ không mở túi xách của bạn ra xem bên trong có gì. Tường lửa thường cũng vậy: nó chặn kết nối lạ, đóng những cổng không dùng, ngăn truy cập từ địa chỉ đáng ngờ — rất tốt ở "cửa mạng". Nhưng nó không đọc nội dung bên trong từng yêu cầu.
Loại tường lửa này ở khắp nơi: trong router Wi-Fi nhà bạn, trong Windows (Windows Firewall), và trên hầu hết máy chủ. Nó là lớp phòng thủ nền tảng — cần thiết, nhưng chưa đủ cho một website. (Có những dòng firewall cao cấp, "next-gen" soi được sâu hơn một phần, nhưng ở mức phổ thông thì tường lửa thường dừng lại ở tầng mạng.)
Tường lửa website (WAF — Web Application Firewall) làm việc ở một tầng cao hơn hẳn: tầng ứng dụng. Thay vì chỉ nhìn "gói tin đến từ đâu", nó đọc nội dung của từng yêu cầu gửi tới website — ai đó gõ gì vào ô đăng nhập, gửi dữ liệu gì qua form, mở đường dẫn nào.
Quay lại sân vận động: WAF không phải cổng soát vé, mà là máy soi an ninh soi hành lý. Khách đã có vé, đã qua cổng rồi — nhưng đi qua máy soi, nếu trong túi có "vật cấm" thì vẫn bị giữ lại. WAF làm đúng vậy với website: một yêu cầu trông có vẻ hợp lệ (đúng cổng, đúng giao thức) vẫn có thể chứa một đoạn mã độc gài bên trong — và WAF là thứ mở ra soi để bắt được.
Nhờ đọc được nội dung, WAF chặn đúng những đòn nhắm thẳng vào website: chèn câu lệnh vào ô nhập (SQL Injection), chèn mã độc (XSS), bot dò mật khẩu, spam form. Nếu bạn muốn hiểu kỹ hơn về loại tường lửa này, xem bài WAF là gì.
Đặt cạnh nhau cho dễ thấy:
| Tiêu chí | Tường lửa thường (firewall) | Tường lửa website (WAF) |
|---|---|---|
| Bảo vệ cái gì | Đường mạng, máy chủ | Chính website / ứng dụng web |
| Tầng hoạt động | Tầng mạng (thấp) | Tầng ứng dụng (cao) |
| Xét gì | Địa chỉ IP, cổng, giao thức | Nội dung từng yêu cầu (HTTP) |
| Chặn tốt | Kết nối lạ, cổng thừa, IP xấu | SQL Injection, XSS, bot, đòn nhắm web |
| Điểm mù | Không thấy mã độc giấu trong yêu cầu hợp lệ | Không lo phần mạng/cổng thuần túy |
| Ví von | Cổng soát vé (xét vé + cổng) | Máy soi hành lý (soi nội dung) |
Rõ ràng chúng không phải hai phiên bản của cùng một thứ, mà là hai người gác làm hai việc khác nhau. Cái này bù đúng chỗ cái kia sót.
Câu trả lời ngắn gọn: cả hai. Đây không phải chuyện chọn một bỏ một — hai lớp bổ sung cho nhau.
Vì sao có firewall rồi vẫn cần WAF? Vì với tường lửa mạng, một đòn SQL Injection trông hoàn toàn "hợp lệ": nó đi đúng cổng website (443), đúng giao thức, từ một địa chỉ bình thường. Cổng soát vé thấy "có vé, đúng cổng" nên cho qua — rồi mã độc mới bung ra bên trong. Chỉ có lớp đọc được nội dung như WAF mới chặn được kiểu này.
Mà đây không phải đòn hiếm. Chèn lệnh và chèn mã kiểu này thuộc nhóm Injection — một trong những hạng mục tấn công web hàng đầu nhiều năm liền theo bảng xếp hạng bảo mật uy tín OWASP Top 10 — đúng loại mà tường lửa mạng gần như không nhìn thấy.
Chiều ngược lại cũng đúng: WAF không thay thế tường lửa mạng. Nó không sinh ra để lo những việc ở tầng mạng thuần túy. Website được bảo vệ tốt nhất khi có cả hai lớp: firewall canh cửa mạng, WAF canh nội dung web.
Nếu bạn không rành kỹ thuật, chỉ cần nhớ vài điều thực tế. Máy chủ ảo hay hosting của bạn thường đã có sẵn một lớp tường lửa mạng cơ bản — do hệ điều hành và nhà cung cấp hạ tầng lo phần nền. Đó là lớp "cổng soát vé".
Còn lớp "máy soi hành lý" — tức tường lửa website — thì thường phải bật thêm. Nếu web của bạn có form đăng nhập, giỏ hàng, thanh toán hay lưu thông tin khách, đây là lớp đáng bổ sung sớm.
Làm sao biết web mình đã có WAF chưa? Cách đơn giản nhất là hỏi thẳng nhà cung cấp hosting hoặc hạ tầng bạn đang dùng. Bạn cũng có thể xem mình có đang bật một dịch vụ tường lửa website (hoặc CDN có tính năng WAF) hay không — nếu chưa bật gì thì gần như chắc chắn web chưa có lớp này. Với người không rành, cứ mặc định "chưa có WAF cho tới khi bật" là an toàn nhất. Tại cloudmoon.net, dịch vụ tường lửa website (WAF) được dựng để bật lớp bảo vệ đó cho website mà bạn không cần là chuyên gia. Xem thêm các bài cùng chủ đề trong chuyên mục Tường lửa & Bảo mật web.
Có, nếu website của bạn có ứng dụng hay dữ liệu. Tường lửa mạng không đọc nội dung yêu cầu, nên các đòn như SQL Injection hay XSS vẫn lọt qua nó một cách "hợp lệ". WAF mới là lớp bắt được những đòn nhắm thẳng vào website.
Không. Hai loại làm hai việc ở hai tầng khác nhau: firewall canh đường mạng (IP, cổng), WAF canh nội dung web. Chúng bổ sung cho nhau chứ không thay thế. Website an toàn nhất khi có cả hai.
Đó là tường lửa mạng (network firewall) — nó chặn hoặc cho phép kết nối theo cổng và ứng dụng ngay trên máy tính của bạn. Nó khác hẳn WAF: WAF không nằm trên máy cá nhân, mà đứng trước website để bảo vệ ứng dụng web.
Thường là đã có lớp tường lửa mạng cơ bản, do hệ điều hành và nhà cung cấp hạ tầng lo. Nhưng tường lửa website (WAF) thì thường phải bật thêm — nó không tự có sẵn cho web của bạn.
Chưa chắc. Các dịch vụ CDN lớn thường có kèm tính năng WAF, nhưng bạn phải bật và cấu hình thì nó mới bảo vệ. Bản thân việc dùng CDN để tăng tốc không đồng nghĩa với việc website đã được một lớp tường lửa ứng dụng che chắn.
Tóm lại, "tường lửa" không phải một thứ duy nhất. Tường lửa thường canh đường mạng — như cổng soát vé xét vé và cổng. Tường lửa website (WAF) canh nội dung — như máy soi hành lý mở ra xem bên trong từng yêu cầu. Cái này mạnh chỗ cái kia mù, nên website cần cả hai. Nếu web của bạn có đăng nhập, thanh toán hay dữ liệu khách, hãy bổ sung một lớp tường lửa website tại cloudmoon.net — và đọc thêm bảo mật máy chủ cơ bản để phòng thủ nhiều lớp cho chắc.
Chưa có bình luận nào. Hãy là người đầu tiên!