ĐÁNH GIÁ LỖ HỔNG VÀ CẤU HÌNH AN TOÀN CSDL (ORACLE & MS SQL SERVER)
I. MỤC TIÊU BÀI LAB
Bài lab này thiết kế để cung cấp kỹ năng thực tế trong việc sử dụng nền tảng IBM Guardium Data Protection nhằm quản lý rủi ro và tuân thủ cho hệ thống cơ sở dữ liệu (CSDL) doanh nghiệp. Các mục tiêu cụ thể bao gồm:- Đánh giá khả năng của IBM Guardium trong việc tự động quét, phát hiện các điểm yếu, cấu hình sai lệch và lỗ hổng bảo mật trên hệ thống CSDL đa nền tảng (Heterogeneous Environment).
- Đối chiếu cấu hình thực tế với các tiêu chuẩn an toàn thông tin quốc tế như CIS Benchmarks, DISA STIG và cơ sở dữ liệu lỗ hổng CVE.
- Phân tích rủi ro dựa trên các phát hiện (Findings) và thực hiện các khuyến nghị khắc phục (Remediation).
- Thực hiện tái đánh giá để đo lường mức độ cải thiện điểm tuân thủ bảo mật sau khi khắc phục.
Giai đoạn 1: Cấu hình Security Assessment (Security Assessment Builder)
1. Đăng nhập: Truy cập Web UI của IBM Guardium bằng tài khoản quản trị.
2. Truy cập tính năng: Điều hướng theo lộ trình: Harden > Vulnerability Assessment > Assessment Builder.
- Assessment Description: 50Sec - Security & Vulnerability Assessment (Oracle & MSSQL).
-
3. Cấu hình bộ tiêu chí (Configure Tests):
- Nhấn nút Configure Tests ở góc dưới màn hình. Thực hiện thêm các bài kiểm tra cho từng hệ CSDL theo chi tiết các bảng dưới đây:
| Nhóm tiêu chí | Tên bài test thực tế trên IBM Guardium | Mã chuẩn tham chiếu | Test Name (UI) |
|---|---|---|---|
| Benchmark / Tuân thủ | CIS Oracle Benchmark Assessment | CIS Benchmark | CONF(Major): Check Default Port Number listen by Oracle (non RAC) |
| Quản lý Quyền (Privilege) | PUBLIC Granted Excessive System Privileges | CIS / DISA STIG | PRIV(Major): Administrative privilege assignment |
| Quản lý Quyền (Privilege) | PUBLIC Granted Execute On Critical Packages/Procedures | CIS / DISA STIG | PRIV(Major): Access To The Selected Packages is restricted |
| Xác thực (Authentication) | DBA Profile FAILED_LOGIN_ATTEMPTS Are Limited | CIS Benchmark | DBA Profile FAILED_LOGIN_ATTEMPTS Are Limited |
| Cấu hình Hệ thống | Kiểm tra thông số kiểm toán Oracle | CIS Benchmark / AUDIT_TRAIL | CONF(Major): Database Auditing |
| Cấu hình Hệ thống | Cấu hình mã hóa mạng gốc | CIS Benchmark | CONF(Major): FIPS 140-2 for Transparent Data Encryption and DBMS_CRYPTO |
| Lỗ hổng & Bản vá | Oracle Database Version & Known CVE Vulnerabilities Scan | CVE Database | CONF(Major): CVE_Oracle_end_of_life_support |
Danh mục Test cho MS SQL Server:
| Nhóm tiêu chí | Tên bài test thực tế trên IBM Guardium | Mã chuẩn tham chiếu | Test Name (UI) |
|---|---|---|---|
| Benchmark / Tuân thủ | CIS Microsoft SQL Server Benchmark Assessment | CIS Benchmark | CONF(Major): Disable remote admin connections option |
| Quản lý Quyền (Privilege) | Users with sysadmin Privileges | CIS Benchmark | PRIV(Major): Access to server level permissions granted to non-Database Administrators PRIV(Critical): Ensure the NT AUTHORITY SYSTEM account is not used for administration |
| Xác thực (Authentication) | Default Passwords Usage & sa Account Status | CIS Benchmark | AUTH(Major): Check Password Policy Is Checked |
| Xác thực (Authentication) | Password Expiration and Complexity Policy | CIS Benchmark | AUTH(Major): Check Password Expiration Is Checked |
| Network Encryption Parameters | Hide Instance or Force Encryption | CIS Benchmark | CONF(Major): Hide SQL Server Instane |
| Lỗ hổng & Bản vá | MS SQL Server Version & Known CVE Vulnerabilities Scan | CVE Database | CONF(Critical): CVE-2023-23384 |
Bấm Return để thoát
Giai đoạn 2: Thực thi quét đánh giá (Run Assessment)
- Tại danh sách Assessment, chọn bài 50Sec - Security & Vulnerability Assessment (Oracle & MSSQL).
- Bấm nút Run Once Now.
- Theo dõi tiến trình: Hệ thống sẽ kết nối trực tiếp đến các CSDL đích để truy vấn Data Dictionary và các bảng cấu hình hệ thống.
- Đợi khoảng 1–2 phút cho đến khi trạng thái chuyển sang hoàn tất.
Giai đoạn 3: Phân tích kết quả đánh giá (Assessment Findings & Reporting)
1. Mở kết quả bằng nút View Results.
2. Phân tích tổng quan:
- Overall Score: Xem tỷ lệ phần trăm các bài test đạt yêu cầu (ví dụ: 62% Tests passing).
- Result Summary Matrix: Quan sát các lỗi được phân loại theo mức độ: Critical, Major, Minor, Caution.
PHÂN HỆ 1: ORACLE DATABASE (7 BÀI TEST)
- Bảng 1: Test ID ORCL_CONF_01
| Tên bài test & Mã ID: CONF(Major): Check Default Port Number listen by Oracle (non RAC) - Mã ID: ORCL_CONF_01 |
| Phân loại & Mức độ nghiêm trọng: Configuration | Major |
| Tiêu chuẩn tham chiếu: CIS Oracle Benchmark |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Listener Oracle đang sử dụng cổng kết nối mặc định 1521, chưa được đổi cổng hoặc chưa áp dụng cơ chế lọc IP truy cập. |
| Đánh giá nguy cơ: Dễ bị kẻ tấn công dò quét tự động (Port Scanning), thực hiện các cuộc tấn công Brute-force hoặc TNS Listener Poisoning. |
| Biện pháp khắc phục: Thay đổi cổng lắng nghe mặc định trong file listener.ora sang cổng khác (>1024) hoặc cấu hình tcp.validnode_checking = yes và tcp.invited_nodes trong sqlnet.ora. |
- Bảng 2: Test ID ORCL_PRIV_01
| Tên bài test & Mã ID: PRIV(Major): Administrative privilege assignment - Mã ID: ORCL_PRIV_01 |
| Phân loại & Mức độ nghiêm trọng: Privilege | Major |
| Tiêu chuẩn tham chiếu: CIS Benchmark / DISA STIG |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Các quyền quản trị hệ thống cao cấp (DBA, GRANT ANY PRIVILEGE, ALTER SYSTEM) được cấp rộng rãi cho role PUBLIC hoặc các tài khoản người dùng thường. |
| Đánh giá nguy cơ: Người dùng không có thẩm quyền có thể leo thang đặc quyền (Privilege Escalation), thay đổi cấu hình hoặc chiếm toàn quyền quản trị CSDL. |
| Biện pháp khắc phục: Thực hiện thu hồi quyền quản trị khỏi role PUBLIC và tài khoản không liên quan: REVOKE DBA FROM <username>; REVOKE GRANT ANY PRIVILEGE FROM PUBLIC; |
- Bảng 3: Test ID ORCL_PRIV_02
| Tên bài test & Mã ID: PRIV(Major): Access To The Selected Packages is restricted - Mã ID: ORCL_PRIV_02 |
| Phân loại & Mức độ nghiêm trọng: Privilege | Major |
| Tiêu chuẩn tham chiếu: CIS Benchmark / DISA STIG |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Quyền EXECUTE trên các PL/SQL Package nhạy cảm (UTL_FILE, UTL_HTTP, UTL_SMTP, DBMS_LOB) đang cấp cho role PUBLIC. |
| Đánh giá nguy cơ: Cho phép người dùng đọc/ghi file trực tiếp trên HĐH server CSDL hoặc phát dữ liệu nhạy cảm ra ngoài qua kết nối HTTP/SMTP. |
| Biện pháp khắc phục: Thu hồi quyền EXECUTE trên các package nhạy cảm từ PUBLIC: REVOKE EXECUTE ON UTL_FILE FROM PUBLIC; REVOKE EXECUTE ON UTL_HTTP FROM PUBLIC; REVOKE EXECUTE ON UTL_SMTP FROM PUBLIC; |
- Bảng 4: Test ID ORCL_AUTH_01
| Tên bài test & Mã ID: DBA Profile FAILED_LOGIN_ATTEMPTS Are Limited - Mã ID: ORCL_AUTH_01 |
| Phân loại & Mức độ nghiêm trọng: Authentication | Critical |
| Tiêu chuẩn tham chiếu: CIS Oracle Benchmark |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Profile người dùng mặc định (DEFAULT) cấu hình FAILED_LOGIN_ATTEMPTS = UNLIMITED, không khóa tài khoản khi đăng nhập sai nhiều lần. |
| Đánh giá nguy cơ: Dễ bị tấn công vét cạn mật khẩu tự động (Brute-force / Credential Stuffing) để dò tìm tài khoản quản trị DBA. |
| Biện pháp khắc phục: Thiết lập giới hạn số lần đăng nhập sai tối đa (3-5 lần): ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 3; |
- Bảng 5: Test ID ORCL_CONF_02
| Tên bài test & Mã ID: CONF(Major): Database Auditing - Mã ID: ORCL_CONF_02 |
| Phân loại & Mức độ nghiêm trọng: Configuration | Major |
| Tiêu chuẩn tham chiếu: CIS Benchmark / AUDIT_TRAIL |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Cấu hình kiểm toán AUDIT_TRAIL đang ở trạng thái NONE hoặc chưa ghi nhận hành vi của tài khoản SYS (AUDIT_SYS_OPERATIONS = FALSE). |
| Đánh giá nguy cơ: Thiếu nhật ký vết kiểm toán khi xảy ra sự cố an toàn thông tin, không thể truy vết hành vi gian lận hoặc xâm nhập trái phép. |
| Biện pháp khắc phục: Kích hoạt cơ chế kiểm toán CSDL Oracle: ALTER SYSTEM SET AUDIT_TRAIL=DB,EXTENDED SCOPE=SPFILE; ALTER SYSTEM SET AUDIT_SYS_OPERATIONS=TRUE SCOPE=SPFILE; |
- Bảng 6: Test ID ORCL_CONF_03
| Tên bài test & Mã ID: CONF(Major): FIPS 140-2 for Transparent Data Encryption and DBMS_CRYPTO - Mã ID: ORCL_CONF_03 |
| Phân loại & Mức độ nghiêm trọng: Configuration | Major |
| Tiêu chuẩn tham chiếu: CIS Benchmark / FIPS 140-2 |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Kết nối mạng giữa Client và Oracle Server chưa bắt buộc mã hóa Native Network Encryption (NNE) hoặc chưa đáp ứng tiêu chuẩn FIPS 140-2. |
| Đánh giá nguy cơ: Dữ liệu và thông tin xác thực truyền trên đường truyền mạng có thể bị nghe lén (Eavesdropping / Man-in-the-Middle). |
| Biện pháp khắc phục: Cấu hình file sqlnet.ora trên máy chủ Oracle: SQLNET.ENCRYPTION_SERVER = REQUIRED SQLNET.ENCRYPTION_TYPES_SERVER = (AES256) SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED |
- Bảng 7: Test ID ORCL_CVE_01
| Tên bài test & Mã ID: CONF(Major): CVE_Oracle_end_of_life_support - Mã ID: ORCL_CVE_01 |
| Phân loại & Mức độ nghiêm trọng: Version / Vulnerability | Major |
| Tiêu chuẩn tham chiếu: CVE Database / Oracle EOL Policy |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Phiên bản Oracle Database hiện tại đã hết hạn hỗ trợ kỹ thuật (End of Life) và thiếu các bản cập nhật nâng cấp bản vá định kỳ. |
| Đánh giá nguy cơ: Tồn tại nhiều lỗ hổng an ninh đã công khai (CVE) chưa được sửa lỗi, nguy cơ bị thực thi mã từ xa (RCE) hoặc gây từ chối dịch vụ (DoS). |
| Biện pháp khắc phục: Nâng cấp hệ thống Oracle Database lên phiên bản LTS còn hỗ trợ (như Oracle 19c) và áp dụng các gói bản vá Critical Patch Update (CPU/RU) mới nhất. |
PHÂN HỆ 2: MICROSOFT SQL SERVER (7 BÀI TEST)
- Bảng 8: Test ID MSSQL_CONF_01
| Tên bài test & Mã ID: CONF(Major): Disable remote admin connections option for MSSQL 2005 and above - Mã ID: MSSQL_CONF_01 |
| Phân loại & Mức độ nghiêm trọng: Configuration | Major |
| Tiêu chuẩn tham chiếu: CIS Microsoft SQL Server Benchmark |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Tùy chọn kết nối quản trị từ xa Dedicated Administrator Connection (DAC) đang được cho phép từ các máy xa. |
| Đánh giá nguy cơ: Kẻ tấn công có thể lợi dụng cổng DAC để truy cập đặc quyền vào SQL Server từ xa trong các kịch bản tấn công hạ tầng. |
| Biện pháp khắc phục: Vô hiệu hóa tính năng remote DAC qua T-SQL: EXEC sp_configure 'remote admin connections', 0; RECONFIGURE; |
- Bảng 9: Test ID MSSQL_PRIV_01
| Tên bài test & Mã ID: PRIV(Major): Access to server level permissions granted to non-Database Administrators - Mã ID: MSSQL_PRIV_01 |
| Phân loại & Mức độ nghiêm trọng: Privilege | Major |
| Tiêu chuẩn tham chiếu: CIS Microsoft SQL Server Benchmark |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Quyền cấp máy chủ (Server-level permissions như CONTROL SERVER, ALTER ANY LOGIN) được cấp cho tài khoản người dùng không phải DBA. |
| Đánh giá nguy cơ: Người dùng thường có thể can thiệp vào login của hệ thống hoặc tự nâng quyền lên quản trị viên Server. |
| Biện pháp khắc phục: Thu hồi quyền quản trị máy chủ khỏi các tài khoản không phù hợp: REVOKE CONTROL SERVER FROM [user_name]; REVOKE ALTER ANY LOGIN FROM [user_name]; |
- Bảng 10: Test ID MSSQL_PRIV_02
| Tên bài test & Mã ID: PRIV(Critical): Ensure the NT AUTHORITY\SYSTEM account is not used for administration - Mã ID: MSSQL_PRIV_02 |
| Phân loại & Mức độ nghiêm trọng: Privilege | Critical |
| Tiêu chuẩn tham chiếu: CIS Microsoft SQL Server Benchmark |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Tài khoản hệ điều hành Windows NT AUTHORITY\SYSTEM có quyền sysadmin trên SQL Server. |
| Đánh giá nguy cơ: Nếu một dịch vụ HĐH khác bị chiếm quyền, kẻ tấn công tự động có quyền sysadmin trên CSDL SQL Server. |
| Biện pháp khắc phục: Loại bỏ tài khoản NT AUTHORITY\SYSTEM khỏi role sysadmin: ALTER SERVER ROLE [sysadmin] DROP MEMBER [NT AUTHORITY\SYSTEM]; |
- Bảng 11: Test ID MSSQL_AUTH_01
| Tên bài test & Mã ID: AUTH(Major): Check Password Policy Is Checked - Mã ID: MSSQL_AUTH_01 |
| Phân loại & Mức độ nghiêm trọng: Authentication | Major |
| Tiêu chuẩn tham chiếu: CIS Microsoft SQL Server Benchmark |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Tùy chọn CHECK_POLICY bị tắt cho một số tài khoản SQL Authentication (bao gồm tài khoản sa). |
| Đánh giá nguy cơ: Cho phép đặt mật khẩu đơn giản, độ phức tạp yếu, dễ bị tấn công dò mật khẩu (Dictionary Attack). |
| Biện pháp khắc phục: Bật chính sách kiểm tra độ phức tạp mật khẩu Windows cho SQL Logins: ALTER LOGIN [sa] WITH CHECK_POLICY = ON; |
- Bảng 12: Test ID MSSQL_AUTH_02
| Tên bài test & Mã ID: AUTH(Major): Check Password Expiration Is Checked - Mã ID: MSSQL_AUTH_02 |
| Phân loại & Mức độ nghiêm trọng: Authentication | Critical / Major |
| Tiêu chuẩn tham chiếu: CIS Microsoft SQL Server Benchmark |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Tùy chọn CHECK_EXPIRATION bị tắt đối với các tài khoản SQL Login, khiến mật khẩu không bao giờ hết hạn. |
| Đánh giá nguy cơ: Mật khẩu cũ không được thay đổi định kỳ, làm tăng thời gian khai thác nếu tài khoản bị rò rỉ. |
| Biện pháp khắc phục: Bật chính sách thời hạn mật khẩu cho SQL Logins: ALTER LOGIN [sa] WITH CHECK_EXPIRATION = ON; |
- Bảng 13: Test ID MSSQL_CONF_02
| Tên bài test & Mã ID: CONF(Major): Hide SQL Server Instance - Mã ID: MSSQL_CONF_02 |
| Phân loại & Mức độ nghiêm trọng: Configuration | Major |
| Tiêu chuẩn tham chiếu: CIS Microsoft SQL Server Benchmark |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: Cấu hình Hide Instance chưa được bật, SQL Server Browser công khai thông tin instance qua UDP port 1434. |
| Đánh giá nguy cơ: Cung cấp thông tin phiên bản, tên instance và port kết nối cho kẻ tấn công thực hiện thám báo hạ tầng. |
| Biện pháp khắc phục: Bật thuộc tính Hide Instance = Yes trong SQL Server Configuration Manager và dừng dịch vụ SQL Server Browser nếu không dùng. |
- Bảng 14: Test ID MSSQL_CVE_01
| Tên bài test & Mã ID: CONF(Critical): CVE-2023-23384 - Mã ID: MSSQL_CVE_01 |
| Phân loại & Mức độ nghiêm trọng: Version / Lỗ hổng | Critical |
| Tiêu chuẩn tham chiếu: CVE Database (CVE-2023-23384) |
| Trạng thái đánh giá: Fail |
| Hiện trạng chi tiết: SQL Server chưa được cài đặt bản cập nhật bảo mật khắc phục lỗ hổng CVE-2023-23384 (RCE trong SQL Server Analysis Services/Database Engine). |
| Đánh giá nguy cơ: Kẻ tấn công có thể thực thi mã từ xa (Remote Code Execution) với đặc quyền cao trên hệ thống máy chủ CSDL. |
| Biện pháp khắc phục: Tải và cài đặt gói bản cập nhật Cumulative Update (CU) / Security Update (KB) mới nhất từ Microsoft cho SQL Server. |
Đính kèm
Sửa lần cuối: