溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ORACLE數(shù)據(jù)庫安全基礎(chǔ)知識

發(fā)布時間:2020-05-27 13:02:34 來源:網(wǎng)絡(luò) 閱讀:1921 作者:朱wei 欄目:關(guān)系型數(shù)據(jù)庫

一、數(shù)據(jù)字典保護(hù)

啟用數(shù)據(jù)字典保護(hù),只有SYSDBA用戶才能訪問數(shù)據(jù)字典基礎(chǔ)表

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

 

二、賬號安全管理

1、根據(jù)用戶的業(yè)務(wù)需要,配置最小權(quán)限

使用以下SQL查詢具有DBA權(quán)限的用戶

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

使用以下SQL查詢具有DBA權(quán)限的角色

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、使用數(shù)據(jù)庫角色(ROLE)來管理對象的權(quán)限

使用select * from dba_role_privsdba_tab_privs; select* from user_role_privs;查看帳號角色;確定帳號權(quán)限劃分是否明確。

 

3、對用戶的屬性進(jìn)行控制,包括密碼策略、資源限制等。

為不同的業(yè)務(wù)用戶建立不同的profile,設(shè)置數(shù)據(jù)庫口令復(fù)雜度,有效期及鎖定配置等,Profile參數(shù)解釋如下:

A.對數(shù)據(jù)庫資源做限制

SESSIONS_PER_USER   每個用戶名所允許的并行會話數(shù)

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

CPU_PER_CALL      一次SQL調(diào)用(解析、執(zhí)行和獲取)允許使用的CPU時間

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

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

LOGICAL_READS_PER_SESSION  限制會話對數(shù)據(jù)塊的讀取,單位是塊

LOGICAL_READS_PER_CALL    限制SQL調(diào)用對數(shù)據(jù)塊的讀取,單位是塊

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

PRIVATE_SGA    限制會話在SGAShared Pool中私有空間的分配

 

B.對密碼做限制

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

PASSWORD_LIFE_TIME    密碼可以被使用的天數(shù),單位是天,默認(rèn)值180

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

PASSWORD_REUSE_MAX   密碼的最大改變次數(shù)(結(jié)合PASSWORD_REUSE_TIME)

PASSWORD_LOCK_TIME    超過錯誤嘗試次數(shù)后,用戶被鎖定的天數(shù),默認(rèn)1

PASSWORD_GRACE_TIME   當(dāng)密碼過期之后還有多少天可以使用原密碼

PASSWORD_VERIFY_FUNCTION  密碼復(fù)雜度設(shè)置,至少8個字符大寫字母+小寫字母+數(shù)字+特殊符號

 

具體用法舉例:

alter profile profile_name limitPASSWORD_VERIFY_FUNCTION verify_function_11g; --設(shè)置數(shù)據(jù)庫口令復(fù)雜度
alter profile profile_name limit FAILED_LOGIN_ATTEMPTS5 --設(shè)置數(shù)據(jù)庫口令輸錯5次被鎖


4、根據(jù)業(yè)務(wù)限制具備數(shù)據(jù)庫超級管理員(SYSDBA)權(quán)限的用戶遠(yuǎn)程登錄

使用show parameters命令來檢查參數(shù)REMOTE_LOGIN_PASSWORDFILE是否為NONE。(搭建DG,RMAN備份等都需要管理員權(quán)限,根據(jù)業(yè)務(wù)設(shè)置)

 

5、限制在DBA組中的操作系統(tǒng)用戶數(shù)量

限制除oracle,grid之外的其它操作系統(tǒng)用戶在dba組中,以防止其用戶串改或刪除oracle軟件文件內(nèi)容。

 

三、可信IP地址訪問控制

通過數(shù)據(jù)庫所在操作系統(tǒng)或防火墻限制,只有信任的IP地址才能通過監(jiān)聽器訪問數(shù)據(jù)庫,可通過設(shè)置$ORACLE_HOME/network/admin/sqlnet.ora文件中參數(shù)tcp.validnode_checkingtcp.invited_nodes實現(xiàn)限制,需重啟監(jiān)聽。

 

四、默認(rèn)端口及實例名修改
對于默認(rèn)的1521端口,應(yīng)該修改掉默認(rèn)的監(jiān)聽端口;對于 Oracle TNS Listener SID 可以被猜測,不應(yīng)該使用安裝Oracle時默認(rèn)的SID(ORCL),應(yīng)該設(shè)置復(fù)雜度較高的SID。


五、記錄操作事件

1、創(chuàng)建觸發(fā)器對用戶登錄進(jìn)行日志記錄

建表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));

建觸發(fā)器LOGIN_CHECK

create trigger login_check
after logon on database
begin  
 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;
/

還可以通過創(chuàng)建數(shù)據(jù)庫連接使用相關(guān)的觸發(fā)器,比如:限制只能IPxxx的客戶端使用PL/SQL連接數(shù)據(jù)庫

 

2、數(shù)據(jù)庫應(yīng)配置日志功能,記錄用戶對數(shù)據(jù)庫的操作

通過記錄操作日志,記錄需要包含用戶帳號,操作時間,操作內(nèi)容以及操作結(jié)果等。比如開啟監(jiān)聽器日志。

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


3、根據(jù)業(yè)務(wù)要求制定數(shù)據(jù)庫審計策略

使用show parameter命令來檢查參數(shù)audit_trail是否設(shè)置,具有參數(shù)如下:

none:是默認(rèn)值,禁用數(shù)據(jù)庫審計。  

os:啟用審計,并將數(shù)據(jù)庫審計記錄定向到 OS審計記錄。  

db:啟用審計,并將數(shù)據(jù)庫審計記錄定向到數(shù)據(jù)庫的 SYS.AUD$ 11g此參數(shù)默認(rèn)為 db。  

db_extended:啟用審計,并將數(shù)據(jù)庫所有審計記錄定向的到數(shù)據(jù)庫 SYS.AUD$表中,包含 SYS.AUD$表的 SQLBIND 列和 SQLTEXTCLOB 列。這樣審計的結(jié)果里面除了連接信息還包含了當(dāng)時執(zhí)行的具體語句。  

xml:啟用數(shù)據(jù)庫審計,并將所有的記錄寫到XML 格式的 OS 系統(tǒng)文件中。

xml_extended:啟用數(shù)據(jù)庫審計,輸出審計記錄的所有列,包括 sqltext sqlbind。

 

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

 

六、數(shù)據(jù)庫漏洞管理

使用主流漏洞掃描工具進(jìn)行掃描,對于中高危漏洞,應(yīng)及時修復(fù),檢查系統(tǒng)的詳細(xì)版本號,及時更新ORACLE發(fā)布的中高危補?。粚τ跁簾o修復(fù)手段的漏洞,應(yīng)通過其他技術(shù)手段進(jìn)行風(fēng)險規(guī)避。具體請參考:國內(nèi)外權(quán)威的CVE漏洞庫。

CVE中文漏洞信息庫-SCAP中文社區(qū):http://cve.scap.org.cn/

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

 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI