Tường lửa ứng dụng web WAF (Web Application ) được thiết kế để kiểm soát truy cập từ một mạng không tin cậy đến mạng tin cậy và ngược lại. Mọi luồng dữ liệu đi qua tường lửa được kiểm soát theo chính sách định sẵn.

WAF là dịch vụ tường lửa ứng dụng web giúp bảo vệ ứng dụng web của bạn khỏi các hình thức khai thác web phổ biến có thể làm ảnh hưởng đến khả năng sử dụng ứng dụng, làm tổn hại đến bảo mật hoặc tiêu tốn tài nguyên quá mức. WAF đem đến cho bạn quyền kiểm soát cho phép hay chặn luồng lưu lượng đến ứng dụng web của bạn bằng cách quy định các quy tắc bảo mật web có thể tùy biến. Bạn có thể sử dụng WAF để tạo những quy tắc tùy biến giúp chặn các mẫu tấn công phổ biến, ví dụ như injection hay chèn mã độc bằng tập chỉ lệnh qua nhiều trang cũng như các quy tắc được thiết kế riêng cho ứng dụng của bạn.

Trong những năm gần đây, xu hướng tấn công vào ứng dụng web đ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 ứng dụng web chủ yếu xảy ra do người 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 ứng dụng web. Để khắc phục các lỗi trên ứng dụng web, người 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ẽ sau: Thứ nhất, các đơn vị 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 ứng dụng web trong thời gian nhanh khiến cho các ứng dụng web đượ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 ứng dụng web đó 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.

Tường lửa ứng dụng web (Web Application Firewall – WAF) là một giải pháp nhằm bảo vệ cho ứng dụng web 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 đượ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.

Mô hình của một hệ thống Tường lửa ứng dụng Web (WAF)

Kiến trúc tường lửa ứng dụng web

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ột ví dụ triển khai WAF trong máy chủ 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.

Mô hình hoạt độ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 : đâ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ỉ 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ỉ 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ị ở 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/ 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.

Print Friendly, PDF & Email

Comments

comments

Bài viết liên quan