CHƯƠNG 3 : XÂY DỰNG MƠ HÌNH ỨNG DỤNG DỰA TRÊN SNORT
3.2. Xây dựng mơ hình phát hiện xâm nhập Snort cho công ty PAMA
3.2.4. Các công cụ sử dụng trong hệ thống Snort
3.2.4.1. Cài đặt 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 [8], Oracle hay những cơ sở dữ liệu khác tương thích với 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 cơ sở dữ liệu 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ư BASE (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à hệ quản trị 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:
Biên dịch Snort có hỗ trợ MySQL và cài đặt nó. Phải đảm bảo rằng Snort 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 cơ sở dữ liệu 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 Snort sử dụng khi ghi dữ liệu vào CSDL.
Chỉnh file cấu hình snort.conf để cho phép ghi dữ liệu vào CSDL. Dùng username và password
Khởi động lại Snort. Nếu mọi việc thực hiện tốt Snort sẽ bắt đầu ghi dữ liệu vào CSDL.
Xuất một vài cảnh báo và xem chương trình mysql client xem những gì 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=root password=123456 dbname=snort host=localost
Ý 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à root, mật khẩu là 123456. Nếu tài khoản
khơng có mật khẩu, thì ta bỏ dịng: password=123456. Theo như trên, CSDL sẽ chạy trên cùng một máy với Snort. Nếu như bạn có một máy chủ CSDL riêng, bạn có thể chỉ định tên của máy chủ trong tập tin snort.conf. Ví dụ, nếu máy
output database: log, mysql, user=root password=123456 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, bạn 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 3.6: Khởi động Snort làm việc với MySQL
3.2.4.2. Cài đặt Snort với Barnyard2
Barnyard2 [8] được viết nhằm mục đích đảm nhận các tác vụ xử lý xuất để Snort có thể dành nhiều tài nguyên hơn cho việc xử lý các gói tin. Nó phụ trách phân tích và xử lý các log/alert unified2 của Snort và gửi chúng tới cơ sở dữ liệu. Barnyard2 chạy độc lập với Snort, nó khơng cần phải phân tích và xử lý các log/alert trong thời gian thực, có nghĩa là cùng một lúc Snort tạo ra chúng Barnyard2 chỉ cần theo dõi có bao nhiêu log/alert trong một thời gian nhất định.
Phiên bản hiện tại của Barnyard2-1.8 có những tính năng sau: Phân tích các gói tin unified2.
Sử dụng cú pháp cấu hình tương tự như của Snort để đơn giản hóa việc triển khai.Hỗ trợ tất cả các plugin đầu ra của Snort( trừ alert_sf_socket) .
3.2.4.3. Cài đặt Snort với Base
Basic Analysis and Security Engine (BASE) [8] là trong những cơng cụ phân tích và kiểm duyệt dữ liệu. BASE 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).
BASE cung cấp những tính năng sau:
Một giao diện (interface) dùng tìm kiếm cơ sở dữ liệu và xây dụng bảng 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à giải mã thông tin ở lớp 3, 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 tới 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. BASE hồn tồn miễn phí.