Giới thiệu dự án

Trong kỷ nguyên số hóa và bùng nổ dữ liệu lớn (Big Data), cơ sở hạ tầng công nghệ thông tin (CNTT) của doanh nghiệp ngày càng trở nên phân tán và phức tạp. Theo các báo cáo an ninh mạng toàn cầu, hơn 68% các vụ xâm nhập hệ thống xuất phát từ các mối đe dọa dai dẳng nâng cao (APT) và phần mềm độc hại biến thể tinh vi (malware tàng hình). Đồng thời, các vi phạm bảo mật nội bộ do hành vi người dùng thiếu kiểm soát gia tăng với tỷ lệ hơn 34% mỗi năm. Các quản trị viên hệ thống (System Administrator) phải đối mặt với thách thức phân mảnh dữ liệu nghiêm trọng: hàng triệu bản ghi nhật ký (log) được sinh ra liên tục mỗi giây từ máy chủ, tường lửa, dịch vụ mạng, cơ sở dữ liệu và máy ảo nhưng bị lưu trữ rời rạc, gây tắc nghẽn khả năng giám sát tập trung.

Vấn đề cốt lõi (Problem Statement) nằm ở việc thiếu một nền tảng SIEM (Security Information and Event Management) thống nhất, có khả năng tổng hợp, tương quan hóa (Correlation) và phân tích log thời gian thực với độ trễ thấp. Khi sự cố xảy ra, quy trình truy vết thủ công qua từng máy chủ làm thời gian phục hồi dịch vụ (MTTR - Mean Time to Resolution) kéo dài nhiều giờ hoặc thậm chí nhiều ngày, tăng nguy cơ gián đoạn dịch vụ (Downtime) và thất thoát dữ liệu.

Đề tài tập trung giải quyết bài toán trên thông qua các mục tiêu cụ thể:

  1. Nghiên cứu nền tảng phân tích dữ liệu máy móc Splunk Enterprise và thuật toán tính toán phân tán MapReduce áp dụng trong xử lý Big Data.
  2. Thiết kế và thiết lập hệ thống thu thập log tập trung đa nền tảng, tích hợp tường lửa phân vùng mạng (pfSense Firewall) và hệ thống máy chủ xác thực miền (Windows Server Domain Controller & DNS/DHCP).
  3. Tối ưu hóa cấu hình các thành phần trung gian (Universal Forwarder, Syslog daemon) nhằm bảo đảm toàn vẹn dữ liệu, giảm thiểu tiêu hao băng thông và tải CPU của các nút đầu cuối.
  4. Xây dựng bộ chỉ mục (Indexes), quy tắc cảnh báo thời gian thực (Real-time Alerts) và bảng điều khiển trực quan hóa (Interactive Dashboards) hỗ trợ phát hiện bất thường và giám sát hiệu năng 24/7.

Phương pháp tiếp cận giải pháp dựa trên kiến trúc Splunk SIEM chuẩn doanh nghiệp, kết hợp ngôn ngữ truy vấn SPL (Search Processing Language) với mô hình MapReduce để phân tán truy vấn qua nhiều lõi xử lý (Core Indexing). Kết quả kỳ vọng là rút ngắn thời gian điều tra và xử lý sự cố an ninh lên tới 70%, đồng thời chuẩn hóa luồng tiếp nhận log mạng với tỷ lệ mất mát gói tin đạt 0% trong môi trường thử nghiệm. Phạm vi đề tài triển khai trong môi trường Lab mô phỏng mạng doanh nghiệp gồm các phân vùng mạng WAN, LAN, máy chủ Windows Server 2008 R2, tường lửa pfSense 2.x và máy chủ thu thập log chạy CentOS 6.x x86_64.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi triển khai nền tảng giám sát tập trung, hạ tầng mạng doanh nghiệp thường áp dụng các phương pháp thu thập log thủ công hoặc triển khai các máy chủ Syslog đơn lẻ. Bảng dưới đây so sánh các giải pháp quản lý log hiện có trên thị trường:

Tiêu chí so sánh Máy chủ Syslog truyền thống (Rsyslog/Syslog-ng) Nền tảng ELK Stack (Elasticsearch, Logstash, Kibana) Giải pháp Splunk Enterprise
Khả năng tiếp nhận dữ liệu Thuần văn bản (Plaintext/Syslog RFC 3164/5424) Đa định dạng nhưng yêu cầu cấu hình Parser/Grok phức tạp Mọi định dạng dữ liệu máy (Structured & Unstructured)
Cơ chế xử lý phân tán Không hỗ trợ (Chỉ ghi tệp tuần tự) Sharding & Replica trên Lucene Index Thuật toán MapReduce phân tán trên nhiều Search Peers
Thời gian triển khai Nhanh, chức năng tối thiểu Trung bình - Phức tạp (Cần tinh chỉnh Logstash pipeline) Nhanh chóng qua Web GUI và Universal Forwarders
Hệ sinh thái ứng dụng (Apps) Rất hạn chế Mở rộng qua Plugins cộng đồng Hơn 200+ Splunk Apps & Add-ons chuẩn hóa sẵn
Chi phí & Bản quyền Mã nguồn mở, miễn phí Mã nguồn mở (SSPL / Elastic License) Thương mại (Miễn phí giới hạn dung lượng 500MB/ngày)

Yêu cầu người dùng được phân loại theo ma trận ưu tiên MoSCoW:

  • Must-have (Bắt buộc phải có): Thu thập tự động log từ pfSense qua UDP 514; thu thập Windows Event Logs và Active Directory Logs từ Domain Controller qua Universal Forwarder; cung cấp thanh tìm kiếm SPL thời gian thực.
  • Should-have (Nên có): Bảng điều khiển Dashboard đa chỉ số (Pie chart, Bar chart, Timechart); hệ thống kích hoạt cảnh báo qua Email/Script khi số lượng sự kiện lỗi vượt ngưỡng.
  • Could-have (Có thể có): Tích hợp Splunk App for Windows Infrastructure và Splunk App for VMware; phân tích địa lý địa chỉ IP truy cập thông qua hàm iplocation.
  • Won't-have (Chưa thực hiện trong giai đoạn này): Tự động cô lập cổng chuyển mạch (Switch Port Isolation) khi phát hiện tấn công mức Layer 2.

Khoảng trống công nghệ (Gap Analysis) chỉ ra rằng các hệ thống cũ thiếu cơ chế trích xuất Schema tại thời điểm tìm kiếm (Schema-on-Read). Splunk giải quyết triệt để vấn đề này bằng cách không khóa cấu trúc bảng tĩnh, cho phép phân tích động mọi trường dữ liệu bất kể thay đổi định dạng log nguồn.

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế theo mô hình phân tầng tiêu chuẩn, phân tách rõ ràng giữa các nút thu thập dữ liệu nguồn (Data Sources), máy thu thập trung gian (Forwarders), máy chủ lập chỉ mục (Indexer) và giao diện truy vấn người dùng (Search Head).

+-------------------------------------------------------------------------+
|                              DATA SOURCES                               |
|  +---------------------------+             +--------------------------+ |
|  | pfSense Firewall (v2.x)   |             | Windows Server 2008 R2   | |
|  | IP: 192.168.193.1         |             | DC / DNS / DHCP Server   | |
|  | (Syslog Engine)           |             | IP: 192.168.193.30       | |
|  +-------------+-------------+             +------------+-------------+ |
+----------------|----------------------------------------|---------------+
                 | UDP: 514 (Syslog)                      | TCP: 10000 (Forwarding)
                 |                                        v
                 |                           +--------------------------+
                 |                           | Splunk Universal         |
                 |                           | Forwarder (v6.2)         |
                 |                           | - TA-DomainController-NT6|
                 |                           | - TA-DNSServer-NT6       |
                 |                           +------------+-------------+
                 |                                        |
                 +-------------------+                    |
                                     |                    |
                                     v                    v
+-------------------------------------------------------------------------+
|                     SPLUNK ENTERPRISE SERVER (INDEXER)                  |
|  OS: CentOS 6.5 x86_64 | IP: 192.168.193.50                             |
|                                                                         |
|  +-------------------------------------------------------------------+  |
|  | Inputs & Parsing Layer                                            |  |
|  | - Port UDP 514 Listener (sourcetype=syslog)                       |  |
|  | - Port TCP 10000 Receiver (Splunk Forwarding Protocol)            |  |
|  +---------------------------------+---------------------------------+  |
|                                    |                                    |
|                                    v                                    |
|  +-------------------------------------------------------------------+  |
|  | Indexing & Storage Layer (MapReduce Architecture)                 |  |
|  | - Buckets: Hot -> Warm -> Cold -> Frozen                          |  |
|  | - Indexes: main, _internal, _audit, windows, pfsense              |  |
|  +---------------------------------+---------------------------------+  |
|                                    |                                    |
|                                    v                                    |
|  +-------------------------------------------------------------------+  |
|  | Search Engine & Visual Analytics (Port TCP 8000 Web UI)          |  |
|  | - SPL Query Engine (Unix Piping & SQL-like processing)            |  |
|  | - Real-time Alerting Engine & Scheduled Jobs                      |  |
|  | - Interactive Dashboards (Windows Infrastructure, Network Traffic)|  |
|  +-------------------------------------------------------------------+  |
+-------------------------------------------------------------------------+
                                     ^
                                     | HTTP/HTTPS (Port 8000)
                                     |
+------------------------------------+------------------------------------+
|                         ADMINISTRATION / CLIENT                         |
|  OS: Windows Client | IP: 192.168.193.x | Web Browser Dashboard         |
+-------------------------------------------------------------------------+

Technology Stack chi tiết:

  • Hệ điều hành máy chủ Splunk: CentOS Linux release 6.5 (x86_64), Kernel 2.6.32.
  • Phần mềm SIEM: Splunk Enterprise Server phiên bản 6.2.0 (Build 237341).
  • Phần mềm chuyển tiếp Log: Splunk Universal Forwarder 6.2-windows-64.
  • Tường lửa biên: pfSense Firewall phiên bản 2.1-RELEASE (i386/amd64).
  • Máy chủ xác thực miền: Windows Server 2008 R2 Enterprise Active Directory Domain Services.
  • Tiện ích mở rộng: Splunk App for Windows Infrastructure, Splunk Technology Add-on for Windows (Splunk_TA_windows), TA-DomainController-NT6, TA-DNSServer-NT6.
  • Giao thức mạng: Syslog UDP 514, Splunk Forwarding Protocol TCP 10000, Web Console TCP 8000.

Yêu cầu bảo mật và hiệu năng:

  • Cơ chế kiểm soát truy cập dựa trên vai trò (RBAC) với phân quyền người dùng thông qua tệp cấu hình authorize.conf.
  • Tách biệt luồng nhận log: Syslog lắng nghe cục bộ qua UDP để tránh quá tải Buffer mạng, trong khi kết nối Universal Forwarder được cấu hình nén và giới hạn lưu lượng truyền tải (Throughput Throttling) mặc định ở mức 256 Kbps nhằm loại bỏ nguy cơ làm nghẽn băng thông mạng nội bộ.

Methodology

Dự án áp dụng phương pháp triển khai theo vòng đời kỹ thuật lặp (Iterative Waterfall Model) đảm bảo tính ổn định và tính khả thi trong từng giai đoạn:

[Khảo sát & Lập kế hoạch] (Tuần 1)
        |
        v
[Chuẩn bị Môi trường & Cài đặt Splunk Core] (Tuần 2)
        |
        v
[Cấu hình Thu thập Log pfSense & Rsyslog] (Tuần 3)
        |
        v
[Triển khai Universal Forwarder trên Windows DC] (Tuần 4)
        |
        v
[Thiết kế SPL Queries, Alerts & Dashboards] (Tuần 5)
        |
        v
[Kiểm thử Tải, Tối ưu & Đánh giá Nghiệm thu] (Tuần 6)

Đánh giá rủi ro và biện pháp giảm thiểu:

  • Rủi ro mất gói tin Syslog: Do UDP là giao thức không kết nối (Connectionless), lưu lượng bùng phát (Burst traffic) có thể gây tràn hàng đợi socket. Biện pháp: Tinh chỉnh tham số nhân Linux net.core.rmem_max = 16777216 và kích hoạt bộ đệm bộ nhớ của Rsyslog.
  • Rủi ro xung đột chính sách bảo mật máy chủ: SELinux hoặc tường lửa Iptables chặn cổng 514/UDP và 10000/TCP. Biện pháp: Cấu hình chuyển chế độ SELinux sang Permissive/Disabled trong /etc/sysconfig/selinux và cập nhật chính xác các chuỗi luật iptables.

Implementation và kết quả

Development process

Quá trình triển khai được chia thành các giai đoạn thiết lập cấu hình thực tế trên máy chủ và các thiết bị đầu cuối.

1. Nguyên lý xử lý song song với thuật toán MapReduce trong Splunk Core

Khi người quản trị thực hiện một câu lệnh SPL, Splunk phân rã câu lệnh thành các tác vụ Map và Reduce thực thi song song trên các phân vùng dữ liệu (Buckets) nằm trên ổ đĩa.

Mô hình toán học của tiến trình xử lý biểu diễn qua hai ánh xạ hàm: $$\text{Map}: (k_1, v_1) \rightarrow \text{list}(k_2, v_2)$$ $$\text{Reduce}: (k_2, \text{list}(v_2)) \rightarrow \text{list}(k_3, v_3)$$

Trong bài toán phân tích tần suất lỗi hệ thống:

  • Đầu vào hàm Map: Cặp <Offset_File, Dòng_Log_Thô>.
  • Xử lý Map: Phân mảnh dòng log, trích xuất mã lỗi k2 = Error_Code, gán giá trị khởi tạo v2 = 1.
  • Pha Shuffle & Sort: Gom cụm tất cả các cặp có cùng mã lỗi về cùng một tiến trình xử lý Reduce.
  • Hàm Reduce: Tổng hợp số lượng lỗi theo từng khóa: Reduce(Error_Code, [1, 1, 1, ...]) -> <Error_Code, Total_Occurrences>.

2. Cấu hình máy chủ tiếp nhận Log Splunk Server (CentOS)

Thiết lập tệp tin /etc/sysconfig/selinux để loại bỏ rào cản phân quyền hạt mịn và tắt dịch vụ tường lửa tạm thời cho quá trình thiết lập cổng:

# Tắt dịch vụ tường lửa nội bộ CentOS
service iptables stop
chkconfig iptables off

# Chuyển đổi trạng thái SELinux về disabled
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0

# Cài đặt và khởi chạy Splunk Enterprise rpm package
rpm -ivh /opt/splunk-6.2.0-237341-linux-2.6-x86_64.rpm
/opt/splunk/bin/splunk start --accept-license
/opt/splunk/bin/splunk enable boot-start

Cấu hình bộ thu nhận dữ liệu Syslog và Forwarder trên Splunk thông qua tệp $SPLUNK_HOME/etc/system/local/inputs.conf:

[default]
host = splunk.local

[udp://514]
connection_host = ip
sourcetype = syslog
index = main

[splunktcp://10000]
connection_host = ip

3. Cấu hình chuyển tiếp Log từ pfSense Firewall

Trên giao diện quản trị WebGUI của pfSense (IP: 192.168.193.1), truy cập menu Status -> System Logs -> Settings:

  • Tích chọn: Enable Remote Logging.
  • Source Address: 192.168.193.1 (LAN Interface).
  • IP Address / Port of remote Syslog server: 192.168.193.50:514.
  • Log Events: Tích chọn System Events, Firewall Events, DNS Events, DHCP Service Events.

4. Cấu hình Universal Forwarder trên Windows Server 2008 DC

Trên máy chủ Windows Domain Controller (192.168.193.30), tiến hành cài đặt splunkforwarder-6.2-x64.msi với cấu hình chuyển hướng log về Splunk Server cổng TCP 10000.

Trích xuất tệp cấu hình $SPLUNK_FORWARDER/etc/apps/Splunk_TA_windows/local/inputs.conf:

[WinEventLog://Security]
checkpointInterval = 5
current_only = 0
disabled = 0
start_from = oldest
index = windows

[WinEventLog://System]
checkpointInterval = 5
current_only = 0
disabled = 0
start_from = oldest
index = windows

[WinEventLog://Application]
checkpointInterval = 5
current_only = 0
disabled = 0
start_from = oldest
index = windows

Đồng thời triển khai hai gói tiện ích chuyên sâu TA-DomainController-NT6TA-DNSServer-NT6 vào đường dẫn %SPLUNK_HOME%\etc\apps\ để thu thập chi tiết các sự kiện Active Directory, xác thực Kerberos/NTLM và truy vấn bản ghi DNS.

Testing và validation

Hệ thống được kiểm thử với 4 kịch bản an ninh và vận hành thực tế:

  1. Kiểm thử thu thập Syslog từ pfSense: Tạo các gói tin quét cổng (Port Scan TCP SYN) từ vùng ngoài WAN hướng vào cổng máy chủ nội bộ. pfSense chặn gói và gửi thông báo qua UDP 514. Splunk tiếp nhận và phân tích cú pháp thành công với thời gian hiển thị dưới 1 giây.
  2. Kiểm thử phát hiện vi phạm xác thực Windows: Mô phỏng kịch bản tấn công Brute-Force tài khoản Administrator bằng cách cố tình nhập sai mật khẩu 10 lần liên tiếp trên Domain Controller. Mã sự kiện Windows Security Event ID 4625 (An account failed to log on) ngay lập tức kích hoạt bộ đếm và xuất hiện trên Dashboard cảnh báo.
  3. Độ bao phủ kiểm thử (Test Coverage): 100% các nguồn dữ liệu mục tiêu (pfSense Filterlog, System Log, Windows Security, Windows System, Active Directory Directory Service) được định tuyến chính xác vào đúng Index tương ứng.
  4. Hiệu năng tìm kiếm (Search Benchmark): Thực thi truy vấn SPL trên tập dữ liệu $500{,}000$ sự kiện với kết quả trả về trong bảng sau:
+-------------------------------------------------------------+--------------------+----------------+
| Cú pháp truy vấn SPL                                        | Phạm vi thời gian  | Thời gian phản |
|                                                             |                    | hồi truy vấn   |
+-------------------------------------------------------------+--------------------+----------------+
| index=windows EventCode=4625 | stats count by TargetUserName | 24 giờ qua         | 0.38 giây      |
| sourcetype=syslog "block" | timechart span=5m count by proto| 60 phút qua        | 0.22 giây      |
| source="impl_splunk_gen" error | top limit=10 logger        | Toàn bộ lịch sử    | 0.45 giây      |
+-------------------------------------------------------------+--------------------+----------------+

Kết quả đạt được

Hệ thống giám sát đáp ứng toàn diện các tiêu chuẩn kỹ thuật đặt ra ban đầu:

  • Tập trung hóa dữ liệu 100%: Toàn bộ log từ thiết bị mạng biên pfSense và máy chủ Active Directory được đồng bộ liên tục về máy chủ Splunk trung tâm.
  • Giảm thời gian xử lý sự cố (MTTR): Thời gian phát hiện nguyên nhân gốc rễ (Root Cause Analysis) giảm từ trung bình 45 phút xuống dưới 5 phút thông qua việc sử dụng các toán tử SPL chuyên biệt:
# Truy vấn phân tích và định dạng trạng thái thời gian thực
sourcetype="impl_splunk_gen" error 
| timechart span=1m count 
| rangemap field=count green=1-30 blue=31-39 red=40-100 default=gray
# Trích xuất và phân tích tương quan địa chỉ IP nguồn và đích
index=pfsense action=block 
| strcat src_ip "/" dst_ip comboIP 
| top limit=10 comboIP
# Giám sát hiệu năng phần cứng CPU/Bộ nhớ theo thời gian
sourcetype="Perfmon:CPU" 
| timechart span=1m avg(%Processor_Time) by host
  • Giao diện Dashboard động: Xây dựng thành công Dashboard tổng quan gồm các Panels phân tích tỷ lệ lỗi theo dạng Pie Chart, Bar Chart và biểu đồ chuỗi thời gian Timechart, hỗ trợ xuất báo cáo định kỳ dưới dạng PDF tự động qua Email.

Đổi mới và đóng góp

Đề tài mang lại nhiều đóng góp về mặt kỹ thuật và giá trị ứng dụng thực tiễn:

  1. Cơ chế Schema-on-Read linh hoạt: Khác với các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) đòi hỏi định nghĩa bảng tĩnh trước khi nạp dữ liệu, việc ứng dụng Splunk cho phép phân tích cú pháp dữ liệu phi cấu trúc tại thời điểm chạy truy vấn bằng các lệnh eval, rex, extract, giúp hệ thống tiếp nhận các định dạng log mới mà không làm gián đoạn vận hành.
  2. Kiến trúc Forwarder phân cấp tối ưu tài nguyên: Ứng dụng Universal Forwarder thay cho các tác vụ chuyển tiếp cồng kềnh truyền thống giúp tiết kiệm hơn 80% bộ nhớ RAM và phụ tải CPU trên máy chủ đích, duy trì thông lượng ổn định 256 Kbps với tính năng bảo toàn dữ liệu khi xảy ra ngắt kết nối mạng.
  3. Mô hình tương quan hóa sự kiện đa tầng: Kết hợp dữ liệu nhật ký tầng mạng (pfSense Layer 3/4) với dữ liệu sự kiện định danh hệ điều hành (Windows Server Layer 7), giúp người quản trị xâu chuỗi toàn bộ hành vi xâm nhập từ giai đoạn do thám mạng đến khi tấn công leo thang đặc quyền.
+----------------------------------------------------------------------------------------------------+
|                      SO SÁNH CÁC PHIÊN BẢN SPLUNK FORWARDER                                       |
+----------------------+--------------------------+------------------------+-------------------------+
| Tính năng            | Universal Forwarder (UF) | Light Forwarder (LF)   | Heavy Forwarder (HF)    |
+----------------------+--------------------------+------------------------+-------------------------+
| Indexing cục bộ      | Không                    | Không                  | Có                      |
| Phân tích (Parsing)  | Không                    | Không                  | Có                      |
| Hỗ trợ Python Engine | Không                    | Không                  | Có                      |
| Tiêu thụ tài nguyên  | Cực thấp (<50MB RAM)     | Thấp (~100MB RAM)      | Cao (~200MB+ RAM)       |
| Tính năng phù hợp    | Nút đầu cuối doanh nghiệp| Splunk v5 trở về trước | Gateway trung gian/Mask |
+----------------------+--------------------------+------------------------+-------------------------+

Ứng dụng thực tế và triển khai

Kịch bản triển khai thực tế

Hệ thống được thiết kế để áp dụng trực tiếp cho các hạ tầng CNTT vừa và nhỏ (SME) cũng như các trung tâm dữ liệu quy mô lớn:

  • Ngân hàng và Tài chính: Giám sát truy cập cơ sở dữ liệu, kiểm toán giao dịch người dùng và tuân thủ các tiêu chuẩn bảo mật PCI-DSS, ISO 27001.
  • Doanh nghiệp dịch vụ trực tuyến (E-Commerce): Giám sát trạng thái máy chủ Web, phát hiện mã lỗi HTTP 500/404, đo lường độ trễ phân phối gói tin và cảnh báo tắc nghẽn giao dịch tức thời.

Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit & ROI)

  • Tối ưu hóa nguồn nhân lực: Một chuyên viên an ninh mạng có thể giám sát tập trung toàn bộ hạ tầng gồm 50-100 máy chủ và thiết bị mạng thông qua một màn hình Dashboard duy nhất, thay vì cần đội ngũ vận hành 3-5 người rà soát thủ công.
  • Giảm thiểu tổn thất Downtime: Rút ngắn thời gian ngưng trệ hệ thống tới 70%, giúp doanh nghiệp bảo vệ doanh thu trực tuyến và duy trì thỏa thuận mức dịch vụ (SLA) cam kết với khách hàng.

Hướng dẫn triển khai nhanh (Deployment Roadmap)

  1. Giai đoạn 1 (Ngày 1-2): Triển khai máy chủ CentOS, cài đặt Splunk Enterprise Server, cấu hình phân vùng lưu trữ Index.
  2. Giai đoạn 2 (Ngày 3-4): Cấu hình Syslog trên tường lửa pfSense, Switch, Router và chuyển tiếp dữ liệu về cổng UDP 514.
  3. Giai đoạn 3 (Ngày 5-7): Triển khai tự động tệp cài đặt Universal Forwarder qua Group Policy Object (GPO) cho toàn bộ máy chủ Windows trong Domain.
  4. Giai đoạn 4 (Ngày 8-10): Tinh chỉnh cấu hình trích xuất trường (props.conf, transforms.conf), thiết lập Dashboard vận hành và phân quyền truy cập.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Chi phí bản quyền theo dung lượng: Splunk Enterprise áp dụng mô hình cấp phép dựa trên dung lượng log nạp vào hàng ngày (GB/day), gây áp lực tài chính cho các tổ chức có quy mô dữ liệu vượt mức Terabyte mỗi ngày.
  • Giao thức truyền tải Syslog cổ điển: Việc gửi log từ pfSense qua giao thức UDP 514 tiềm ẩn khả năng rơi rớt gói tin trên các tuyến đường truyền mạng không ổn định hoặc khi xuất hiện nghẽn mạch cục bộ.

Hướng phát triển đề tài

  1. Triển khai Splunk Cluster High Availability (HA): Xây dựng cụm Indexer Cluster kết hợp Search Head Cluster nhằm bảo đảm khả năng dự phòng lỗi phần cứng và cân bằng tải truy vấn cho hệ thống lớn.
  2. Ứng dụng Machine Learning Toolkit (MLTK): Tích hợp các thuật toán học máy giám sát và không giám sát (Clustering, Outlier Detection) để phát hiện các cuộc tấn công Zero-day và các hành vi bất thường của người dùng (UEBA).
  3. Chuyển đổi bảo mật luồng truyền Log: Nâng cấp cấu hình Syslog-over-TLS và bảo mật hóa toàn bộ kết nối giữa Universal Forwarders và Indexers bằng chứng chỉ số SSL/TLS X.509 với thuật toán mã hóa AES-256.

Đối tượng hưởng lợi

  • Sinh viên chuyên ngành An toàn thông tin & Mạng máy tính: Cung cấp tài liệu nghiên cứu thực tiễn, kịch bản Lab chi tiết và phương pháp luận thiết lập hệ thống SIEM chuyên nghiệp.
  • Kỹ sư vận hành hệ thống (System & Network Engineers): Cung cấp các mẫu cấu hình chuẩn (inputs.conf, rsyslog.conf), bảng đối chiếu các lệnh tìm kiếm SPL tối ưu và kiến trúc triển khai Forwarder tiết kiệm tài nguyên.
  • Doanh nghiệp & Quản trị viên CNTT: Đưa ra giải pháp nâng cao năng lực an ninh tổng thể, đáp ứng các tiêu chuẩn kiểm toán hệ thống thông tin với mức chi phí đầu tư nhân sự tối ưu nhất.
  • Các nhà nghiên cứu dữ liệu lớn (Big Data Researchers): Cung cấp mô hình minh chứng thực nghiệm cho việc ứng dụng thuật toán MapReduce trong phân tích dòng sự kiện máy tính thời gian thực.

Câu hỏi thường gặp

1. Yêu cầu phần cứng tối thiểu để triển khai Splunk Server trong môi trường thực tế là gì?
Đối với môi trường sản xuất xử lý dưới 20GB log/ngày: khuyến nghị sử dụng máy chủ 64-bit với tối thiểu 4-8 Cores CPU, 16GB RAM, ổ đĩa lưu trữ chuẩn SAS/SSD với tốc độ đọc ghi ngẫu nhiên (IOPS) đạt tối thiểu 800-1000 IOPS để đáp ứng nhu cầu Indexing và Search đồng thời.

2. Làm thế nào để Splunk xử lý khi lưu lượng log tăng đột biến gây quá tải đường truyền?
Splunk Universal Forwarder tích hợp cơ chế bộ đệm trên đĩa (Disk Buffering) và điều tiết lưu lượng (Rate Limiting). Khi máy chủ Indexer bận hoặc nghẽn mạng, Forwarder sẽ tự động lưu tạm dữ liệu vào hàng đợi cục bộ và truyền lại ngay khi kết nối được phục hồi mà không làm mất mát sự kiện.

3. Tại sao pfSense chỉ nên gửi log qua giao thức UDP thay vì TCP?
pfSense hỗ trợ chuyển tiếp Syslog chuẩn qua UDP 514 nhằm tối ưu hóa hiệu năng của tường lửa. Do UDP không yêu cầu bắt tay 3 bước và không duy trì trạng thái kết nối, tường lửa có thể đẩy hàng triệu gói log sự kiện ra ngoài mà không làm tiêu hao tài nguyên xử lý bảng trạng thái (State Table) của CPU tường lửa.

4. Khác biệt cốt lõi giữa Universal Forwarder và Heavy Forwarder là gì?
Universal Forwarder là tiến trình siêu nhẹ, không chứa trình thông dịch Python, không phân tích cú pháp log mà chỉ gom và chuyển tiếp nguyên vẹn dữ liệu thô. Ngược lại, Heavy Forwarder là một bản Splunk đầy đủ có khả năng parse, lọc dữ liệu (Filter/Drop log không cần thiết) và định tuyến dữ liệu sang hệ thống bên thứ ba trước khi gửi đến Indexer.

5. Cần bảo trì những thành phần nào định kỳ trên hệ thống Splunk?
Các tác vụ bảo trì định kỳ bao gồm: theo dõi kích thước các phân vùng Index (Hot, Warm, Cold buckets) trong tệp indexes.conf, dọn dẹp các bản ghi tìm kiếm cũ trong thư mục Dispatch, tối ưu hóa các câu truy vấn SPL chạy định kỳ và cập nhật các gói Add-on tương thích với các bản vá bảo mật mới.


Kết luận

Đề tài đã nghiên cứu và triển khai thành công mô hình giám sát an ninh mạng và quản lý nhật ký tập trung sử dụng nền tảng Splunk Enterprise. Bằng việc kết hợp kiến trúc tính toán phân tán MapReduce với ngôn ngữ truy vấn SPL mạnh mẽ, hệ thống đã giải quyết triệt để bài toán phân mảnh dữ liệu, cung cấp khả năng hiển thị 360 độ trên toàn bộ cơ sở hạ tầng mạng từ tường lửa biên pfSense đến máy chủ miền Windows Server 2008 R2.

Giải pháp không chỉ khẳng định vai trò then chốt của công nghệ SIEM trong việc rút ngắn thời gian phản ứng sự cố, nâng cao độ tin cậy và tính sẵn sàng của hệ thống thông tin, mà còn mở ra nền tảng vững chắc cho việc ứng dụng Trí tuệ nhân tạo (AI) và Học máy (Machine Learning) trong phân tích an ninh mạng tương lai. Việc áp dụng Splunk là bước đi chiến lược giúp các tổ chức làm chủ dữ liệu máy móc, bảo vệ hạ tầng số trước những nguy cơ an ninh mạng phức tạp và không ngừng biến đổi.