CHƯƠNG 3 TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG
3.1 Triển khai và cài đặt thử nghiệm hệ thống
3.1.2 Thu thập và chuẩn hoá logs về SIEM
Trong mô hình trên, các máy chủ Windows, Linux sẽ được cấu hình thu thập logs về hệ thống SIEM-Qradar để thực hiện giám sát. Toàn bộ quy trình thu thập và chuẩn hóa logs trên hệ thống SIEM phục vụ việc xây dựng tập luật phát hiện các hành vi nghi ngờ là tấn công được mô tả như sơ đồ bên dưới.
64
Cấu hình nguồn logs trên máy chủ
Hệ thống SIEM
Các trường thông tin
Cảnh báo phát hiện hành vi tấn công Thu thập logs
Syslog, Wincollect, ...
Cấu hình parser JSON, LEEF, Key/Value, ...
Cấu hình rules
Hình 3.2. Sơ đồ luồng thu thập và xử lý logs trên hệ thống SIEM
Trong đó, tại bước 1 sẽ cần cấu hình đảm bảo sinh đủ logs trên máy chủ. Cụ thể:
-Với máy chủ Windows, cấu hình Windows GPO [Bảng 2.2] và cài đặt, cấu hình dịch vụ Sysmon [Bảng 2.3].
-Với máy chủ Linux, cài đặt và cấu hình dịch vụ osquery [Bảng 1.8] hoặc auditd [Bảng 1.9] để sinh bổ sung một số logs cần thiết liên quan đến các tiến trình được thực thi, các kết nối mạng sử dụng.
Tại bước 2, để thu thập logs trên máy chủ Windows về hệ thống SIEM, ta cài đặt và cấu hình Wincollect Agent trực tiếp lên máy chủ theo chế độ Managed. Các Agent này sẽ đọc và đẩy logs từ máy chủ về SIEM. Chú ý, khi cấu hình nhận logs trên Qradar, chọn sử dụng giao thức TCP để đảm bảo logs nhận được giống với trên máy chủ, tránh hiện tượng logs bị thiếu, bị mất một phần trong quá trình truyền và nhận. Theo mặc định, giao thức UDP sẽ giới hạn kích thước tối đa thông điệp là 1024 byte, còn TCP cho phép gói tin có thể dài tới 4096 byte.
Để thu thập logs trên máy chủ Linux về hệ thống SIEM-Qradar, ta sử dụng dịch vụ rsyslog, hoặc syslog-ng được cài đặt sẵn trên hầu hết các máy chủ Linux để đẩy logs về SIEM qua giao thức Syslog trên cổng 514. Đối với máy chủ cài đặt osquery, do logs sinh ra có kích thước dài, nên cấu hình truyền và nhận logs theo giao thức TCP. Còn với máy chủ cấu hình auditd do logs bị phân tách thành nhiều thông điệp với cùng một giá trị Record ID nên có thể hỗ trợ tốt việc đẩy logs bằng cả giao thức TCP và UDP.
Tại bước 3, để trích xuất các giá trị trong logs thu nhận được trên SIEM phục vụ cho việc xây dựng tập luật, ta cần cấu hình paser trên SIEM. Theo mặc định, Qradar hỗ trợ nhiều kiểu định dạng logs như key/value, JSON, CEF, LEEF, … với các cách cấu hình paser khác nhau. Có nhiều cách viết khác nhau, trong đó phổ biến nhất là sử dụng các biểu thức chính quy (regex).
65
Tại bước 4, để sinh các cảnh báo ghi lại các sự kiện nghi ngờ liên quan đến hành vi tấn công, cần xây dựng tập luật, cụ thể là Event Custom Rules trên Qradar.
Để tối ưu trong quá trình vận hành hệ thống SIEM-Qradar, các nhà phát triển đã xây dựng một số cấu hình paser, rules cho các loại logs phổ biến như Windows, Linux Auditd và đóng gói chúng thành dạng extension packages. Thông tin chi tiết một số extension cần cài đặt từ trang chủ của IBM [21] được mô tả như bảng bên dưới.
Bảng 3.2. Bảng đặc tả một số extension cài đặt trên Qradar
Tên Phiên bản Mô tả chi tiết
QRadar Log Source Management
7.0.3 Quản lý toàn bộ Log Source
IBM QRadar Content Extension for Sysmon
1.1.3 Cung cấp paser và một số rules cơ bản cho logs của Sysmon
IBM QRadar Custom Properties for Linux
1.1.0 Cung cấp paser cho audit logs của Linux
Reference Data Management
2.1.1 Quản lý Reference Data phục vụ việc tối ưu tập luật
MITRE ATT&CK for Linux
1.0.0 Cung cấp một số luật phát hiện tấn công dựa trên audit logs
Đối với logs của dịch vụ osquery, cần cấu hình phân tách bổ sung thêm các trường thông tin trong DSM Editor. Các thuộc tính sau đó được quản lý trong phần Custom Event Properties trên SIEM-Qradar. Bảng bên dưới thống kê một số trường cần tạo mới/thay đổi để phân tách thông tin từ log của dịch vụ osquery.
Bảng 3.3. Bảng thống kê các trường thông tin trong logs của osquery
Tên trường Mô tả
Event ID Tên Event ID của sự kiện
OSQuery HostIdentifier Tên của máy chủ
Log Source Time Thời gian thu nhận logs trên Qradar Event Category Phân loại các sự kiện trên Qradar Username Tài khoản đăng nhập gần nhất OSQuery command Thông tin về câu lẹnh được thực thi OSQuery path Đường dẫn của tiến trình thực thi
66
OSQuery parent process path Đường dẫn của tiến trình cha OSQuery parent process cmdline Tham số của tiến trình cha OSQuery username Tên tài khoản thực thi OSQuery process ID ID của tiến trình thực thi OSQuery process cmdline Tham số của tiến trình thực thi OSQuery hash sha1 Mã băm của tiến trình thực thi OSQuery remote address Địa chỉ kết nối từ xa
OSQuery remote port Số hiệu cổng kết nối từ xa OSQuery local address Địa chỉ kết nối cục bộ
OSQuery local port Số hiệu cổng cục bọ thực hiện kết nối OSQuery target_path Đường dẫn của tệp đích thực thi OSQuery action Hành vi được ghi nhận
Ngoài ra, đối với logs của Windows trên Qradar, cần cấu hình trích xuất thêm một số trường thông tin trong các sự kiện trong System Logs, Security Logs như Service Name, Process ID, Parent Process ID, v.v. Đối với logs của Linux, cần cấu hình trích xuất thêm một số thông ti từ dạng số sang dạng xâu ký tự. Ví dụ như arch là c000003 sẽ x86_64, uid là 0 sẽ thành root, v.v.
Trên hệ điều hành Windows, để thu thập logs của một số dịch vụ như Sysmon, PowerShell, Task Schedule, cần bổ sung cấu hình XPath-Query sau:
<QueryList>
<Query Id="0" Path="Windows PowerShell"> <Select Path="Windows PowerShell">*</Select>
<Select Path="Microsoft-Windows-TaskScheduler/Operational">*</Select> <Select Path="Microsoft-Windows-PowerShell/Operational">*</Select> <Select Path="Microsoft-Windows-Sysmon/Operational">*</Select> <Select Path="Security">*</Select> </Query> </QueryList>
Đối với hệ điều hành Linux, ngoài các logs của dịch vụ auditd, osquery sử dụng mô-đun imfile của rsyslog để đẩy logs lên, ta cũng dùng rsyslog đẩy toàn bộ các logs mặc định của hệ thống lên SIEM.
67
Chi tiết cách cài đặt và cấu hình thu thập logs trên máy chủ có thể tham khảo phần phụ lục A1. Cài đặt và cấu hình thu thập logs máy chủ Windows.