Cách thức hoạt động của WAF (Web Application Firewall)

Web application firewall (Web Application Firewall – WAF) là một giải pháp nhằm bảo vệ cho web application tránh khỏi các lỗi bảo mật nói trê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 server 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à web server 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 web application bất thường. Đây là điều mà các firewall mạng khác không làm được.

Xem thêm:

Lịch sử phát triển của Web Application Firewall (WAF)

So sánh chi tiết WAF và Firewall | Cái nào tốt hơn

1. Phân Tích HTTP Requests

WAF phân tích các yêu cầu HTTP và áp dụng một tập hợp các luật xác định những phần của messages, thành phần đáng tin cậy và những phần là độc hại. Các phần chính của HTTP request mà WAF phân tích là các yêu cầu GET và POST. Yêu cầu GET được sử dụng để truy xuất dữ liệu từ máy server, và yêu cầu POST được sử dụng để gửi dữ liệu đến máy server để thay đổi trạng thái của nó.

2. Các phương pháp lọc nội dung của WAF

WAF có thể sử dụng một trong ba phương pháp sau để phân tích và lọc nội dung trong các yêu cầu http này:

  • Danh sách trắng (Whitelisting)/Mô hình Positive: WAF từ chối tất cả các yêu cầu theo mặc định và chỉ cho phép những yêu cầu được xác định là đáng tin cậy. Mô hình này cung cấp danh sách các địa chỉ IP an toàn, giúp chặn các cuộc tấn công mới mà nhà phát triển không dự đoán trước được và tiêu tốn ít tài nguyên hơn so với danh sách đen. Tuy nhiên, hạn chế là nó có thể chặn nhầm lưu lượng vô hại.
  • Danh sách đen (Blacklisting)/Mô hình Negative: WAF sử dụng các chữ ký cài đặt sẵn để chặn lưu lượng web độc hại và bảo vệ trang web hoặc ứng dụng khỏi lỗ hổng. Danh sách đen phù hợp cho các trang web công cộng, nơi nhận nhiều lưu lượng từ các IP không quen thuộc. Tuy nhiên, nó yêu cầu nhiều tài nguyên hơn để lọc gói tin dựa trên các đặc điểm cụ thể.
  • Bảo mật kết hợp (Hybrid Security): Sử dụng kết hợp cả Whitelisting và Blacklisting để tăng cường bảo mật.

Bất kể WAF sử dụng mô hình bảo mật mà, nó phân tích các tương tác HTTP và giảm hoặc loại bỏ hoạt động của lưu lượng độc hại trước khi nó đến máy server để xử lý. Để giải quyết các lỗ hổng mới, hầu hết các WAF đều yêu cầu cập nhật chính sách thường xuyên. Tuy nhiên, những tiến bộ gần đây trong học máy đã cho phép một số WAF tự động cập nhật.

3. Kiến trúc cơ bản của WAF

Trong những năm gần đây, xu hướng tấn công vào web application đang ngày càng trở nên phổ biến. Các kỹ thuật tấn công được sử dụng chủ yếu là cross-site scripting, SQL injection, và nhiều các kỹ thuật khác… tất cả các kỹ thuật này đều nhắm vào lớp ứng dụng trong mô hình OSI. Các lỗ hổng trong web application chủ yếu xảy ra do người lập trình không kiểm tra kỹ các tham số hay ký tự do người dùng nhập vào để tương tác với web application.

Để khắc phục các lỗi trên web application, người lập trình cần hiểu và viết được các đoạn mã ở mức độ bảo mật nhất, tuy nhiên việc viết đoạn mã sao cho “bảo mật” nhất thường khó thực hiện, bởi các lý do sau:

  • Thứ nhất, các đơn vị lập trình thường không có hoặc thiếu đội ngũ chuyên trách về việc kiểm tra và sửa lỗi bảo mật mã nguồn ứng dụng.
  • Thứ hai, đôi khi áp lực phải hoàn thành web application trong thời gian nhanh khiến cho các web application được đưa vào vận hành mà không qua các khâu kiểm thử.
  • Thứ ba, việc dùng các công cụ kiểm tra lỗi web tự động đôi khi cũng không tìm ra hết các lỗi khi được thực hiện bằng tay.

Do vậy, việc bảo mật một web application đó là một quá trình phòng thủ theo chiều sâu bao gồm các khâu phát triển, vận hành, xây dựng cơ sở hạ tầng bảo vệ tốt và có một đội ngủ chuyên trách vấn đề bảo mật riêng cho web.

 

Mô hình hệ thống WAF

4. Vị trí đặt WAF

Các thiết bị WAF cứng thường được đặt sau firewall mạng và trước web server application. Việc đặt WAF được thực hiện sao cho tất cả các lưu lượng đến web application 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 web server. Ngoài ra, các chương trình WAF còn được cài đặt trực tiếp lên web server 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 web application.

Ví dụ triển khai WAF

5. Mô hình bảo mật WAF

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.

6. Các mô hình hoạt động phổ biến của WAF

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 web application, sau đó thay vì cho các địa chỉ IP bên ngoài gửi yêu cầu trực tiếp đến web server thì WAF đứng ra làm trung gian để gửi các yêu cầu này đến web server 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 web application.

– Transparent Proxy: Ở mô hình này, WAF đứng giữa firewall mạng và web server 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à web server, nhưng hoạt động giống như một thiết bị Switch ở layer 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 web server. 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 web server.

Bài viết liên quan:

Các thành phần cơ bản của Firewall

Chức năng, kiến trúc và nguyên tắc hoạt động của Firewall

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em