Kiến trúc của WFP

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin xây dựng hệ thống tường lửa mạng nội bộ (Trang 39)

36 HÌNH 4.27 Màn hình thông báo có chương trình chạy ở Client

3.1.3.Kiến trúc của WFP

HÌNH 3.1: Kiến trúc và khả năng mở rộng của WFP

Kiến trúc của WFP [16] bao gồm các thành phần sau:  Win32 API:

Win 32 API chứa các WFP APIs. Một chương trình tường lửa hoặc chương nào đó của hãng thứ ba thực hiện lọc hay xử lý gói tin có thể sử dụng các bộ lọc do

APIs WFP cung cấp để tạo các bộ lọc trong Base Filtering Engine. Những bộ lọc này có thể dùng một bộ lọc được xác định tại mỗi lớp trong Kernel-Mode Filtering Engine. Các dịch vụ Ipsec Policy Agent và Windows Firewall là những ví dụ của các ứng dụng WFP kèm với Windows Vista và Windows Server 2008.

 Base Filtering Engine (BFE)

Một trong những tính năng và lợi thế của việc sử dụng TDI là nó cung cấp linh hoạt các phương án giải quyết. Không giống như NetBIOS. TDI không yêu cầu bất kỳ định dạng cụ thể để giải quyết. NetBIOS có một yêu cầu giải quyết vấn đề bắt buộc, ví dụ tên NetBIOS 16-ký tự. Dịch vụ user-mode này thực hiện lọc các yêu cầu mà user-mode lọc ứng dụng làm bằng cách thêm các bộ lọc để dùng Kernel- Mode Filtering Engine.

 Kernel-Mode Filtering Engine

Thành phần kernel-mode này lưu trữ các bộ lọc dùng để lọc những ứng dụng được tạo thông qua Base Filtering Engine, đồng thời tương tác với TCP/IP stack và thiết lập của các trình điều khiển đã được cài đặt thông qua các lớp bộ lọc. Khi một gói tin đang được xử lý thông qua ngăn xếp TCP/IP, mỗi lớp địa chỉ liên lạc với Kernel-Mode Filtering Engine. Kernel-Mode Filtering Engine kiểm tra cấu hình các bộ lọc được xác định xem gói tin được cho phép nên được giao cho một trình điều khiển được cài đặt cho việc kiểm tra gói dữ liệu và sửa đổi.

 Callout drivers

Trình điều khiển Callout được dùng khi việc lọc gói tin đơn giản - kiểm tra những gói tin để xác định xem gói tin được cho phép hay cấm. Để thực hiện kiểm tra nội dung của gói tin hoặc sửa đổi dữ liệu có trình điều khiển callout. Phải kiểm tra dữ liệu lớp ứng dụng để đảm bảo rằng không có virus máy tính trong dòng dữ liệu gửi đến. Một ví dụ của việc sửa đổi dữ liệu là NAT, trong đó một bộ định tuyến thay đổi các trường của một gói tin IPv4 như chuyển tiếp gói tin. Windows Vista và Windows Server 2008 bao gồm trình điều khiển callout cho Ipsec và Internet Connection Sharing. Trình điều khiển Callout cũng có thể tạo những bộ lọc trong Base Filtering Engine bằng cách dùng WFP kernel client.

Các nhà cung cấp phần mềm có thể dùng WFP để xây dựng ứng dụng hoặc dịch vụ trong các cách sau:

 Một vài ứng dụng và dịch vụ chỉ dùng những bộ lọc đơn giản. Đối với các ứng dụng và dịch vụ này, yêu cầu duy nhất là một ứng dụng user-mode hay dịch vụ mà sử dụng WFP Win32 APIs để thiết lập bộ lọc tại các lớp thích hợp trong TCP/IP stack. Không cần bất cứ trình điều khiển kernel-mode nào.  Đối với những ứng dụng và các dịch vụ phải thực hiện việc kiểm tra kỹ càng

hoặc sửa đổi các gói tin, chúng ta phải tạo một hay nhiều trình điều khiển callout driver hay một ứng dụng user-mode hoặc dịch vụ. Các trình điều khiển callout driver hay ứng dụng user-mode hay dịch vụ có thể sử dụng WFP Win32 APIs để thiết lập các bộ lọc tại các lớp thích hợp trong TCP/IP stack, phải kiểm tra thêm bằng các trình điều khiển callout driver. Khi dòng dữ liệu đến và đi phù hợp các bộ lọc này, các Kernel-Mode Filtering Engine chuyển gói tin đến các trình điều khiển callout driver, thực hiện kiểm tra hay sửa đổi trước khi nó trả về gói tin.

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin xây dựng hệ thống tường lửa mạng nội bộ (Trang 39)