Web Application Firewall viết tắt WAF

Web Application Firewall viết tắt WAF – Tường lửa ứng dụng web: là giải pháp bảo mật toàn diện và mạnh mẽ dành cho các ứng dụng Web. WAF đưa ra một phương thức phòng vệ chống lại các hoạt động như tin tặc, khai thác các lỗ hổng về giao thức. Bên cạnh đó, WAF còn cảnh báo cho bạn về những lỗi ứng dụng mà các hacker có thể khai thác, đánh cắp thông tin, gây lỗi từ chối dịch vụ hoặc làm thay đổi giao diện trang web của bạn. WAF là một thiết bị phần cứng hoặc phần mềm được cài lên máy chủ có chức năng theo dõi các thông tin được truyền qua giao thức http/https giữa trình duyệt của người dùng và máy chủ web tại lớp 7. Một WAF có khả năng thực thi các chính sách bảo mật dựa trên các dấu hiệu tấn công, các giao thức tiêu chuẩn và các lưu lượng truy cập ứng dụng web bất thường. Đây là điều mà các tường lửa mạng khác không làm được.

Vị trí đặt WAF

Các thiết bị WAF cứng thường được đặt sau tường lửa mạng và trước máy chủ ứng dụng web. Việc đặt WAF được thực hiện sao cho tất cả các lưu lượng đến ứng dụng web cần qua WAF trước. Tuy nhiên, đôi khi cũng có ngoại lệ khi WAF chỉ được dùng để giám sát cổng đang mở trên máy chủ web. Ngoài ra, các chương trình WAF còn được cài đặt trực tiếp lên máy chủ web và thực hiện các chức năng tương tự như các thiết bị WAF là giám sát các lưu lượng đến và ra khỏi ứng dụng web.

Mô hình bảo mật

Một WAF hoạt động dựa theo 2 mô hình bảo mật: Positive và Negative. Mô hình Positive chỉ cho phép các lưu lượng hợp lệ được định nghĩa sẳn đi qua và chặn tất cả các lưu lượng còn lại. Mô hình Negative sẽ cho phép tất cả các lưu lượng vượt qua và chỉ chặn các lưu lượng được mà WAF cho là nguy hại. Đôi khi cũng có các WAF cung cấp cả 2 mô hình trên, tuy nhiên thông thường WAF chỉ cung cấp 1 trong 2 mô hình. Với mô hình Postitive thì đòi hỏi nhiều cấu hình và tùy chỉnh, còn mô hình Negative chủ yếu dựa vào khả năng học hỏi và phân tích hành vi của lưu lượng mạng.

WAF có thể hoạt động ở các mô hình riêng biệt, dưới đây là một số mô hình tham khảo:

  • Reverse Proxy: đây là chức năng được sử dụng phổ biến khi triển khai WAF. Trong mô hình này, WAF giám sát tất cả các lưu lượng đi đến ứng dụng web, sau đó thay vì cho các địa chỉ IP bên ngoài gửi yêu cầu trực tiếp đến máy chủ web thì WAF đứng ra làm trung gian để gửi các yêu cầu này đến máy chủ web thay cho trình duyệt gốc rồi gửi trả lại kết quả cho các địa chỉ IP kia. Mô hình này có nhược điểm là tạo ra độ trễ khi kết nối từ trình duyệt đến ứng dụng web.
  • Transparent Proxy: Ở mô hình này, WAF đứng giữa tường lửa mạng và máy chủ web và hoạt động tương tự ở mô hình Reverse Proxy nhưng không đứng ra làm trung gian kết nối như bên Reverse Proxy. Mô hình này không đòi hỏi phải thay đổi điều gì trong hạ tầng mạng nhưng có thể không cung cấp được một số dịch vụ như mô hình Reverse Proxy có thể.
  • Layer 2 Brigde: Ở mô hình này, WAF đứng giữa tường lủa mạng và máy chủ web, nhưng hoạt động giống như một thiết bị Switch ở lớp 2. Mô hình này giúp mạng hoạt động với hiệu năng cao và mạng thay đổi không đáng kể, tuy nhiên nó lại không thể cung cấp các dịch vụ cao cấp khác mà các mô hình WAF khác có thể.
  • Host/Server Based: Đây là các phần mềm được cài trực tiếp lên máy chủ web. Các loại Host based không cung cấp các tính năng tương tự như các loại WAF network base. Tuy nhiên mô hình này có thể khắc phục được vài điểm yếu mà các mô hình network base (các thiết bị WAF cứng) có. Tuy nhiên nó cũng làm tăng mức độ tải của máy chủ web.

Các phiên bản WAF mã nguồn mở phổ biến:

  • ModSecurity (http://www.modsecurity.org): Đây là phần mềm nguồn mở có thể hoạt động như một module trong máy chủ Apache hoặc là một thành phần độc lập. ModSecurity sử dụng biểu thức chính quy trong việc bảo vệ máy chủ web từ các cuộc tấn công được xác định trước dựa theo các dấu hiệu hoặc các cuộc tấn công bất thường khác. Bên cạnh đó, ModSecurity cũng có khả năng lọc các siêu ký tự do người dùng chèn vào ứng dụng web. Toàn bộ quá trình cài đặt và cấu hình tham khảo thêm tại: http://www.modsecurity.org/documentation
  • URLScan (http://www.iis.net/download/urlscan): Đây là một sản phẩm của Microsoft dành riêng cho các máy chủ web IIS. URL scan không chỉ bảo vệ máy chủ IIS 6 khỏi các điểm yếu từ các phiên bản cũ hơn mà còn cung cấp thêm các biện pháp bảo vệ khác như lọc dữ liệu mã hóa trên URL hoặc lọc các siêu ký tự do người dùng chèn vào để chống lại các loại tấn công như XSS, SQL Injection,… Tham khảo cách cài đặt và sử dụng tại: http://www.iis.net/download/urlscan
  • WebKnight (http://www.aqtronix.com/?PageID=99): Đây cũng là 1 sản phẩm dành cho các máy chủ web IIS.