單一防線必將被突破。安全體系需覆蓋:物理/作業系統/網絡/資料庫/應用/管理六層,每層獨立驗證、最小權限、審計追溯。
/etc/group 關鍵配置:
oinstall:x:54321:oracle,grid
dba:x:54322:oracle
oper:x:54323:oracle
asmadmin:x:54324:grid
asmdba:x:54325:grid,oracle
關鍵目錄權限:
$ORACLE_HOME/bin 750 oracle:dba
$ORACLE_HOME/dbs/*.ora 640 oracle:dba
$ORACLE_BASE/admin/*/pfile 640 oracle:dba
數據文件/*.dbf 660 oracle:dba
控制文件/日志文件 660 oracle:dba
原則:僅擁有者可寫,組可讀,其他無權。啟用 SELinux/AppArmor 強制訪問控制。
SQLNET.ENCRYPTION_SERVER=REQUIRED、SQLNET.ENCRYPTION_TYPES_SERVER=(AES256)SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED、SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA512)_CLIENT 參數listener.ora 關鍵配置:
ADMIN_RESTRICTIONS_LISTENER=ON # 禁止遠程管理
INBOUND_CONNECT_TIMEOUT_LISTENER=10 # 連接超時 10s
SECURE_REGISTER_LISTENER=IPC # 僅本地 IPC 註冊
PASSWORDS_LISTENER= # 監聽器管理密碼 (LSNRCTL SET PASSWORD)
LOG_DIRECTORY_LISTENER、LOG_FILE_LISTENER,定期審計REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE,配合強密碼ALTER USER ... ACCOUNT LOCK PASSWORD EXPIRE@?/rdbms/admin/utlpwdmg.sql,關聯 ProfileSEC_MAX_FAILED_LOGIN_ATTEMPTS=3、PASSWORD_LOCK_TIME=1/24 (1小時)SEC_CASE_SENSITIVE_LOGON=TRUE (11g+)REVOKE EXECUTE ON UTL_FILE FROM PUBLIC 等高危包CREATE ROLE app_read; GRANT SELECT ON schema.tbl TO app_readDBA_SYS_PRIVS、DBA_TAB_PRIVS、DBA_ROLE_PRIVS-- 統一審計策略 (12c+)
CREATE AUDIT POLICY audit_dml ACTIONS INSERT, UPDATE, DELETE ON schema.sensitive_tbl;
AUDIT POLICY audit_dml BY app_user;
-- 傳統審計 (11g)
AUDIT CREATE SESSION, ALTER USER, GRANT ANY PRIVILEGE BY ACCESS;
AUDIT SELECT TABLE, INSERT TABLE, UPDATE TABLE, DELETE TABLE BY app_user BY ACCESS;
CREATE TABLESPACE secure_ts ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT)CREATE TABLE pii (id NUMBER, ssn VARCHAR2(11) ENCRYPT NO SALT)核心認知:漏洞不可避免,關鍵在於暴露面最小化、補丁時效性、補丁前緩解措施、入侵檢測能力。
Oracle 安全非產品屬性,而是系統工程。將上述清單轉化為自動化基線腳本(Ansible/Terraform/OEM Compliance Framework),納入 CI/CD 管道與日常巡檢,方能構建可持續演進的安全體系。