ORACLE資料庫安全基礎知識

來源:互聯網
上載者:User

標籤:oracle   安全   

一、資料字典保護

啟用資料字典保護,只有SYSDBA使用者才能訪問資料字典基礎資料表

使用show parameters命令來檢查參數O7_DICTIONARY_ACCESSIBILITY是否為FALSE。

 

二、帳號安全管理

1、根據使用者的業務需要,配置最小許可權

使用以下SQL查詢具有DBA許可權的使用者

select grantee as usern from dba_role_privswhere granted_role =‘DBA‘ intersect select username from dba_users;

使用以下SQL查詢具有DBA許可權的角色

select grantee as usern from dba_role_privswhere granted_role =‘DBA‘ minus (select grantee as usern from dba_role_privswhere granted_role =‘DBA‘ intersect select username from dba_users);

2、使用資料庫角色(ROLE)來管理對象的許可權

使用select * from dba_role_privs或dba_tab_privs; select* from user_role_privs;查看帳號角色;確定帳號許可權劃分是否明確。

 

3、對使用者的屬性進行控制,包括密碼原則、資源限制等。

為不同的業務使用者建立不同的profile,設定資料庫口令複雜度,有效期間及鎖定配置等,Profile參數解釋如下:

A.對資料庫資源做限制

SESSIONS_PER_USER   每個使用者名稱所允許的並行會話數

CPU_PER_SESSION     一個會話一共可以使用的CPU時間,單位是百分之一秒

CPU_PER_CALL      一次SQL調用(解析、執行和擷取)允許使用的CPU時間

CONNECT_TIME      限制會話連線時間,單位是分鐘

IDLE_TIME         允許空閑會話的時間,單位是分鐘

LOGICAL_READS_PER_SESSION  限制會話對資料區塊的讀取,單位是塊

LOGICAL_READS_PER_CALL    限制SQL調用對資料區塊的讀取,單位是塊

COMPOSITE_LIMIT          指定一個會話的總的資源消耗,以serviceunits單位表示

PRIVATE_SGA    限制會話在SGA中Shared Pool中私人空間的分配

 

B.對密碼做限制

FAILED_LOGIN_ATTEMPTS 帳戶被鎖定之前可以錯誤嘗試的次數

PASSWORD_LIFE_TIME    密碼可以被使用的天數,單位是天,預設值180天

PASSWORD_REUSE_TIME  密碼可重用的間隔時間(結合PASSWORD_REUSE_MAX)

PASSWORD_REUSE_MAX   密碼的最大改變次數(結合PASSWORD_REUSE_TIME)

PASSWORD_LOCK_TIME    超過錯誤嘗試次數後,使用者被鎖定的天數,預設1天

PASSWORD_GRACE_TIME   當密碼到期之後還有多少天可以使用原密碼

PASSWORD_VERIFY_FUNCTION  密碼複雜度設定,至少8個字元大寫字母+小寫字母+數字+特殊符號

 

具體用法舉例:

alter profile profile_name limitPASSWORD_VERIFY_FUNCTION verify_function_11g; --設定資料庫口令複雜度alter profile profile_name limit FAILED_LOGIN_ATTEMPTS5 --設定資料庫口令輸錯5次被鎖


4、根據業務限制具備資料庫超級管理員(SYSDBA)許可權的使用者遠程登入

使用show parameters命令來檢查參數REMOTE_LOGIN_PASSWORDFILE是否為NONE。(搭建DG,RMAN備份等都需要管理員權限,根據業務設定)

 

5、限制在DBA組中的作業系統使用者數量

限制除oracle,grid之外的其它作業系統使用者在dba組中,以防止其使用者串改或刪除oracle軟體檔案內容。

 

三、可信IP地址存取控制

通過資料庫所在作業系統或防火牆限制,只有信任的IP地址才能通過監聽器訪問資料庫,可通過設定$ORACLE_HOME/network/admin/sqlnet.ora檔案中參數tcp.validnode_checking和tcp.invited_nodes實現限制,需重啟監聽。

 

四、記錄操作事件

1、建立觸發器對使用者登入進行日誌記錄

建表LOGIN_CHECK_LOG

create table login_check_log(session_idnumber(8,0) not null,login_on_time date,user_in_db varchar(50), ip_addressvarchar(20));

建觸發器LOGIN_CHECK

create trigger login_checkafter logon on databasebegin   insert into login_check_log(session_id,login_on_time,user_in_db,ip_address)select audsid,sysdate,sys.login_user,sys_context(‘userenv‘,‘ip_address‘) from v$session where audsid=userenv(‘sessionid‘);  end;/

還可以通過建立資料庫連接使用相關的觸發器,比如:限制只能IP為xxx的用戶端使用PL/SQL串連資料庫

 

2、資料庫應配置日誌功能,記錄使用者對資料庫的操作

通過記錄動作記錄,記錄需要包含使用者帳號,操作時間,操作內容以及操作結果等。比如開啟監聽器日誌。

LSNRCTL>set log_directory  $ORACLE_HOME/diag/tnslsnr/<hostname>/listener/alert/LSNRCTL>set log_file log.xmlLSNRCTL>set log_status onLSNRCTL>save_config


3、根據業務要求制定Database Audit策略

使用show parameter命令來檢查參數audit_trail是否設定,具有參數如下:

none:是預設值,禁用Database Audit。

os:啟用審計,並將Database Audit記錄定向到 OS審計記錄。

db:啟用審計,並將Database Audit記錄定向到資料庫的 SYS.AUD$表 11g此參數預設為 db。

db_extended:啟用審計,並將資料庫所有審計記錄定向的到資料庫的 SYS.AUD$表中,包含 SYS.AUD$表的 SQLBIND 列和 SQLTEXTCLOB 列。這樣審計的結果裡面除了串連資訊還包含了當時執行的具體語句。

xml:啟用Database Audit,並將所有的記錄寫到XML 格式的 OS 系統檔案中。

xml_extended:啟用Database Audit,輸出審計記錄的所有列,包括 sqltext 和 sqlbind。

 

有興趣的童鞋還可以瞭解一下ORACLE的安全審計產品:Oracle Audit Vault and Database Firewall (AVDF)

 

五、資料庫漏洞管理

使用主流漏洞掃描工具進行掃描,對於中高危漏洞,應及時修複,檢查系統的詳細版本號碼,及時更新ORACLE發布的中高危補丁;對於暫無修複手段的漏洞,應通過其他技術手段進行風險規避。具體請參考:國內外權威的CVE漏洞庫。

CVE中文漏洞資訊庫-SCAP中文社區:http://cve.scap.org.cn/

CVE - Common Vulnerabilities and Exposures(CVE) :http://cve.mitre.org/

 


ORACLE資料庫安全基礎知識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.