IBM Guardium Người quản trị có thể cấu hình, quản lý các quy tắc giám sát

NGƯỜI QUẢN TRỊ CẤU HÌNH, QUẢN LÝ CÁC QUY TẮC GIÁM SÁT TRÊN ORACLE DATABASE VÀ MICROSOFT SQL SERVER​

1. Mục tiêu và phạm vi​

Tổng hợp cách người quản trị cấu hình và quản lý vòng đời quy tắc giám sát (rule) trên IBM Guardium Data Protection 12.0: loại rule, hành động, group, thứ tự đánh giá, policy mẫu và các thao tác tạo, cài đặt, sửa, sao lưu, phân quyền, truy vết. Minh chứng lấy từ các policy đang chạy trong lab giám sát Oracle (oracledb01) và SQL Server (SQLDB01).​

2. Tổng quan về policy và rule​

Policy là danh sách rule có thứ tự. S-TAP sao chép lưu lượng CSDL về Collector; Collector chỉ áp dụng các policy đã cài, theo thứ tự cài đặt, và đánh giá rule trong mỗi policy từ trên xuống.​
1792657794867.png

Hình 1: Vòng đời quản lý và cơ chế thực thi quy tắc giám sát​
Mỗi rule gồm điều kiện, Severity, Category, ô Continue to next rule và một hoặc nhiều hành động. Điều kiện chia ba nhóm: Session level (Client IP, DB User, Source Program, Server IP), SQL (lệnh, đối tượng, mẫu SQL) và Other (thời gian, số bản ghi…).​
1792657803476.png

Hình 2: Điều kiện của rule RT_DBA_UNAPPROVED_HOST: Client IP Not In Group GRP_ADMIN_HOSTS và Database user In Group GRP_DBA_ACCOUNTS​

2.1. Loại rule​

Loại rule​
Dữ liệu được đánh giá​
Ví dụ trong lab​
Access ruleCâu lệnh client gửi tới CSDLCảnh báo tài khoản quản trị đăng nhập từ máy lạ; chặn UPDATE, DELETE trên bảng nhạy cảm
Exception ruleLỗi CSDL trả về: đăng nhập sai (ORA-01017, SQL Server 18456), lỗi SQLCảnh báo SYS, sa đăng nhập sai
Extrusion ruleDữ liệu trả về cho client theo mẫu regex; cần bật Inspect Returned Data, Log Records AffectedREDACT che CCCD, số thẻ trong kết quả trả về

1792657807641.png

Hình 3: Access rule và exception rule trong cùng policy POL_RT_ACCESS_ALERT
1792657811263.png

Hình 4: Extrusion rule REDACT che CCCD, số thẻ trong kết quả trả về, chỉ giữ vài chữ số cuối​

2.2. Hành động của rule​

Nhóm​
Hành động​
Ý nghĩa​
Cảnh báoALERT PER MATCH, ALERT ONCE PER SESSION, ALERT DAILYGửi thông báo (Syslog, SNMP, email) mỗi lần khớp, một lần mỗi phiên, một lần mỗi ngày
Ghi logLOG ONLY, LOG FULL DETAILS, LOG MASKED DETAILSChỉ ghi vi phạm; ghi nguyên câu SQL kèm thời điểm; ghi câu SQL với giá trị thay bằng dấu ?
Bỏ quaALLOW, SKIP LOGGING, IGNORE SESSION, IGNORE S-TAP SESSIONKhông ghi vi phạm hoặc bỏ qua phần còn lại của phiên, dùng cho lưu lượng đã tin cậy
ChặnS-TAP TERMINATE, S-GATE ATTACH, S-GATE TERMINATES-TAP TERMINATE ngắt phiên sau câu kích hoạt; S-GATE giữ câu lệnh chờ phán quyết và hủy trước khi tới CSDL
Che dữ liệuQUERY REWRITE, REDACTViết lại câu lệnh trước khi tới CSDL; che dữ liệu trả về theo mẫu

1792657819774.png

Hình 5: Thông báo Syslog: exception rule RT_DBA_FAILED_LOGIN mỗi lần đăng nhập sai, RT_DBA_UNAPPROVED_HOST một lần cho phiên SYSTEM (ALERT ONCE PER SESSION)​
Cùng câu UPDATE retail.customers của OPS_TEST trên Oracle, sau đó RETAIL kiểm tra lại email:​
1792657824220.png

1792657829493.png

Hình 6: S-TAP TERMINATE (trên): câu UPDATE đã chạy, phiên bị ngắt từ câu sau; S-GATE TERMINATE (dưới): câu UPDATE bị hủy​
Đánh giá: S-TAP TERMINATE không chặn câu kích hoạt: UPDATE báo 1 row updated, phiên chỉ bị ngắt ở câu sau (ORA-03113); giao dịch chưa commit nên email vẫn giữ nguyên. S-GATE TERMINATE hủy câu UPDATE ngay, trước khi tới CSDL.​

2.3. Group và tuple​

  • Group là tập giá trị cùng loại (Users, Client IP, Objects, Commands, Source Program…) dùng trong điều kiện In Group, Not In Group. Đổi người dùng, máy, bảng chỉ cần sửa thành viên group, không sửa từng rule, nhưng vẫn phải cài lại policy thì thay đổi mới có hiệu lực.
  • Group có thể được điền tự động: action của classification thêm cột nhạy cảm vào GRP_SENSITIVE_COLUMNS và bảng nhạy cảm vào GRP_SENSITIVE_OBJECTS. Một group thường được nhiều rule dùng chung, nên phải tra các rule liên quan trước khi sửa.
  • Tuple là group nhiều thuộc tính, mỗi thành viên ghép nhiều trường (Client IP/Src App/DB User/Server IP/Svc. Name) để quy định chính xác tổ hợp được phép, ví dụ tài khoản ứng dụng chỉ hợp lệ khi đi từ máy chủ ứng dụng.
1792657836903.png

1792657840338.png

Hình 7: Group thuộc nhiều loại trong Group Builder (trên); GRP_SENSITIVE_COLUMNS có 18 cột, GRP_SENSITIVE_OBJECTS có 2 bảng (dưới)​

2.4. Thứ tự đánh giá và Continue to next rule​

Khi câu lệnh khớp một rule không tích Continue to next rule, Guardium thực hiện hành động rồi dừng; các rule phía sau, kể cả của policy cài sau, không được xét. Thứ tự nên là: rule gắn trạng thái phiên (S-GATE ATTACH, QUERY REWRITE ATTACH) → rule phát hiện, cảnh báo (tích Continue) → rule chặn → rule ghi log.​
1792657844931.png

1792657849027.png

Hình 8: Thứ tự access rule trong POL_PROTECT_SENSITIVE_DATA
1792657878445.png

Hình 9: Một câu SELECT trên retail.customers của SYSTEM khớp ba rule thuộc hai policy​
Đánh giá: Rule ATTACH (1–4) và rule phát hiện (5–9) đều tích Continue, đứng trước rule chặn (10–11) và rule ghi log (13). Nhờ Continue, một câu SELECT sinh đồng thời RT_DBA_UNAPPROVED_HOST, ALERT_UNAUTHORIZED_SENSITIVE_ACCESS và DET_OFF_HOURS_EVENING. Rule 5–9 chưa có dấu Installed nên cần cài lại policy.​

2.5. Policy mẫu​

Guardium có sẵn policy mẫu (template) như Basic Data Security Policy và các policy theo PCI, SOX, HIPAA (tùy phiên bản). Template không sửa, không cài trực tiếp mà phải clone rồi chỉnh. POL_BASIC_DATA_SECURITY trong lab clone từ Basic Data Security Policy, gồm 11 rule phát hiện XSS, SQL injection, OS command injection bằng mẫu regex, gắn tag NIST SP 800-53, 23 NYCRR 500, CIS, ISO 27002.​
1792657870540.png

Hình 10: Rule có sẵn trong POL_BASIC_DATA_SECURITY, clone từ policy mẫu​

3. Quản lý vòng đời rule​

3.1. Tạo​

Tạo group trong Group Builder, sau đó vào Policy Builder for Data → New (hoặc Clone), thêm access, exception, extrusion rule và đặt Category riêng để lọc báo cáo. Lưu xong policy chưa có hiệu lực: cột Installed còn trống.​
1792657885629.png

Hình 11: POL_NET_LOCAL_CONTROL vừa lưu, cả ba rule chưa có dấu Installed​

3.2. Cài đặt​

Trong Policy Installation, chọn policy ở Policy Installer: Install and override cho policy đầu, Install last cho các policy sau. Policy chỉ ghi nhận (mọi rule tích Continue) phải đứng trước policy có rule chặn. Mỗi lần thêm policy, cả danh sách được cài lại liên tiếp nên Date installed của các policy gần như trùng nhau.​
1792657890902.png

Hình 12: Policy Installation ngày 09/10: ba policy đang cài và các policy có thể chọn trong Policy Installer
1792657895362.png

Hình 13: Ngày 16/10: năm policy đang cài, tổng 49 rule​

3.3. Sửa​

Sửa rule hoặc group xong phải cài lại cả danh sách đúng thứ tự (hoặc một lệnh grdapi policy_install). Ví dụ đổi rule chặn của POL_NET_LOCAL_CONTROL từ S-TAP TERMINATE sang S-GATE TERMINATE và thêm rule S-GATE ATTACH ở đầu:​
1792657906811.png

Hình 14: POL_NET_LOCAL_CONTROL sau khi thêm rule S-GATE ATTACH và đổi sang S-GATE TERMINATE, trước khi cài lại​
Đánh giá: Rule mới chưa có dấu Installed, còn rule vừa đổi hành động vẫn hiện dấu Installed của bản đang chạy. Cột Installed không cho biết sửa đổi đã được áp dụng, nên luôn cài lại và kiểm tra Date installed.​

3.4. Sao lưu, tạm ngưng, gỡ​

  • Sao lưu: clone thành bản _Vn (không cài) hoặc Definitions Export kèm thành viên group; khôi phục rule bằng nút Import trong Policy Builder.
  • Tạm ngưng: nút Uninstall, Reinstall cho từng rule đã cài. Gỡ cả policy: dấu trừ trên policy trong Currently Installed Policies.

3.5. Phân quyền​

accessmgr cấp Policy Builder, Policy Install, Group Builder cho role của người phụ trách bảo mật; chủ sở hữu hoặc admin cấp từng policy cho role qua nút Roles. Người được cấp tự sửa và cài policy mà không cần admin.​
1792657914902.png

Hình 15: POL_AUDIT_DB_CHANGES được cấp cho role_secofficer qua nút Roles
1792657918593.png

Hình 16: Ngày 20/10: sáu policy được cài lại lúc 21:01:46, POL_SOD_PRIVILEGED_ACTIVITY ở vị trí thứ tư​

3.6. Truy vết​

User Activity Audit Trail ghi tài khoản Guardium nào đã thao tác, loại thao tác (Administration, INSERT, UPDATE, DELETE, Api Call) và số đối tượng bị sửa; kiểm toán viên xem được report này bằng role riêng.​
1792657934955.png

Hình 17: User Activity Audit Trail ngày 20/10, xem bằng role_auditor: thao tác của accessmgr, admin, sec_officer và các tài khoản khác​
 

Đính kèm

  • 1792657855311.png
    1792657855311.png
    155.7 KB · Lượt xem: 0
Sửa lần cuối:
Back
Top