Snort và các sản phẩm kết hợp

Một phần của tài liệu báo cáo thực tập tốt nghiệp snort ids (Trang 34 - 47)

IDS đem lại cho chúng ta nhiều lợi ích trong q trình tiềm kiếm,phát hiện những hành vi cũng như tiến trình tấn cơng mạng. Kết quả đó là tập những dữ liệu quan trọng. Ngày nay với sự kết hợp các sản phẩm đi kèm với IDS mang lại rất nhiều hiệu quả trong q trình phân tích. Nó cũng chính là những cơng cụ, tiện ích cho ta cái nhìn trực quan hơn. Mặc dù những cơng cụ phân tích dữ liệu thuộc về thương mại sẵn có nhưng khơng thể nói những cơng cụ “miễn phí” hồn tồn kém hiệu quả. Những cơng cụ miễn phí đó thực sự rất mạnh. Dưới đây là một số những công cụ đi kèm với IDS giúp ta quản lý, phân tích dịng lưu lượng nguy hại rất tốt.

2.1. Sử dụng Snort với MySQL:

MySQL là một trong những cơ sở dữ liệu (CSDL) phổ biến ngày nay. Snort có thể làm việc cùng với MySQL, Oracle hay những cơ sở dữ liệu khác tương thích ODBC (Open Database Connectivity). Trong chương trước, chúng ta cũng đã biết những output pluggin có thể kết xuất thông tin lưu những log và alert vào một cơ sở dữ liệu. Việc ghi vào CSDL giúp ta giám sát dữ liệu mang tính lịch sử để có thể xem lại sau này, xuất báo cáo và phân tích thơng tin. Bằng cách sử dụng những công cụ khác như ACID (sẽ được phân tích trong phần sau), có thể lấy rất nhiều thơng tin hữu ích từ CSDL. Chẳng hạn như ta có thể lấy một bản báo cáo về 15 loại tấn công sau cùng, thông tin về những máy tấn công vào mạng, những loại tấn công phân tán bằng những giao thức khác nhau, v.v..

MySQL là CSDL hồn tồn miễn phí và có thể làm việc tốt trên hệ thống Linux và trên những hệ thống khác nhau. Ta có thể cài đặt và chạy MySQL trên cùng một máy chạy Snort hoặc trên hai máy khác nhau

Sau đây là những bước cơ bản giúp Snort làm việc với MySQL:

35 làm việc bằng cách thử tạo ra một vài cảnh báo. Để Snort làm việc được với MySQL, yêu cầu cần phải thêm vào dịng --with-mysql trong đoạn script cấu hình Snort

 Cài đặt MySQL và sử dụng MySQL client để kiểm tra CSDL đã có.

 Tạo một cơ sở dữ liệu trên MySQL server cho Snort. Tôi đã đặt tên CSDL này là

 “snort”. Tuy nhiên có thể đặt tên khác tùy ý thích.

 Tạo một tài khoản và mật khẩu (Username và Password) trong CSDL. Tài khoản

 này sẽ được sử dụng dùng khi Snort ghi liệu vào.

 Cấu hình file snort.conf để cho phép ghi dữ liệu vào CSDL. Dùng username và password ở trên để thực hiện ghi dữ liệu..

 Khởi động lại Snort. Nếu mọi việc thực hiện tốt, Snort sẽ bắt đầu ghi vào trong

 CSDL.

 Xuất một vài cảnh báo và sử dụng chương trình mysql client xem những gì mà Snort ghi được.

Giả định rằng sau khi cấu hình CSDL và tạo những bảng và tài khoản, ta cần soạn thảo file snort.conf. Những dòng sau đây sẽ cho phép ghi những

thông điệp log vào CSDL MySQL:

output database: log, mysql, user=huuly password=huuly \ dbname=snort host=localhost

Ý nghĩa của dòng trên là: tên CSDL là snort và MySQL server đang chạy ở localhost. Tài khoản sử dụng CSDL là huuly, mật khẩu là huuly. Nếu tài

khoản khơng có mật khẩu, thì ta bỏ dòng: password=huuly.

Theo như trên, CSDL sẽ chạy trên cùng một máy với Snort. Nếu như có một máy chủ CSDL riêng, có thể chỉ định tên của máy chủ trong tập tin

snort.conf. Ví dụ, nếu máy chủ CSDL không nằm trên một máy có Snort

đang chạy, sử dụng dòng lệnh sau:

36

dbname=snort host=192.168.1.222

Máy chủ CSDL MySQL đang chạy trên máy 192.168.1.222. Tuy nhiên

Snort sensor và MySQL phải được cài đặt và nằm trên cùng một mạng con với nhau. Máy chủ CSDL phải chạy trước khi khởi động Snort sensor.

Sau khi khởi động Snort sensor, sẽ thấy những thông tin sau, điều đó chứng tỏ Snort đang làm việc với MySQL

Hình 2.1: khởi động Snort làm việc với MySQL

2.2. Sử dụng Snort với ACID

Analysis Console for Intrusion Databases (ACID) là trong những cơng cụ phân tích và kiểm duyệt dữ liệu. ACID dựa trên những đoạn mã viết bằng ngôn ngữ PHP, cung cấp giao diện giữa một trình suyệt Web (Web Browser) và cơ sở dữ liệu Snort (như MySQL). ACID có thể xem là cơng cụ rất mạnh (một tính năng tương tự như ACID còn được biết đến là BASE – Basic Analysis and Security Engine)

ACID cung cấp những tính năng sau:

37 truy vấn.

Việc tìm kiếm có thể được thực hiện bởi những tham số chẳng hạn như địa chỉ IP của attacker hay những sự kiện như thời gian, ngày tháng hay những luật “bẫy” được.

 Một trình duyệt gói tin, gói tin bắt được và được giải mã thơng tin ở lớp 3 và 4 sẽ được hiển thị cụ thể.

 Khả năng quản lý dữ liệu, bao gồm “nhóm” những cảnh báo (nhóm những sự kiện liên quan đến xâm nhập), xóa cảnh báo hay kết xuất thơng điệp đến hộp thư điện tử (e-mail).

 Minh họa bằng đồ thị và trạng thái.

ACID hoàn toàn free và download ACID tại website www.cert.org/kb/acid Để sử dụng được ACID, cần phải có một số thành phần kết hợp đi kèm. Sau đây là những thủ tục cần thiết để đảm bảo ACID làm việc tốt:

 Cài đặt và kiểm tra Snort làm việc tốt

 Cà đặt và kiểm tra MySQL. Các thủ tục về MySQL đã giới thiệu ở trên.

 Cài đặt Apache.web server Có thể download Apache tại

http://www.apache.org

 Download ACID, giải nén vào thư mục /var/www/html. Trong tiến

trình này tạo thư mục có tên acid nằm trong /var/www.html. Tùy thuộc vào mỗi ấn bản của Linux, thư mục lưu giữ có thể khác nhau, nhưng phải đảm bảo sao cho nơi mà Apache có thể tìm thấy những tập tin HTML.

 Cài đặt PHP. Có thể download PHP tai http://www.php.net .

 Download PHPLOT tại http://www.phplot.com và giải nén vào thư mục /var/www/html. Ứng dụng của PHPLOT là tạo ra giao diện đồ họa

cho trang web

 Download ADODB từ http://php.weblogs.con/adodb và cài đặt nó

vào thư mục /var/www/html. ADODB là thư viện hướng đối tượng viết bằng PHP và được sử dụng để kết nối vào CSDL. Chi tiết về ADODB xem tại http://php.weblogs.com/adodb_fag

38 Sau khi cài đặt các thủ tục cần thiết, ta cấu hình ACID cho phù hợp với Snort và MySQL. Tập tin acid_conf.php phải cấu hình như sau:

 Thiết lập đường dẫn đến ADODB:

$DBlib_path = "./adodb";

 Thiết lập loại CSDL:

$DBtype = "mysql";

 Thiết lập những thơng tin chính của CSDL “snort”, noi mà Snort ghi dữ liệu của nó vào:

$alert_dbname = "snort";

$alert_host = "localhost";

$alert_port = "";

$alert_user = "huuly";

39 Sử dụng ACID:

ACID rất đơn giản, dưới đây là giao diện chính của nó:

Hình 2.2: Giao diện chính của ACID sử dụng Web Browser Hình trên hiển thị các trạng thái của ACID: tên, số cảnh báo (phân chia theo giao thức), các cổng nguồn và đích, v.v.. Bằng cách click vào đường liên kết tương ứng sẽ cho biết chi tiết về từng loại. Dưới đây là danh sách của những cảnh báo (chúng đã được nhóm theo mỗi rule bẫy được)

40 Hình2.3: Hiển thị các cảnh báo được lấy từ MySQL

41 Mỗi một cảnh báo có những liên kết chi tiết thể hiện qua những fields

(trường). Ví dụ, muốn xem chi tiết gói tin tấn cơng, nhấp vào một liên kết trong field ID. Như sau đây:

Hình 2.4: chi tiết của một cảnh báo

2.3. Sử dụng Snort với Swatch:

Swatch là một công cụ tự động giám sát những tập tin log. Nó giúp ích trong việc gửi một E-mail trong tình trang khẩn cấp.

Sử dụng Swatch sau khi ta tạo một tập tin cấu hình đơn giản có tên là

42 Giả sử tập tin ./swatchrc nằm trong thư mục /root và swatch được cài đặt trong thư mục /usr/local/bin. Thực hiện dòng lệnh sau để khởi động swatch:

/usr/local/bin/swatch –c /root/.swatchrc –t

/var/log/snort/canhbao.txt

Lựa chọn –c chỉ định vị trí của tập tin cấu hình Swatch và –t nói lên Swatch sẽ “nhìn” vào tập tin log mà nó giám sát.

Khi có một sự kiện bắt được từ Snort, các thông tin ghi vào tập tin

canhbao.txt. Swatch sẽ gửi một thông điệp e-mail tương ứng trong tập tin cấu

43

Phần 3. Thử nghiệm khả năng phản ứng của Snort IDS

Truy cập vào base http://127.0.0.1/base

Lúc này chưa có cảnh báo nào vì ta chưa khởi chạy snort. giả sử ta tạo một rules với dấu hiệu như sau:

Sau đó include nó vào file /etc/snort_inline/snort_inline.conf và khởi chạy snort: # snort_inline -c /etc/snort_inline/snort_inline.conf -Q rồi từ một máy khác ping đến với địa chỉcủa máy ping là 192.168.1.121 và địa chỉ của máy IDS là 192.168.1.111 ta có kết quả sau

45 Như vậy snort IDS đã hoạt động tốt, ta thử rules sau cho trường hợp phát hiện nmap scan cổng.

sau đó include scan.rules vào file /etc/snort_inline/snort_inline.conf

khởi động lại snort_inline. Từ máy tấn công bật nmap và scan cổng ta nhận được kết quả. nhưvậy snort đã thểhiên là một IPS

46 Vào máy Snort xem kết quả:

47

Một phần của tài liệu báo cáo thực tập tốt nghiệp snort ids (Trang 34 - 47)