Khi xây dựng Dashboard giám sát cho bộ phận SOC, việc lựa chọn biểu đồ phù hợp để biểu diễn dữ liệu đóng vai trò cực kỳ quan trọng. Hôm nay, mình xin chia sẻ lại trải nghiệm thực tế khi cấu hình Area Chart (Biểu đồ vùng xếp chồng) trên OpenSearch Dashboards để tracking xu hướng các cuộc tấn công Web theo thời gian thực.
Tại sao lại là Area Chart? Vì nó không chỉ cho thấy xu hướng tăng/giảm mà còn thể hiện được tổng mức độ nghiêm trọng (diện tích các vùng màu chồng lên nhau) của toàn bộ các loại tấn công tại một thời điểm.
# Mồi log SQL Injection
POST network-logs-2026-05/_doc/test-sqli
{
"@timestamp": "2026-05-22T06:45:00.000Z",
"attack_type": "SQL Injection",
"url": { "path": "/index.php?id=1' OR '1'='1" }
}
# Mồi log XSS
POST network-logs-2026-05/_doc/test-xss
{
"@timestamp": "2026-05-22T06:48:00.000Z",
"attack_type": "XSS",
"url": { "path": "/search.php?q=<script>alert(1)</script>" }
}
Tại sao lại là Area Chart? Vì nó không chỉ cho thấy xu hướng tăng/giảm mà còn thể hiện được tổng mức độ nghiêm trọng (diện tích các vùng màu chồng lên nhau) của toàn bộ các loại tấn công tại một thời điểm.
Quy trình triển khai nhanh trong 3 bước
Bước 1: Thiết lập Trục X (Trục thời gian)
Tại mục Buckets ở cột cấu hình bên phải, chúng ta chọn:- Aggregation: Date Histogram
- Field: @timestamp
- Minimum interval: Nên chuyển sang Minute hoặc Second thay vì để Auto để các đường biểu đồ giãn ra, tạo độ dốc lượn sóng mượt mà, thay vì bị gom thành một đường thẳng đứng tù túng khi log mồi quá gần nhau.
Bước 2: Phân tách dải màu theo kiểu tấn công (Split Series)
Đây là bước "ăn tiền" để OpenSearch biết đường vẽ các vùng màu riêng biệt cho SQLi, XSS hay Log4Shell:- Thêm một Bucket mới và chọn Split series.
- Aggregation: Chọn Terms.
- Field: attack_type.keyword. (Nhập Size = 5 để lọc ra Top 5 loại tấn công phổ biến nhất).
Bước 3: Làm mịn đường vẽ và Xếp chồng dữ liệu (Metrics & axes)
Để các vùng màu không đè che khuất nhau và giao diện trực quan hơn:- Chuyển sang tab Metrics & axes, mở rộng tùy chọn chi tiết của Trục Y.
- Chuyển Mode / Stacking sang stacked (Xếp chồng).
- Chuyển Line mode sang smooth (Đường cong mềm mại).
Kịch bản Test & Mồi dữ liệu (Dành cho Dev Tools)
Để kiểm tra xem biểu đồ có phân tách màu và xếp chồng đúng chuẩn hay không, mình tiến hành mồi nhanh một số log "combo mã độc" đa dạng mốc thời gian qua Dev Tools:# Mồi log SQL Injection
POST network-logs-2026-05/_doc/test-sqli
{
"@timestamp": "2026-05-22T06:45:00.000Z",
"attack_type": "SQL Injection",
"url": { "path": "/index.php?id=1' OR '1'='1" }
}
# Mồi log XSS
POST network-logs-2026-05/_doc/test-xss
{
"@timestamp": "2026-05-22T06:48:00.000Z",
"attack_type": "XSS",
"url": { "path": "/search.php?q=<script>alert(1)</script>" }
}