Thành phần chính sách lưu lượng

Một phần của tài liệu biên dịch cài đặt và triển khai hệ thống d-ward (Trang 29 - 33)

Nhiệm vụ của thành phần chính sách lưu lượng là tiếp nhận một cách định kỳ về giới hạn băng thông từ thành phần giới hạn băng thông và thông tin phân loại kết nối từ thành phần giám sát và sau đó đưa ra quyết định hoặc là chuyển tiếp hoặc là hủy.

2.4. Các phiên bản D-WARD

D-WARD được triển khai ở 2 mức: người dùng và kernel. Đầu tiên, chúng ta sẽ triển khai thành phần giám sát và thành phần giới hạn băng thông ở mức người dùng và sau đó triển khai module nhân của thành phần chính sách lưu lượng. Sự tách biệt các chức năng của 2 phiên bản trước đã được chỉnh sửa để đạt được hiệu năng tốt hơn và dễ dàng triển khai hơn ở phiên bản 3.1.

2.4.1. D-WARD 1. 0

Ở phiên bản này, tất cả các thành phần đều được triển khai hoàn toàn ở mức người dùng. Vì thành phần giám sát truyền thông cần truy cập trực tiếp tới các gói tin chuyển qua router để quyết định xem là nên chuyển tiếp hay là hủy, các gói tin bị kiểm tra khi đi

23 qua kernel và được copy lại một bản ra mức người dùng. Công việc này được thực hiện bởi module IP_queue ở nhân Linux.

Module ip_queue được nạp, các gói tin IP có thể được chọn cùng với iptables và xếp hàng để xử lý tiến trình mức người dùng. Sau khi xử lý, các gói tin được trở lại tiến trình mức kernel cùng với quyết định đính kèm như NF_ACCEPT để chấp nhận gói tin hay

NF_DROP để hủy gói tin. Bên cạnh đó, ip_queue cũng đưa ra tất cả những chức năng cần thiết cho thành phần chính sách lưu lượng. Tuy vậy, việc copy các gói tin (cả header lẫn dữ liệu) tới không gian người dùng là nguyên nhân gây ra tràn bộ nhớ và nó có thể trở thành vấn đề nghiêm trọng khi số lượng gói tin tăng lên. Cho nên, D-WARD 1.0 chỉ có thể giải quyết được 1000 gói tin trên 1 giây, điều này làm cho hệ thống không thể được triển khai ở ngoài thực tế được. Cho nên, thành phần chính sách lưu lượng cần phải được đưa vào mức kernel để không phải copy lại các gói tin đi qua kernel nữa.

2.4.2. D-WARD 2.0

Ở phiên bản này thành phần chính sách lưu lượng nằm ở trong kernel và 2 thành phần còn lại là giám sát và giới hạn băng thông nằm ở mức người dùng. Để truyền thông giữa 2 mức thì chúng ta sử dụng những lời gọi hệ thống của linux.

Thành phần chính sách lưu lượng được triển khai như một module kernel nạp trực tiếp. Tại mức nhân, các gói tin có thể bị theo dõi bởi netfilter hooks. Các module kernel có thể đăng ký để lắng nghe các “hook” của các giao thức khác nhau. Khi một gói tin đi tới netfilter framework ( gặp phải một trong các “hook”), netfilter sẽ kiểm tra nếu giao thức và “hook” này đã được đăng ký. Các module kernel có thể loại bỏ gói tin (trả về giá trị NF_DROP cho framework), cho phép đi qua (trả về giá trị NF_ACCEPT), thông báo với netfilter bỏ qua gói tin (trả về giá trị NF_STOLEN), hỏi netfilter về hàng đợi gói tin trong không gian người dùng hoặc kiểm tra lại “hook” (trả về giá trị NF_REPEAT).

Các module mức người dùng (thành phần giám sát và giới hạn băng thông) chuyển danh sách kết nối hợp lệ và các luật giới hạn băng thông tới kernel. Các module giám sát nhận thống kê gói tin sử dụng mã tcpdump đã được chỉnh sửa. tcpdump sử dụng tiện ích lọc gói tin Berkeley (BPF) và thư viện pcap để bắt tiêu đề (và một phần nội dung) của các gói tin phù hợp với chính sách lọc đã đưa ra.

D-WARD 2.0 có thể xử lý một số lượng lớn các gói tin ( tầm 10000 gói tin trên giây) nhưng nó có một số giới hạn. libpcap copy tiêu đề gói tin(và nội dung) trong mỗi

24 gói tin cơ sở. Cho nên khi số lượng gói tin tăng lên thì vấn đề lưu trữ và xử lý là cực kỳ khó khăn. Với số lượng gói tin lớn hơn 1000 thì libpcap không thể bắt được thông tin của tất cả các gói tin đi qua nó. Trong khi D-WARD vẫn hoạt động, dẫn tới việc mất thông tin bao gồm cả thông tin của những gói tin hợp lệ và ảnh hưởng đến hiệu năng của D- WARD. Giới hạn khác của D-WARD 2.0 là khó cài đặt. D-WARD 2.0 thêm những lệnh hệ thống mới vào Linux kernel, nó yêu cầu chỉnh sửa kernel để cài đặt sẽ rất phức tạp và mất thời gian. Hơn nữa, việc thêm những lệnh hệ thống mới hoặc sửa những cái cũ có thể gây ra một lỗ hổng bảo mật trong trong Linux kernel.

2.4.3. D-WARD 3.0

Hệ thống được triển khai với thành phần chính sách lưu lượng nằm ở mức kernel và các thành phần giám sát và giới hạn băng thông nằm ở mức người dùng giống như D- WARD 2.0. Tuy nhiên, việc truyền thông giữa 2 mức này được thực hiện thông qua các hàm ioctl. Nó cho phép truyền thông 2 chiều giữa các tiến trình người dùng và nhân một cách dễ dàng và làm cho quá trình cài đặt dễ dàng. Việc cài đặt yêu cầu 2 thiết bị phải được khởi tạo:

Thiết bị dward: được sử dụng cho truyền thông 2 chiều giữa các thành phần giám sát, thành phần giới hạn băng thông trong một vùng với thành phần chính sách lưu lượng trong một vùng khác.

Thiết bị sniff: được sử dụng để theo dõi thông tin gói tin đưa nó tới thành phần giám sát.

Sau đó các tiến trình kernel tổng hợp thông tin cần thiết và lưu nó lại, trong khi các thành phần giám sát và giới hạn băng thông thực hiện các lệnh ioctl để lấy những thông tin cần thiết.

D-WARD 3.1 bổ sung thêm 2 đặc điểm quan trọng ảnh hưởng tới hiệu năng của hệ thống:

Khởi tạo chuỗi số dự đoán: Không có phiên bản nào của D-WARD trước đó sử dụng kỹ thuật dự đoán giá trị. Cho nên các phiên bản đó đã hủy các gói tin kết nối mới trong quá trình tấn công, và hiệu năng của chúng phụ thuộc trực tiếp vào tần số của việc khởi tạo kết nối và độ dài kết nối. Để khắc phục vấn đề này, kỹ thuật khởi tạo chuỗi số dự đoán đã được phát triển và triển khai trên D-WARD 3.1.

25

Các mô hình kết nối UDP hợp lệ: Các mô hình kết nối UDP hợp lệ chỉ được triển khai trên D-WARD 3.1.

2.5. Tổng kết:

Chương 3 của khóa luận đưa ra cách nhìn tổng quan về D-WARD, kiến trúc, và các phiên bản của D-WARD. Qua đó chúng ta có thể thấy mối quan hệ của chúng làm nền tảng cho việc triển khai và mở rộng hệ thống phòng thủ.

26

Chương 3. Cơ sở lý thuyết của kiến trúc triển khai và mở rộng

DWARD

Như đã giới thiệu ở chương trước, phiên bản mới nhất của D-WARD hiện nay là D- WARD 3.1. Chương này sẽ mô tả chi tiết về kiến trúc triển khai của hệ thống D-WARD và hướng mở rộng của hệ thống này.

Một phần của tài liệu biên dịch cài đặt và triển khai hệ thống d-ward (Trang 29 - 33)

Tải bản đầy đủ (PDF)

(49 trang)