Một số công cụ hiển thị thống kê

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 2 (Trang 51 - 55)

b. Các tùy chọn của luật

3.4.4 Một số công cụ hiển thị thống kê

Phần này trình bày về một số công cụ hiển thị thống kê.

3.5.4.1 Hiển thị thống kê với Gnuplot

Tính năng hiển thị thống kê trực quan cung cấp cái nhìn sâu sắc và hữu ích về số liệu. Hiển thị thống kê có thể dùng để phát hiện bất thường và đưa ra các cảnh báo cho chuyên gia phân tích khi một thiết bị tạo ra hoặc nhận được lưu lượng lớn hơn đáng kể so với lưu lượng truy cập bình thường. Điều này có thể hữu ích cho việc phát hiện dữ liệu rò rỉ ra bên ngoài, một máy chủ nội bộ được sử dụng để phục vụ cho các phần mềm độc hại trên Internet, hoặc một tấn công từ chối dịch vụ nội mạng (inbound). Đồ thị thống kê cũng có thể giúp các chuyên gia phân tích thu hẹp các truy vấn dữ liệu của họ trong một khoảng thời gian dễ quản lý hơn, và cuối cùng là giúp đẩy mạnh quá trình phân tích.

Một trong những công cụ hữu ích hơn để tổng kết dữ liệu qua các khoảng thời gian cụ thể và tạo ra số liệu thống kê liên quan là rwcount. Công cụ này có thể được sử dụng để xem có bao nhiêu dữ liệu tồn tại trong các chuỗi giao tiếp. Ví dụ đơn giản nhất là xem có bao nhiêu dữ liệu đi qua một đoạn mạng được giám sát trong một ngày nhất định. Với hầu như tất cả các truy vấn SiLK, điều này sẽ bắt đầu với một lệnh rwfilter để tập trung vào chỉ khoảng thời gian đang quan tâm. Trong trường hợp này, sẽ đẩy dữ liệu vào rwcount để chia các dữ liệu vào các khoảng thời gian quy định trong vài giây. Ví dụ, để kiểm tra tổng số bản ghi, byte, và gói mỗi phút (--bin-size = 60) đi qua giao diện mạng trong một giờ nhất định, có thể sử dụng lệnh sau:

rwfilter --start-date = 2013/09/02: 14 --proto = 0- --pass = stdout --type = all | rwcount -- bin-size = 60

Nhìn lại các ví dụ trong phần trước với lưu lượng NTP đáng ngờ. Nếu đào sâu hơn vào kết quả thể hiện trong Hình 3.30 bằng cách sử dụng rwcount như trên, có thể thấy rằng nhiều địa chỉ IP bên ngoài trong phạm vi IP 204.2.134.0/24 cũng yêu cầu các kết nối NTP client, từ đó có thể chỉ ra được những thiết bị gây rối được cấu hình để sử dụng các máy chủ NTP không nằm trong mạng cục bộ. Nếu tìm hiểu sâu hơn nữa, kiểm tra lưu lượng trong ngày, chỉ thấy một lượng dữ liệu trong mỗi phút (Hình 3.32); ở đây không đưa ra nhiều hỗ trợ trong việc giải thích lưu lượng.

Hình 3.32 Rwcount hiển thị dữ liệu trải đều trên các khoảng thời gian

Để thực sự hiển thị dữ liệu này trên một dải rộng hơn, có thể vẽ những đồ thị lớn hơn. Nhưng do SiLK không có khả năng làm điều này, nên sẽ cần xử lý các kết quả của truy vấn SiLK và đưa tới gnuplot để vẽ đồ thị.

Để làm cho các dữ liệu hiển thị ở trên hữu ích hơn, mục tiêu của chúng ta là xây dựng một đồ thị đại diện cho khối lượng các byte cho mỗi giờ cho phiên dữ liệu chứa bất kỳ địa chỉ từ dãy IP 204.2.134.0/24. Việc này bắt đầu bằng cách sử dụng các lệnh rwcount tương tự như trên, nhưng với kích thước của bin 3600 để mang lại "một giờ" kết quả. Các đầu ra của lệnh rwcount được gửi thông qua một số dòng lệnh sửa đổi để tạo ra một tệp tin CSV chỉ chứa các dấu thời gian và giá trị byte cho mỗi dấu thời gian. Lệnh được viết như sau:

rwfilter --start-date = 2013/09/02 --any-address = 204.2.134.0/24 --proto = 0- --

pass = stdout --type = all | rwcount --bin-size = 3600 –delimited =, --no-titles| cut -d “,” - f1,3 > hourly.csv

Kết quả dữ liệu như sau:

2013/09 / 02T13: 00: 00,146847.07 2013/09 / 02T14: 00: 00,38546884.51 2013/09 / 02T15: 00: 00,1420679.53 ...

Tiếp theo, cần sử dụng Gnuplot để vẽ đồ thị các số liệu thống kê. Điều này được thực hiện bằng cách tạo ra một script Gnuplot.

#! /usr/bin/gnuplot

set terminal postscript enhanced color solid set output “hourly.ps”

set title “Traffic for 204.2.134.0/24 (09/02/2013)” set xlabel “Time (UTC)”

set ylabel “Bytes” set datafile separator “,”

set timefmt ‘%Y/%m/%dT%H:%M:%S’ set xdata time

plot ‘hourly.csv’ using 1:2 with lines title “Bytes”

Cuối cùng, có một đồ thị thông lượng trong Gnuplot, thể hiện trong Hình 3.33.

3.5.4.2 Hiển thị thống kê với Google Charts

Một cách khác để hiển thị dữ liệu thông lượng nhiều hơn nữa là tận dụng Google Chart API của Google (https://developers.google.com/chart/). Hầu hết các bảng biểu được tạo ra với các Google Chart API là tương thích với các trình duyệt và 100% miễn phí. Thêm vào đó, cú pháp của nó là tương đối đơn giản. Không mô tả cách làm chi tiết ở đây (tham khảo thêm trong tài liệu [1]) nhưng nếu sử dụng các API này, sẽ được một hình mô tả thông lượng theo thời gian như Hình 3.34:

Hình 3.34 Một biểu đồ thông lượng sử dụng Google Chart API

3.5.4.3 Hiển thị thống kê với Afterglow

Afterglow là một công cụ Perl cho phép tạo ra một đồ thị các liên kết để có thể thấy được mô tả toàn cảnh về các thành phần liên quan đến nhau. Afterglow nhận tệp tin CSV có 2 hoặc 3 cột làm đầu vào và tạo ra tệp tin ngôn ngữ đồ thị có thuộc tính (theo yêu cầu của các thư viện graphviz) hoặc một tệp tin GDF có thể được phân tích bằng Gephi. Cần lưu ý là Afterglow lấy dữ liệu đầu vào và sinh dữ liệu có thể được sử dụng để tạo ra các đồ thị liên kết. Có rất nhiều ví dụ về cách sử dụng Afterglow để tìm các mối quan hệ trong một số bộ dữ liệu trên Internet; Pcap và Sendmail là những ví dụ hiển thị trên trang web chính của Afterglow.

Ở đây không đi sâu vào chi tiết về cách xây dựng đồ thị mà chỉ mô tả về ví dụ kết quả có được như trong Hình 3.35 với tệp tin test.gif. Chi tiết về script và cách cấu hình có thể tham khảo trong [1].

Hình 3.35 Một đồ thị liên kết tạo từ dữ liệu NetFlow

Sức mạnh và sự linh hoạt mà Afterglow cung cấp cho phép tạo ra một số đồ thị liên kết rất hữu ích trong một loạt các tình huống, khi mà cần xem xét mối quan hệ giữa các thực thể.

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 2 (Trang 51 - 55)

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

(103 trang)