說明
一
二
在oracle安裝過程中默認安裝會有很多的默認用戶
Oracle范例用戶
只是用於oracle的范例
DBSNMP
OUTLN
MDSYS
WMSYS
ANONYMOUS
XDB
此外還有一些系統自帶的用戶
Sql
alter user username account lock;
安全公告和補丁位置如下
在Oracle
FAILED_LOGIN_ATTEMPTS
PASSWORD_GRACE_TIME
PASSWORD_LIFE_TIME
PASSWORD_LOCK_TIME
PASSWORD_REUSE_MAX
PASSWORD_REUSE_TIME
PASSWORD_VERIFY_FUNCTION
缺省這個安全策略是沒有啟用的
啟用安全策略
以sys用戶執行
設置舉例
CREATE PROFILE app_user
FAILED_LOGIN_ATTEMPTS
PASSWORD_LIFE_TIME
PASSWORD_REUSE_TIME
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION verify_function
PASSWORD_LOCK_TIME
PASSWORD_GRACE_TIME
啟用資源管理
SQL> alter system set resource_limit=true;
設置舉例
CREATE PROFILE app_user LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL
CONNECT_TIME
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL
PRIVATE_SGA
COMPOSITE_LIMIT
指定profile可以使用create user 或者alter user
CREATE USER test
IDENTIFIED BY aZ
DEFAULT TABLESPACE data_ts
QUOTA
QUOTA
TEMPORARY TABLESPACE temp_ts
PROFILE profile_name;
ALTER USER test
IDENTIFIED BY A
DEFAULT TABLESPACE data_ts
TEMPORARY TABLESPACE temp_ts
QUOTA
QUOTA
PROFILE profile_name;
根據實際情況
用戶組PUBLIC
撤銷Public 組的一些不必要權限
UTL_FILE:該程序包允許oralce 用戶讀取服務器上的文件
UTL_HTTP
UTL_TCP: 該程序包允許oracle 通過TCP 建立連接
UTL_SMTP: 該程序包允許oracle 通過SMTP 方式進行通信
撤銷以上包的執行權限
Sql
revoke EXECUTE on UTL_FILE from public;
revoke EXECUTE on UTL_TCP from public;
revoke EXECUTE on UTL_SMTP from public;
revoke EXECUTE on UTL_HTTP from public;
Oracle默認使用操作系統認證
在$ORACLE_HOME/network/admin中
由於Oracle 的TNS 監聽器有許多安全漏洞
在$ORACLE_HOME\network\admin 目錄下修改SQLNET
增加如下內容
tcp
tcp
IP地址和hostname是允許連接的主機的名字和IP地址
由於extproc 存在安全問題允許用戶不進行身份認證就可以調用系統函數
修改TNSNAMES
Oracle的審計機制是用來監視用戶對ORACLE數據庫所做的各種操作
當AUDIT_TRAIL=OS
AUDIT_SYS_OPERATIONS
設置審計水平
Statement
Privilege
Object
設置審計條件
BY SESSION/BY ACCESS
WHENEVER SUCCESSFUL/WHENEVER NOT SUCCESSFUL
審計操作舉例
審計連接
AUDIT SESSION; AUDIT SESSION BY scott
審計指定權限
AUDIT DELETE ANY TABLE BY ACCESS WHENEVER NOT SUCCESSFUL;
AUDIT DELETE ANY TABLE;
AUDIT SELECT TABLE
審計指定對象
AUDIT DELETE ON scott
AUDIT SELECT
AUDIT SELECT ON DEFAULT WHENEVER NOT SUCCESSFUL;
關閉審計操作
關閉上面例子中的相應審計
NOAUDIT session;
NOAUDIT session BY scott
NOAUDIT DELETE ANY TABLE;
NOAUDIT SELECT TABLE
關閉所有語句審計
NOAUDIT ALL;
關閉所有權限審計
NOAUDIT ALL PRIVILEGES;
關閉對象審計
NOAUDIT DELETE ON emp;
NOAUDIT SELECT
關閉某一對象上的所有審計
NOAUDIT ALL ON emp;
關閉所有的默認對象審計
NOAUDIT ALL ON DEFAULT;
相關審計信息視圖
ALL_DEF_AUDIT_OPTS
USER_OBJ_AUDIT_OPTS
DBA_OBJ_AUDIT_OPTS
DBA_STMT_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS
DBA_AUDIT_TRAIL
USER_AUDIT_TRAIL
DBA_AUDIT_SESSION
USER_AUDIT_SESSION
DBA_AUDIT_STATEMENT
USER_AUDIT_STATEMENT
DBA_AUDIT_OBJECT
USER_AUDIT_OBJECT
DBA_AUDIT_EXISTS
SM$AUDIT_CONFIG
KU$_AUDIT_VIEW
KU$_AUDIT_OBJ_BASE_VIEW
KU$_AUDIT_OBJ_VIEW
DBA_AUDIT_POLICIES
ALL_AUDIT_POLICIES
USER_AUDIT_POLICIES
DBA_FGA_AUDIT_TRAIL
DBA_REPAUDIT_ATTRIBUTE
ALL_REPAUDIT_ATTRIBUTE
USER_REPAUDIT_ATTRIBUTE
DBA_REPAUDIT_COLUMN
ALL_REPAUDIT_COLUMN
USER_REPAUDIT_COLUMN
查看審計信息舉例
列出活動的語句審計操作
SELECT * FROM DBA_STMT_AUDIT_OPTS;
列出活動的權限審計操作
SELECT * FROM DBA_PRIV_AUDIT_OPTS;
列出對指定對象的活動對象審計操作
SELECT * FROM DBA_OBJ_AUDIT_OPTS WHERE OWNER =
列出默認的對象審計操作
SELECT * FROM ALL_DEF_AUDIT_OPTS;
列出審計記錄
SELECT * FROM DBA_AUDIT_OBJECT;
列出對於AUDIT SESSION審計操作的審計記錄
SELECT USERNAME
詳細信息請查看聯機文檔及相關資料
From:http://tw.wingwit.com/Article/program/Oracle/201311/16598.html