IBM Guardium Xây dựng và tùy chỉnh báo cáo linh hoạt, bên cạnh các báo cáo và chính sách được cấu hình sẵn

XÂY DỰNG VÀ TÙY CHỈNH BÁO CÁO LINH HOẠT BÊN CẠNH CÁC BÁO CÁO VÀ CHÍNH SÁCH CẤU HÌNH SẴN TRÊN ORACLE DATABASE VÀ MICROSOFT SQL SERVER​

1. Mục tiêu​

  • Dùng report có sẵn của Guardium song song với report tự xây dựng: khi nào dùng thẳng, khi nào clone, khi nào tạo query mới.
  • Xây dựng query, report, dashboard bằng Query-Report Builder; tùy chỉnh report có sẵn mà không sửa bản gốc.
  • Tự động chạy, phân phối, ký duyệt báo cáo bằng Audit Process; phân quyền xem báo cáo theo vai trò và theo máy chủ CSDL.
Phạm vi: Guardium Data Protection 12.0 giám sát Oracle Database 19c trên oracledb01 và SQL Server trên SQLDB01 qua S-TAP. Dữ liệu báo cáo do các policy đang cài trong lab ghi nhận.​

2. Nguyên lý hoạt động​

S-TAP sao chép lưu lượng CSDL về Collector. Collector phân tích câu lệnh, đánh giá theo các policy đang cài rồi lưu vào CSDL nội bộ, chia thành các domain (miền dữ liệu). Mọi report, có sẵn hay tự tạo, đều là một query trên một domain kèm cách trình bày; report được gom vào dashboard, chạy theo lịch bằng Audit Process hoặc làm đầu vào cho cảnh báo.​
1792659638992.png

Hình 1: Nguyên lý xây dựng, tùy chỉnh và tự động hóa báo cáo trên Guardium​

Domain​
Dữ liệu​
Ví dụ report trong lab​
AccessPhiên, câu lệnh, đối tượng, client, chương trình. Main entity Session cho mỗi dòng là một phiên; SQL, FULL SQL cho mỗi dòng là một câu lệnhQ_RT_SESSIONS, Q_SOD_DBA_ACTIVITY, Q_NL_LOCAL_ACTIVITY
ExceptionsLỗi CSDL trả về: đăng nhập sai (LOGIN_FAILED), lỗi SQL (SQL_ERROR)Q_SRV_FAILED_LOGINS, Q_SRV_SQL_ERRORS
Policy ViolationsVi phạm do rule của policy và correlation alert ghiPolicy rule violations, Q_RT_ALERTS
Discovered InstancesInstance CSDL do S-TAP hoặc quét mạng phát hiệnDiscovered Instances, Q_DB_BY_TYPE
Entitlement (custom domain)Quyền, role, tài khoản đặc quyền nạp định kỳ từ CSDL qua datasource (Upload Data)ORA Object privileges, Q_ENT_ORA_PUBLIC
Domain nội bộ của GuardiumThao tác, đăng nhập của tài khoản Guardium; trạng thái S-TAPUser Activity Audit Trail, S-TAP Status Monitor
  • Query quyết định domain, main entity, cột, điều kiện, thứ tự; report quyết định dạng bảng hay biểu đồ và khoảng thời gian chạy. Main entity không đổi được sau khi tạo query.
  • Cột Sql có mọi câu S-TAP gửi về ở dạng chuẩn hóa (giá trị thay bằng dấu ?); cột Full Sql chỉ có câu được rule LOG … DETAILS ghi. Report kiểm tra độ phủ đọc Sql, report cần nguyên văn câu lệnh đọc Full Sql.
  • Report có sẵn ở chế độ chỉ đọc; muốn đổi cột, điều kiện thì clone rồi sửa bản sao. Report có sẵn và tự tạo dùng chung dashboard, Audit Process và phân quyền.
  • Báo cáo phụ thuộc chính sách: vi phạm chỉ có khi rule khớp. Policy cấu hình sẵn (POL_BASIC_DATA_SECURITY clone từ Basic Data Security Policy) và policy tự xây dựng cùng ghi vào Policy Violations, phân biệt bằng Category Name và tên rule, nên mọi rule cần có Category.

3. Xây dựng và tùy chỉnh báo cáo​

Giao diện Guardium ở https://<IP_GUARDIUM>:8443; các bước dùng tài khoản admin trừ khi ghi khác.​

3.1. Tạo query và report​

Bước 1: Truy cập Reports → Report Configuration Tools → Query-Report Builder, chọn domain ở ô Queries-Reports, nhấn +. Đặt tên theo quy ước Q_<nhóm>_<nội dung> và chọn Main entity.​
1792659648954.png

Hình 2: Phần Query Name của Q_SRV_LOGIN_ALERT: Main entity, Query domain và các nút Save, Add to Dashboard, Add to My Custom Reports​
Bước 2: Ở Selected Columns chọn entity, attribute, nhấn mũi tên để thêm cột và đặt Field Mode (Value, Count, Min, Max…). Tích Count để gom nhóm theo các cột Value và thêm cột đếm; tích Distinct để bỏ dòng trùng.​
1792659655380.png

Hình 3: Selected Columns của Q_SOD_VIOLATIONS; danh sách bên trái gồm report có sẵn và query tự tạo cùng domain Policy Violations​
Bước 3: Khai báo Sort Order, Conditions, Having Conditions (lọc trên cột Count), Display Options (bảng hoặc biểu đồ) rồi nhấn Save. Report mang cùng tên query; Add to My Custom Reports đưa report vào menu, Add to Dashboard gắn report vào dashboard. Các mẫu query đã dùng:​
Mẫu​
Cách cấu hình​
Ví dụ​
Nhật ký chi tiếtCác cột Value, sắp xếp theo thời gian giảm dầnQ_RT_ALERTS, Q_SRV_SQL_ERRORS
Thống kê, biểu đồTích Count, sắp xếp theo Count; Display Options chọn biểu đồ cột hoặc trònQ_SRV_THREAT_SUMMARY, Q_DB_BY_TYPE, Q_RT_ALERT_SUMMARY
Lọc theo danh sáchIN GROUP với giá trị đúng; LIKE GROUP với thành viên dạng mẫu như %customersQ_RT_DBA_ACTIVITY, Q_CHG_ADMIN_PROCS
Tham số khi chạyĐiều kiện nhận giá trị nhập lúc mở reportQ_CHG_COVERAGE (DB User Name)
Đầu vào cảnh báoCó trường thời gian ở Field Mode Max hoặc Min và cột CountQ_SRV_LOGIN_ALERT

Đánh giá: Query tự tạo nằm cùng danh sách với report có sẵn của domain Policy Violations (Policy rule violations, GDPR - Policy Violations…) và chọn cột từ cùng các entity. Main entity không đổi được sau khi tạo, nên phải chọn đúng ngay từ đầu.​

3.2. Tùy chỉnh report có sẵn​

Bước 1: Truy cập My Dashboards → Create New Dashboard, đặt tên DB Entitlement Review. Trong Reports → Report Configuration Tools → Custom Query-Report Builder, gõ tên report entitlement vào ô Filter, chọn report, nhấn Add to Dashboard. Ở mỗi report mở Customize, đặt Start Date = NOW -7 DAY vì report lọc theo SqlGuard Timestamp, khoảng mặc định ngắn sẽ ẩn các snapshot cũ.​
1792659662568.png

Hình 4: Report entitlement có sẵn của Oracle và SQL Server trong dashboard DB Entitlement Review​
Bước 2: Chọn query của report, nhấn Clone, thêm điều kiện rồi lưu với tên mới:​

Query clone​
Clone từ​
Điều kiện thêm​
Q_ENT_OBJPRIV_OPSORA Object privilegesGrantee = OPS_TEST
Q_ENT_SYSPRIV_OPSORA Sys Priv Granted 8GRANTEE = OPS_TEST hoặc RETAIL_SUPPORT_ROLE
Q_ENT_ROLES_DBAORA Roles GrantedGranted Role = DBA
Q_ENT_ORA_PUBLICORA Object Access By PUBLICOwner = RETAIL
Q_ENT_MSS_PUBLICMicrosoft SQL Server Object Access By PUBLICSchema_Owner = retail
  • Query clone dùng cùng domain nên đọc chính dữ liệu đã upload, không cần cấu hình upload riêng. Chỉ clone query; clone custom table hoặc custom domain sẽ được bảng rỗng.
  • Report có sẵn khác (Policy rule violations, Discovered Instances…) tùy chỉnh tương tự: đổi tham số ở Customize, chuyển Graphical View, Tabular View, hoặc clone trong Query-Report Builder.
Đánh giá: Dashboard dùng thẳng report entitlement có sẵn của cả hai CSDL mà không phải viết query; bản clone thêm điều kiện theo tài khoản, role, schema, bản gốc giữ nguyên.​

3.3. Gom báo cáo thành dashboard​

Bước 1: Truy cập My Dashboards → Create New Dashboard, đặt tên rồi tải lại trang. Mở từng report, nhấn Add to Dashboard; chọn Number of columns.
Bước 2: Ở mỗi report mở Customize, đặt khoảng thời gian. Nút Roles của dashboard cấp dashboard cho role khác. Các dashboard trong lab:​
Dashboard​
Report​
Người dùng chính​
DB Discovery OverviewQ_DB_BY_SERVER, Q_DB_BY_TYPETuân thủ, kiểm toán
Server Threat OverviewQ_SRV_POLICY_VIOLATIONS, Q_SRV_FAILED_LOGINS, Q_SRV_SQL_ERRORS, Q_SRV_THREAT_SUMMARYGiám sát an ninh
Real-time Access AuditQ_RT_ALERTS, Q_RT_ALERT_SUMMARY, Q_RT_SESSIONS, Q_RT_DBA_ACTIVITY, Q_RT_FAILED_LOGINS, Q_SRV_FAILED_LOGINSGiám sát an ninh
Network and Local ActivityQ_NL_CHANNELS, Q_NL_SESSIONS, Q_NL_VIOLATIONS, Q_NL_LOCAL_ACTIVITY; report có sẵn S-TAP Status Monitor, Inactive S-TAPs SinceGiám sát an ninh, vận hành
DB Entitlement Review11 report entitlement có sẵn và các bản cloneKiểm toán
DB Change AuditQ_CHG_USER_PRIV, Q_CHG_SCHEMA, Q_CHG_ADMIN_PROCS, Q_CHG_VIOLATIONS, Q_CHG_COVERAGEKiểm toán

1792659671533.png

Hình 5: Dashboard Server Threat Overview: ba report dạng bảng và một biểu đồ cột​
Đánh giá: Mỗi report trong dashboard có khoảng thời gian riêng (Start Date, End Date ở đầu khung) và chuyển được giữa bảng và biểu đồ. Q_SRV_THREAT_SUMMARY cho thấy số lỗi theo máy chủ, ba bảng còn lại cho chi tiết để điều tra.​

4. Tự động hóa, phân phối và phân quyền​

4.1. Chạy báo cáo theo lịch bằng Audit Process​

Bước 1: Truy cập Comply → Tools and Views → Audit Process Builder, nhấn New và khai báo: Name and archive; Add tasks (task loại Report, QUERY_FROM_DATE lùi đúng một chu kỳ lịch như NOW -1 DAY, QUERY_TO_DATE = NOW, tích Export PDF hoặc CSV); Send results (người nhận là user hoặc role, Action = Sign off, To-Do List); Schedule audit process.​
Audit process​
Task (report)​
Người nhận​
Lịch, định dạng​
AP_DB_CHANGE_AUDITQ_CHG_USER_PRIV, Q_CHG_SCHEMA, Q_CHG_ADMIN_PROCS, Q_CHG_VIOLATIONSadmin, Sign offMỗi 6 giờ từ 00:00; PDF, CSV
AP_RT_ALERT_REVIEWQ_RT_ALERT_SUMMARY, Q_RT_ALERTS, Q_RT_DBA_ACTIVITYRole admin, Sign off08:00 hằng ngày; PDF
AP_SOD_REVIEWQ_SOD_VIOLATIONS, Q_SOD_DBA_ACTIVITYRole role_auditor, Sign off08:00 hằng ngày

1792659678695.png

1792659684265.png

1792659688078.png

Hình 6: Audit process AP_SOD_REVIEW: hai task Report (trên), người nhận role_auditor (giữa), lịch chạy 08:00 mỗi ngày (dưới)​
Bước 2: Nhấn Save, Run Once Now để kiểm tra. Người nhận mở Audit Process To-Do List, nhấn View để xem kết quả, Download PDF, rồi Sign Results.​
1792659695610.png

Hình 7: Kết quả chạy theo lịch của AP_RT_ALERT_REVIEW và AP_DB_CHANGE_AUDIT trong To-Do List của admin
1792659699564.png

Hình 8: Kết quả AP_SOD_REVIEW: Overall Value History, report Q_SOD_VIOLATIONS và các nút Sign Results, Escalate, Comment​
  • Khoảng thời gian của task bằng chu kỳ lịch chạy để mỗi sự kiện nằm trong đúng một kỳ báo cáo.
  • Gửi email cần cấu hình SMTP tại Setup → Tools and Views → Alerter; lab chưa cấu hình nên nhận kết quả qua To-Do List. Muốn đưa file ra máy chủ khác (SIEM, lưu trữ dài hạn) dùng Results Export.
Đánh giá: AP_RT_ALERT_REVIEW chạy lúc 08:00 mỗi ngày từ 16/10 đến 20/10, AP_DB_CHANGE_AUDIT chạy theo chu kỳ 6 giờ (00:00, 06:00, 18:00); các kết quả chờ ký duyệt trong To-Do List. Trang kết quả lưu giá trị qua các lần chạy và so sánh được với lần trước.​

4.2. Cảnh báo từ query​

Query có trường thời gian và cột Count dùng được làm đầu vào cho correlation alert tại Protect → Database Intrusion Detection → Alert Builder. Guardium chạy query theo Run frequency, so ngưỡng trên từng dòng, ghi vi phạm vào Policy Violations và gửi thông báo nếu khai báo người nhận. ALR_SRV_LOGIN_FAILED cảnh báo máy chủ có từ 10 lần đăng nhập sai trong 10 phút; tiến trình Anomaly Detection phải đang chạy.​
1792659705204.png

Hình 9: Correlation alert ALR_SRV_LOGIN_FAILED dùng query Q_SRV_LOGIN_ALERT​
Cảnh báo của rule và correlation alert chuyển tới SIEM qua Syslog; lab chuyển tiếp tới rsyslog trên oracledb01.​

4.3. Phân quyền xem báo cáo​

Bước 1: Theo chức năng. Đăng nhập accessmgr, mở Role Browser, nhấn Manage Permissions ở role, chọn loại Reports và chuyển report cần dùng sang Accessible items. Query, dashboard tự tạo được cấp cho role bằng nút Roles của chính nó.​
1792659710585.png

Hình 10: Report được cấp cho role_auditor trong Manage Permissions​
Bước 2: Theo dữ liệu. accessmgr gán máy chủ cho từng kiểm toán viên trong Data Security → User-DB Association; admin bật Data level security filtering trong Global Profile. Report domain Access, Exception, Policy Violations tự lọc theo máy chủ được gán; tài khoản có role datasec-exempt tích Show all để xem toàn bộ.​
1792659716599.png

1792659719843.png

Hình 11: Q_SOD_VIOLATIONS của auditor_ora chỉ có oracledb01 (trên); admin tích Show all thấy cả hai máy chủ (dưới)​
Đánh giá: role_auditor chỉ được cấp 7 report, trong đó có hai query kiểm toán và các report nhật ký Guardium. Cùng report Q_SOD_VIOLATIONS, auditor_ora thấy 4 vi phạm trên oracledb01, admin thấy đủ 8 vi phạm của hai máy chủ, không cần tạo report riêng cho từng máy chủ.​
 
Back
Top