SIEM/Log Management Cấu hình tự động gửi Report định kỳ qua Gmail

I. YÊU CẦU BÀI LAB

1. Bối cảnh bài Lab

Trong vai trò là một kỹ sư vận hành hệ thống (SysAdmin) hoặc SOC Analyst, việc theo dõi dữ liệu hàng ngày là bắt buộc. Tuy nhiên, việc phải lặp đi lặp lại thao tác: Truy cập Dashboard -> Xuất PDF -> Soạn Email -> Gửi sếp vào mỗi sáng thứ Hai là một sự lãng phí nguồn lực cực lớn.

Bài Lab này sẽ giúp bạn thiết lập một "trợ lý ảo" tự động trích xuất dữ liệu từ OpenSearch, đóng gói thành PDF chuyên nghiệp và gửi thẳng vào hộp thư Gmail của ban lãnh đạo theo đúng lịch trình bạn mong muốn.

2. Thiết bị & Môi trường thực hiện

  • Hệ điều hành: Ubuntu 20.04 LTS (Resource tối thiểu: 2 vCPU, 4GB RAM).
  • Stack: OpenSearch 2.19.5 & OpenSearch Dashboards.
  • Kênh truyền: Gmail SMTP
  • Dữ liệu giả lập: Index sales (Dữ liệu doanh thu thực tế).

3. Vấn đề cần giải quyết

Vấn đềThực trạng doanh nghiệpGiải pháp trong Lab
Chi phí cơ hộiMất 1 giờ/tuần chỉ để làm báo cáo thủ công.Tự động hóa 100%, dành thời gian cho việc tối ưu hệ thống.
Tính chính xácCopy-paste dữ liệu dễ dẫn đến nhầm lẫn số liệu.Dữ liệu được Snapshot trực tiếp từ Dashboard theo thời gian thực.
Tính kịp thờiBáo cáo thường bị trễ nếu quản trị viên bận việc đột xuất.Đúng 09:00 AM mỗi thứ Hai, báo cáo sẽ nằm trong Inbox của sếp.

II. TRIỂN KHAI

Bước 1: Khởi tạo hạ tầng OpenSearch

Chúng ta sẽ cài đặt OpenSearch thông qua Repository chính thức để đảm bảo tính ổn định và bảo mật.
Bash

# Cài đặt GPG Key và Repository

curl -fsSL https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor -o /usr/share/keyrings/opensearch-keyringecho "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list

# Cài đặt OpenSearch & Dashboards

sudo apt update

sudo OPENSEARCH_INITIAL_ADMIN_PASSWORD="Admin@YourPassword123" apt install opensearch opensearch-dashboards -y

Lưu ý: Đừng quên cấu hình opensearch.yml để node có thể nhận diện trong mạng nội bộ bằng cách set network.host: 0.0.0.0.

Bước 2: Xây dựng Dashboard doanh thu mẫu

Trước khi gửi báo cáo, ta cần có một dữ liệu đẹp. Tôi thực hiện nạp dữ liệu mẫu về doanh số bán hàng (Laptop, Mouse, Monitor) để làm phôi báo cáo.
1778391262957.png

Hình 1: Giao diện Bar Chart thể hiện doanh thu theo dòng sản phẩm trên OpenSearch Dashboards.​

Bước 3: Cấu hình "Chìa khóa" bảo mật cho Gmail

Google không cho phép ứng dụng bên thứ ba đăng nhập bằng mật khẩu chính. Bạn cần:
  1. Vào Google Account -> Security.
  2. Bật 2-Step Verification.
  3. Tạo App Password với tên "OpenSearch_Reporter".
  4. Lưu lại mã 16 ký tự (Ví dụ: abcd efgh ijkl mnop).

Bước 4: Tích hợp SMTP vào Keystore của OpenSearch

Đây là bước bảo mật quan trọng để ẩn thông tin nhạy cảm khỏi các file cấu hình text thuần túy.
# Thêm Username và Password vào kho lưu trữ bảo mật

sudo /usr/share/opensearch/bin/opensearch-keystore add opensearch.notifications.core.email.smtp_sender.username

sudo /usr/share/opensearch/bin/opensearch-keystore add opensearch.notifications.core.email.smtp_sender.password

# Reload để hệ thống nhận diện cấu hình mới mà không cần restart service

curl -X POST "https://localhost:9200/_nodes/reload_secure_settings" -ku admin:Admin@YourPassword123 -H 'Content-Type: application/json'

Bước 5: Thiết lập lịch trình (Cron Job) và Gửi báo cáo

Trong giao diện Reporting, tôi chọn nguồn là Dashboard vừa tạo, định dạng PDF và thiết lập biểu thức Cron: 0 9 * * 1 (Tương đương 9 giờ sáng thứ Hai hàng tuần).
1778391345352.png

1778391382653.png

Hình 2. Thiết lập lịch trình tự động gửi báo cáo PDF qua Gmail bằng Cron Expression 0 9 * * 1 và danh sách người nhận trong Reporting.

III. KẾT LUẬN

1. Tổng kết
Sau khi triển khai bài Lab, hệ thống không chỉ đơn thuần là gửi email, mà nó xây dựng một văn hóa làm việc dựa trên dữ liệu (Data-driven).
  • Đối với quản trị viên: Giảm tải áp lực báo cáo, tránh tình trạng "quên" gửi mail.
  • Đối với lãnh đạo: Luôn có dữ liệu chính xác để đưa ra quyết định kinh doanh kịp thời.
2. Bài học
  1. Keystore là then chốt: Nếu bạn viết thẳng mật khẩu vào file cấu hình, rủi ro lộ lọt thông tin khi bị tấn công chiếm quyền server là rất cao.
  2. Định dạng PDF: Luôn ưu tiên xuất PDF thay vì PNG để đảm bảo các liên kết (link) trong báo cáo vẫn có thể click được khi sếp xem trên điện thoại.
1778391461097.png

Hình 3. Email báo cáo tự động được gửi thành công tới Gmail của ban lãnh đạo với file PDF đính kèm chứa Dashboard doanh thu.​
 
Back
Top