Luồng dữ liệu

Một phần của tài liệu Bài giảng Kỹ thuật theo dõi, giám sát an toàn mạng: Phần 1 (Trang 39 - 41)

Luồng dữ liệu là một bản ghi tổng hợp của các gói tin. Việc tổng hợp được diễn ra theo nhiều cách khác nhau, tùy thuộc vào công cụ đang được sử dụng để tạo và phân tích dữ liệu. Tài liệu này tập trung chủ yếu trên công cụ SiLK, do vậy, phần này sẽ mô tả cách SiLK tích hợp dữ liệu từ luồng dữ liệu.

Một luồng được xác định dựa trên 5 thuộc tính, tạo thành bộ-5 chuẩn (standard 5-tuple), gồm địa chỉ IP nguồn, cổng nguồn, địa chỉ IP đích, cổng đích và giao thức vận chuyển. Khi bộ tạo luồng phân tích gói tin, bộ 5 thuộc tính này sẽ được kiểm tra và ghi lại, và tạo ra một luồng mới với dữ liệu bộ-5, xác định loại lưu lượng đang sử dụng (NetFlow v5, NetFlow v9, IPFIX,…).

Khi một gói tin mới được phân tích và chứa cùng các giá trị thuộc tính bộ-5, thì sau đó dữ liệu sẽ được nối thêm vào luồng dữ liệu đã tồn tại. Dữ liệu sẽ được nối thêm vào luồng này cho đến khi nhìn thấy được các gói tin có cùng giá trị các thuộc tính bộ-5. Có ba điều kiện mà luồng dữ liệu có thể được kết thúc:

1. Tự hết thời gian (Natural Timeout): Bất cứ khi nào giao tiếp tự kết thúc dựa trên đặc tả

của giao thức. Việc này được theo dõi cho các giao thức hướng kết nối, và sẽ tìm kiếm các gói tin RST hoặc các số tuần tự FIN trong TCP.

2. Hết thời gian chờ (Idle Timeout): Khi không có dữ liệu cho luồng nhận trong vòng ba

mươi giây của gói tin cuối cùng thì luồng sẽ được kết thúc. Bất kỳ gói dữ liệu nào mới cùng với bộ-5 giá trị thuộc tính sau khoảng thời gian ba mươi giây đã trôi qua sẽ tạo ra một luồng mới. Đây là giá trị được cấu hình.

3. Hết thời gian hoạt động (Active Timeout): Khi một luồng đã được mở trong khoảng thời

gian ba mươi phút thì luồng sẽ được chấm dứt, và một luồng mới sẽ được tạo ra với cùng các giá trị thuộc tính bộ-5. Đây là giá trị được cấu hình.

NetFlow

Được phát triển bởi Cisco vào năm 1990 và đã trải qua 9 phiên bản của NetFlow trong hơn 20 năm. Mục đích ban đầu là tinh giản quá trình định tuyến trên các thiết bị mạng. Trong mô tả ban đầu, luồng dữ liệu được tạo ra khi bộ định tuyến xác định được gói tin đầu tiên trong cuộc hội thoại mới trên mạng. Việc này giúp cho các cuộc đàm thoại cơ bản và cung cấp tài liệu tham khảo cho các bộ định tuyến để so sánh với các thiết bị và các dịch vụ khác trên mạng. Luồng dữ liệu cũng được sử dụng để xác định và tổng hợp số lượng lớn lưu lượng truy cập để đơn giản hóa nhiều quá trình, ví dụ như so sánh ACL. Với các phiên bản khác nhau thì tính năng cũng khác nhau rất nhiều, và được dùng vào những công việc khác nhau, từ hỗ trợ cơ sở hạ tầng đến phát triển ứng dụng bảo mật.

NetFlow v5 và v9 là hai chuẩn NetFlow thông dụng nhất. NetFlow v5 là giải pháp truy cập NetFlow tốt nhất vì hầu hết các thiết bị định tuyến hiện đại hỗ trợ NetFlow v5. Luồng dữ liệu NetFlow v5 cung cấp thông tin theo chuẩn bộ-5 cũng như tất cả các số liệu thống kê cần thiết để phân tích các gói tin. Không giống như NetFlow v9 và IPFIX, NetFlow v5 không hỗ trợ giao thức IPv6, do vậy sẽ bị hạn chế sử dụng trong một số môi trường nhất định.

NetFlow v9 có tất cả các tính năng của v5, và còn bổ sung thêm các tính năng khác. Trong khi, NetFlow v5 có 20 trường dữ liệu (trong đó có 2 trường còn để trống (padding)), thì NetFlow v9 có tới 104 trường dữ liệu, và do vậy, người quản trị có thể sử dụng NetFlow v9 để tạo ra luồng tương tự như luồng v5. NetFlow V9 cũng có hỗ trợ IPv6.

IPFIX

Có rất nhiều điểm chung với NetFlow v9 vì nó được xây dựng dựa trên định dạng tương tự. IPFIX là định dạng dựa trên mẫu, hướng bản ghi, và xuất dạng nhị phân. Đơn vị cơ bản để truyền dữ liệu trong IPFIX là thông điệp. Một thông điệp có chứa một tiêu đề và một hoặc nhiều tập, trong đó có chứa các bản ghi. Một tập có thể là một mẫu mô tả các bản ghi dữ liệu trong tập đó. Sự khác biệt giữa NetFlow v9 và IPFIX là ở chức năng. Ví dụ, IPFIX cung cấp các trường dữ liệu có chiều dài thay đổi để xuất các thông tin tùy biến, nhưng NetFlow v9 thì không. IPFIX được coi là khá linh hoạt.

Các loại lưu lượng khác

Một lựa chọn khác có thể thay thế cho NetFlow và IPFIX là sFlow, trong đó sử dụng lấy mẫu luồng để làm giảm tải cho CPU bằng cách chỉ dùng mẫu đại diện của dữ liệu trên liên kết. Các biến thể của sFlow đang dần trở nên phổ biến với các nhà cung cấp. Bản thân sFlow cũng được tích hợp vào các thiết bị và các giải pháp phần cứng.

Ngoài ra, còn có Jflow được cung cấp bởi thiết bị Juniper; AppFlow được cung cấp bởi Citrix,...

Một phần của tài liệu Bài giảng Kỹ thuật theo dõi, giám sát an toàn mạng: Phần 1 (Trang 39 - 41)

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

(68 trang)