等級保護(hù)測評三級詳解測評要求項(xiàng)測評方法及測評步驟
等級保護(hù)【數(shù)據(jù)庫Oracle】測評:
詳解【數(shù)據(jù)庫Oracle】(三級):身份鑒別、訪問控制、安全審計(jì)、資源控制四個(gè)控制點(diǎn)的測評要求項(xiàng)、測評方法及測評步驟!
身份鑒別
a)應(yīng)對數(shù)據(jù)庫系統(tǒng)的用戶進(jìn)行身份標(biāo)識和鑒別;
測評方法及步驟:
1)以默認(rèn)口令或者常見口令嘗試登錄數(shù)據(jù)庫,查看是否成功,查看是否需要口令以及是否存在空口令
$ sqlplus/nolog
SQLconnuser/password as sysdba
2)或者使用Oracle客戶端管理控制臺(Enterprise Manager Console)進(jìn)行登錄
3)默認(rèn)口令包括sys/change_on_install;system/manager,scott/tiger,常用口令包括oracle:admin/oracle;sys:admin:oracle等。(更改用戶口令alter user user_name identified by password),或者用select * from dba_users;查看賬號口令;
b)數(shù)據(jù)庫系統(tǒng)管理用戶身份標(biāo)識應(yīng)具有不易被冒用的特點(diǎn),口令應(yīng)有復(fù)雜度要求并定期更換;
測評方法及步驟:
1)select username,profile fromdba_user;了解用戶使用的profile
2)select * from dba_profiles whereprofile='default';查看系統(tǒng)本身的profile的配置參數(shù)都有哪些?
PASSWORD_VERIFY_FUNCTIONverify_function為密碼復(fù)雜度驗(yàn)證函數(shù)已經(jīng)開啟。這個(gè)oracle默認(rèn)verify_function()函數(shù),要求口令密碼最小長度4、不能和用戶名相同、至少有一個(gè)字母、數(shù)字和特殊字母,舊密碼和新密碼至少有三位不同。如果你覺得這個(gè)要求還太低,那你就創(chuàng)建自己復(fù)雜的驗(yàn)證函數(shù)
3)檢查utlpwdmg.sql中"-- Check for the minimum length of the password"部分中"length (password)
c)應(yīng)啟用登錄失敗處理功能,可采取結(jié)束會話、限制非法登錄次數(shù)和自動(dòng)退出等措施;
測評方法及步驟:
1)select limitfrom dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS
FAILED_LOGIN_ATTEMPTS:最大錯(cuò)誤登錄次數(shù)
PASSWORD_GRACE_TIME:口令失效后鎖定 時(shí)間
PASSWORD_LIFE_TIME:口令有效時(shí)間
PASSWORD_LOCK_TIME:登錄超過有效次數(shù)鎖定時(shí)間
查看有無對各項(xiàng)進(jìn)行時(shí)間/次數(shù)上的設(shè)置和限制;
d)當(dāng)對服務(wù)器進(jìn)行遠(yuǎn)程管理時(shí),應(yīng)采取必要措施,防治鑒別信息在網(wǎng)絡(luò)傳輸過程中被竊聽;
測評方法及步驟:
1)詢問管理員是否采取加密手段保證數(shù)據(jù)庫的訪問信息不被竊聽
2)在9i中查看數(shù)據(jù)庫安裝目錄下的\admin\DB_NAME\pfile\initSID.ora中REMOTE_OS_AUTHENT的賦值,確認(rèn)是否允許管理員對數(shù)據(jù)庫進(jìn)行遠(yuǎn)程連接和管理,其他版本用命令“SHOW PARAMETERS AUTH;”記錄是否允許遠(yuǎn)程訪問
3)或者圖形界面管理中查看打開Oracle客戶端管理控制臺(Enterprise Manager Console);添加被評估數(shù)據(jù)庫的連接信息,使用sys或system用戶登錄數(shù)據(jù)庫;在左側(cè)菜單欄中打開“例程”,選中“配置”欄,再選擇“一般信息”頁面,點(diǎn)擊“所有初始化參數(shù)”;在彈出的界面中,查看“remote_os_authent”參數(shù)行的設(shè)置,為是否允許遠(yuǎn)程連接,如實(shí)記錄該原始數(shù)據(jù)或拷屏
4)查看lsnrctl status查看是否存在TCPS協(xié)議;
e)應(yīng)為數(shù)據(jù)庫系統(tǒng)的不同用戶分配不同的用戶名,確保用戶名具有唯一性;
測評方法及步驟:
1)詢問管理員,是否為不同的用戶分配了不同的賬戶??蓹z索賬戶“selectusername,account_status from dba_users”,并詢問是否建立制度,確保不同人員使用不同用戶登錄數(shù)據(jù)庫系統(tǒng);
f)應(yīng)采用兩種或兩種以上組合的鑒別技術(shù)對管理用戶進(jìn)行身份鑒別;
測評方法及步驟:
1)詢問管理員數(shù)據(jù)庫是否采用了2種以上身份鑒別方式進(jìn)行身份認(rèn)證,如是否部署CA認(rèn)證等第三方認(rèn)證產(chǎn)品進(jìn)行認(rèn)證;
2)查看配置文件 db_1\NETWORK\ADMIN目錄下或$TNS_ADMIN/sqlnet.ora的sqlnet.ora,查看SQLNET_AUTHENTICATION_SERVICES的值,確認(rèn)數(shù)據(jù)庫管理員指定的鑒別方式是否與管理員回答的一致,值為NTS時(shí),則為使用windows系統(tǒng)認(rèn)證,當(dāng)為none時(shí),則需要雙重身份認(rèn)證。但是不為雙因子認(rèn)證;
此條中判斷以第一條為準(zhǔn),第二條僅做參考,不對結(jié)果造成影響;
訪問控制
a)應(yīng)啟用訪問控制功能,依據(jù)安全策略控制用戶對資源的訪問;
測評方法及步驟:
1)linux下在數(shù)據(jù)庫的操作系統(tǒng)中打開$ORACLE_HOME\bin目錄,并找到可執(zhí)行程序Oracle;
在操作系統(tǒng)中運(yùn)行命令:ls –al oracle;查看其運(yùn)行、讀寫權(quán)限;
2)訪談管理員是否有其他方式(如防火墻、ACL、IPsec等方式)進(jìn)行端口/IP級的訪問限制,或者其他方式對數(shù)據(jù)庫訪問的控制,并進(jìn)行驗(yàn)證;
判定依據(jù)主要參考第三條,第一二條為輔助依據(jù);
b)應(yīng)根據(jù)管理用戶的角色分配權(quán)限,實(shí)現(xiàn)管理用戶的權(quán)限分離,僅授予管理用戶所需的最小權(quán)限;
測評方法及步驟:
1)查看應(yīng)用賬戶是否屬于DBA組權(quán)限
2)select grantee from dba_role_privs where grante_role='DBA' and grante not in('SYS','SYSTEM','CTXSYS','WmSYS','SYSMAN');
c)應(yīng)實(shí)現(xiàn)操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)特權(quán)用戶的權(quán)限分離;
測評方法及步驟:
詢問管理員是否由不同員工分別擔(dān)任操作系統(tǒng)管理員與數(shù)據(jù)庫管理員
登錄操作系統(tǒng),查看是否能對數(shù)據(jù)庫系統(tǒng)進(jìn)行操作;
d)應(yīng)限制默認(rèn)帳戶的訪問權(quán)限,重命名系統(tǒng)默認(rèn)帳戶,修改這些帳戶的默認(rèn)口令;
測評方法及步驟:
詢問管理員:應(yīng)盡量重命名數(shù)據(jù)庫系統(tǒng)的默認(rèn)賬戶,如果部分賬戶無法重命名,則應(yīng)加強(qiáng)這些賬戶的口令強(qiáng)度,確保這些賬戶不被授權(quán)使用;
e)應(yīng)及時(shí)刪除多余的、過期的帳戶,避免共享帳戶的存在;
測評方法及步驟:
1、在sqlplus中執(zhí)行命令
desc dba_users
selectusername,account_status from dba_users where account_status='OPEN'
2、查看返回結(jié)果中是否存在scott、outln、ordsys等范例數(shù)據(jù)庫賬號,在windows中或者用圖形用戶界面找到安全性查看用戶狀態(tài)檢查是否有過期、共享帳戶存在;
f)應(yīng)對重要信息資源設(shè)置敏感標(biāo)記;
測評方法及步驟:
1)檢查是否安裝oracle label security模塊(如無,下面步驟可省略)select username from dba_users;查看有無lbacsys的用戶,如無,則無安裝Oracle Label Security模塊
2)查看是否創(chuàng)建策略:select policy_name,statusfrom DBA_SA_POLICIES
3)查看標(biāo)簽創(chuàng)建情況:select * fromdba_sa_lables;
g)應(yīng)依據(jù)安全策略嚴(yán)格控制用戶對有敏感標(biāo)記重要信息資源的操作;
測評方法及步驟:
登錄sqlplus,查看用戶的標(biāo)簽
select * fromdba_sa_lables
select * fromdba_sa_tables_policies;可讓管理員演示選擇特定的用戶和表進(jìn)行驗(yàn)證敏感標(biāo)記功能是否正確;
安全審計(jì)
a)審計(jì)范圍應(yīng)覆蓋到服務(wù)器和重要客戶端上的每個(gè)數(shù)據(jù)庫用戶;
測評方法及步驟:
檢查并記錄數(shù)據(jù)庫操作審計(jì)的配置策略
show parametersaudit;查看數(shù)據(jù)庫審計(jì)的目錄及審計(jì)是否開啟,審計(jì)級別
1.windows中打開Oracle客戶端管理控制臺(Enterprise Manager Console)
2.添加被評估數(shù)據(jù)庫的連接信息,使用sys或system用戶登錄數(shù)據(jù)庫
3.在左側(cè)菜單欄中打開“例程”,選中“配置”欄,再選擇“一般信息”頁面,點(diǎn)擊“所有初始化參數(shù)”
4.在彈出的界面中,查看“audit_trail”參數(shù)行的設(shè)置,如實(shí)記錄該原始數(shù)據(jù)或拷屏。如果為linux系統(tǒng)執(zhí)行show parameters audit_trail;查看是否開啟審計(jì)功能
5.進(jìn)行管理員和一般用戶登錄登出,查看審計(jì)日志是否能正確記錄
6.以上條件不滿足時(shí),詢問管理員是否有第三方數(shù)據(jù)庫審計(jì)軟件;
b)審計(jì)內(nèi)容應(yīng)包括重要用戶行為、系統(tǒng)資源的異常使用和重要系統(tǒng)命令的使用等系統(tǒng)內(nèi)重要的安全相關(guān)事件;
測評方法及步驟:
查看AUDIT_TRAIL的值為NONE為關(guān)閉審計(jì)功能,audit_sys_operations為YES審計(jì)系統(tǒng)重要操作;
c)審計(jì)記錄應(yīng)包括事件的日期、時(shí)間、類型、主體標(biāo)識、客體標(biāo)識和結(jié)果等;
測評方法及步驟:
select * fromsys.aud$,select * fromdba_audit_trail,記錄審計(jì)記錄中事件的日期、時(shí)間、類型、主體標(biāo)識、客體標(biāo)識和結(jié)果等記錄情況;
d)應(yīng)能根據(jù)記錄數(shù)據(jù)進(jìn)行分析,并生產(chǎn)審計(jì)報(bào)表;
測評方法及步驟:
詢問管理員是否安裝并使用了oracle audit vault等日志分析工具并查看相關(guān)報(bào)表,或者是否采用了第三方數(shù)據(jù)庫審計(jì)軟件以及具有報(bào)表功能并定期生成報(bào)表;
e)應(yīng)保護(hù)審計(jì)進(jìn)程,避免受到未預(yù)期的中斷;
測評方法及步驟:
詢問是否嚴(yán)格限制數(shù)據(jù)庫管理員權(quán)限,系統(tǒng)管理員能否進(jìn)行與審計(jì)相關(guān)的操作。用戶可以通過alter system set audit_trail='NONE' scope=spfile;,查看是否成功;
f)應(yīng)保護(hù)審計(jì)記錄,避免受到未預(yù)期的刪除、修改或覆蓋等;
測評方法及步驟:
詢問數(shù)據(jù)庫管理員,是否嚴(yán)格限制用戶訪問審計(jì)記錄的權(quán)限,如采用audit vault等,或者第三方審計(jì)系統(tǒng),并檢查是否定期對審計(jì)日志做備份;
資源控制
a)應(yīng)通過設(shè)定終端接入方式、網(wǎng)絡(luò)地址范圍等條件限制終端登錄;
測評方法及步驟:
方法一:人工審計(jì)
1.以文本文件的方式,打開操作系統(tǒng)中的數(shù)據(jù)庫服務(wù)配置文件“SQLNET.ORA”(數(shù)據(jù)庫目錄下的NETWORK\ADMIN\)
查看是否存在如下內(nèi)容
tcp.validnode_checking=YES
tcp.excluded_nodes=
tcp.invited_nodes=,如存在則對IP地址進(jìn)行了限制
3.如實(shí)記錄該原始數(shù)據(jù)或拷屏
4.如果沒有在數(shù)據(jù)庫系統(tǒng)上進(jìn)行配置,詢問是否在防火墻或者其他網(wǎng)絡(luò)設(shè)備/安全設(shè)備上進(jìn)行了相關(guān)的配置;
方法一:人工審計(jì)
1.以文本文件的方式,打開操作系統(tǒng)中的數(shù)據(jù)庫服務(wù)配置文件“l(fā)istener.ora”;
2.查看“ADMIN_RESTRICTIONS_listener_name=”的設(shè)置(此項(xiàng)設(shè)置為防止對oracle listener的未經(jīng)授權(quán)的管理,需要),如實(shí)記錄該原始數(shù)據(jù)或拷屏,如為ON則符合,不存在則不符合;
b)應(yīng)根據(jù)安全策略設(shè)置登錄終端的操作超時(shí)鎖定;
測評方法及步驟:
查看空閑超時(shí)設(shè)置,selectlimit from dba_profiles where resource_name='IDLE_TIME'.查看超時(shí)設(shè)置,并記錄或查看系統(tǒng)概要文件;
c)應(yīng)限制單個(gè)用戶對系統(tǒng)資源的最大或最小使用限度;
測評方法及步驟:
執(zhí)行命令,查看用戶使用的profile,select username,profile fromdba_users,查看其限制,set lines 300
查看默認(rèn)用戶的并行會話數(shù)和CPU使用時(shí)間
select limitfrom dba_profiles where profile='DEFAULT';,或CPU_PER_SESSION,IDLE_TIME,'SESSIONS_PER_USER'等各設(shè)置
下面是全部可用的參數(shù):
SESSIONS_PER_USER 每個(gè)用戶名所允許的并行會話數(shù)
CPU_PER_SESSION 一個(gè)會話一共可以使用的CPU時(shí)間,單位是百分之一秒
CPU_PER_CALL 一次SQL調(diào)用(解析、執(zhí)行和獲?。┰试S使用的CPU時(shí)間
CONNECT_TIME 限制會話連接時(shí)間,單位是分鐘
IDLE_TIME 允許空閑會話的時(shí)間,單位是分鐘
LOGICAL_READS_PER_SESSION 限制會話對數(shù)據(jù)塊的讀取,單位是塊
LOGICAL_READS_PER_CALL 限制SQL調(diào)用對數(shù)據(jù)塊的讀取,單位是塊
COMPOSITE_LIMIT “組合打法”
PRIVATE_SGA 限制會話在SGA中Shared Pool中私有空間的分配;
詳解【數(shù)據(jù)庫Oracle】(三級):身份鑒別、訪問控制、安全審計(jì)、資源控制四個(gè)控制點(diǎn)的測評要求項(xiàng)、測評方法及測評步驟!
身份鑒別
a)應(yīng)對數(shù)據(jù)庫系統(tǒng)的用戶進(jìn)行身份標(biāo)識和鑒別;
測評方法及步驟:
1)以默認(rèn)口令或者常見口令嘗試登錄數(shù)據(jù)庫,查看是否成功,查看是否需要口令以及是否存在空口令
$ sqlplus/nolog
SQLconnuser/password as sysdba
2)或者使用Oracle客戶端管理控制臺(Enterprise Manager Console)進(jìn)行登錄
3)默認(rèn)口令包括sys/change_on_install;system/manager,scott/tiger,常用口令包括oracle:admin/oracle;sys:admin:oracle等。(更改用戶口令alter user user_name identified by password),或者用select * from dba_users;查看賬號口令;
b)數(shù)據(jù)庫系統(tǒng)管理用戶身份標(biāo)識應(yīng)具有不易被冒用的特點(diǎn),口令應(yīng)有復(fù)雜度要求并定期更換;
測評方法及步驟:
1)select username,profile fromdba_user;了解用戶使用的profile
2)select * from dba_profiles whereprofile='default';查看系統(tǒng)本身的profile的配置參數(shù)都有哪些?
PASSWORD_VERIFY_FUNCTIONverify_function為密碼復(fù)雜度驗(yàn)證函數(shù)已經(jīng)開啟。這個(gè)oracle默認(rèn)verify_function()函數(shù),要求口令密碼最小長度4、不能和用戶名相同、至少有一個(gè)字母、數(shù)字和特殊字母,舊密碼和新密碼至少有三位不同。如果你覺得這個(gè)要求還太低,那你就創(chuàng)建自己復(fù)雜的驗(yàn)證函數(shù)
3)檢查utlpwdmg.sql中"-- Check for the minimum length of the password"部分中"length (password)
c)應(yīng)啟用登錄失敗處理功能,可采取結(jié)束會話、限制非法登錄次數(shù)和自動(dòng)退出等措施;
測評方法及步驟:
1)select limitfrom dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS
FAILED_LOGIN_ATTEMPTS:最大錯(cuò)誤登錄次數(shù)
PASSWORD_GRACE_TIME:口令失效后鎖定 時(shí)間
PASSWORD_LIFE_TIME:口令有效時(shí)間
PASSWORD_LOCK_TIME:登錄超過有效次數(shù)鎖定時(shí)間
查看有無對各項(xiàng)進(jìn)行時(shí)間/次數(shù)上的設(shè)置和限制;
d)當(dāng)對服務(wù)器進(jìn)行遠(yuǎn)程管理時(shí),應(yīng)采取必要措施,防治鑒別信息在網(wǎng)絡(luò)傳輸過程中被竊聽;
測評方法及步驟:
1)詢問管理員是否采取加密手段保證數(shù)據(jù)庫的訪問信息不被竊聽
2)在9i中查看數(shù)據(jù)庫安裝目錄下的\admin\DB_NAME\pfile\initSID.ora中REMOTE_OS_AUTHENT的賦值,確認(rèn)是否允許管理員對數(shù)據(jù)庫進(jìn)行遠(yuǎn)程連接和管理,其他版本用命令“SHOW PARAMETERS AUTH;”記錄是否允許遠(yuǎn)程訪問
3)或者圖形界面管理中查看打開Oracle客戶端管理控制臺(Enterprise Manager Console);添加被評估數(shù)據(jù)庫的連接信息,使用sys或system用戶登錄數(shù)據(jù)庫;在左側(cè)菜單欄中打開“例程”,選中“配置”欄,再選擇“一般信息”頁面,點(diǎn)擊“所有初始化參數(shù)”;在彈出的界面中,查看“remote_os_authent”參數(shù)行的設(shè)置,為是否允許遠(yuǎn)程連接,如實(shí)記錄該原始數(shù)據(jù)或拷屏
4)查看lsnrctl status查看是否存在TCPS協(xié)議;
e)應(yīng)為數(shù)據(jù)庫系統(tǒng)的不同用戶分配不同的用戶名,確保用戶名具有唯一性;
測評方法及步驟:
1)詢問管理員,是否為不同的用戶分配了不同的賬戶??蓹z索賬戶“selectusername,account_status from dba_users”,并詢問是否建立制度,確保不同人員使用不同用戶登錄數(shù)據(jù)庫系統(tǒng);
f)應(yīng)采用兩種或兩種以上組合的鑒別技術(shù)對管理用戶進(jìn)行身份鑒別;
測評方法及步驟:
1)詢問管理員數(shù)據(jù)庫是否采用了2種以上身份鑒別方式進(jìn)行身份認(rèn)證,如是否部署CA認(rèn)證等第三方認(rèn)證產(chǎn)品進(jìn)行認(rèn)證;
2)查看配置文件 db_1\NETWORK\ADMIN目錄下或$TNS_ADMIN/sqlnet.ora的sqlnet.ora,查看SQLNET_AUTHENTICATION_SERVICES的值,確認(rèn)數(shù)據(jù)庫管理員指定的鑒別方式是否與管理員回答的一致,值為NTS時(shí),則為使用windows系統(tǒng)認(rèn)證,當(dāng)為none時(shí),則需要雙重身份認(rèn)證。但是不為雙因子認(rèn)證;
此條中判斷以第一條為準(zhǔn),第二條僅做參考,不對結(jié)果造成影響;
訪問控制
a)應(yīng)啟用訪問控制功能,依據(jù)安全策略控制用戶對資源的訪問;
測評方法及步驟:
1)linux下在數(shù)據(jù)庫的操作系統(tǒng)中打開$ORACLE_HOME\bin目錄,并找到可執(zhí)行程序Oracle;
在操作系統(tǒng)中運(yùn)行命令:ls –al oracle;查看其運(yùn)行、讀寫權(quán)限;
2)訪談管理員是否有其他方式(如防火墻、ACL、IPsec等方式)進(jìn)行端口/IP級的訪問限制,或者其他方式對數(shù)據(jù)庫訪問的控制,并進(jìn)行驗(yàn)證;
判定依據(jù)主要參考第三條,第一二條為輔助依據(jù);
b)應(yīng)根據(jù)管理用戶的角色分配權(quán)限,實(shí)現(xiàn)管理用戶的權(quán)限分離,僅授予管理用戶所需的最小權(quán)限;
測評方法及步驟:
1)查看應(yīng)用賬戶是否屬于DBA組權(quán)限
2)select grantee from dba_role_privs where grante_role='DBA' and grante not in('SYS','SYSTEM','CTXSYS','WmSYS','SYSMAN');
c)應(yīng)實(shí)現(xiàn)操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)特權(quán)用戶的權(quán)限分離;
測評方法及步驟:
詢問管理員是否由不同員工分別擔(dān)任操作系統(tǒng)管理員與數(shù)據(jù)庫管理員
登錄操作系統(tǒng),查看是否能對數(shù)據(jù)庫系統(tǒng)進(jìn)行操作;
d)應(yīng)限制默認(rèn)帳戶的訪問權(quán)限,重命名系統(tǒng)默認(rèn)帳戶,修改這些帳戶的默認(rèn)口令;
測評方法及步驟:
詢問管理員:應(yīng)盡量重命名數(shù)據(jù)庫系統(tǒng)的默認(rèn)賬戶,如果部分賬戶無法重命名,則應(yīng)加強(qiáng)這些賬戶的口令強(qiáng)度,確保這些賬戶不被授權(quán)使用;
e)應(yīng)及時(shí)刪除多余的、過期的帳戶,避免共享帳戶的存在;
測評方法及步驟:
1、在sqlplus中執(zhí)行命令
desc dba_users
selectusername,account_status from dba_users where account_status='OPEN'
2、查看返回結(jié)果中是否存在scott、outln、ordsys等范例數(shù)據(jù)庫賬號,在windows中或者用圖形用戶界面找到安全性查看用戶狀態(tài)檢查是否有過期、共享帳戶存在;
f)應(yīng)對重要信息資源設(shè)置敏感標(biāo)記;
測評方法及步驟:
1)檢查是否安裝oracle label security模塊(如無,下面步驟可省略)select username from dba_users;查看有無lbacsys的用戶,如無,則無安裝Oracle Label Security模塊
2)查看是否創(chuàng)建策略:select policy_name,statusfrom DBA_SA_POLICIES
3)查看標(biāo)簽創(chuàng)建情況:select * fromdba_sa_lables;
g)應(yīng)依據(jù)安全策略嚴(yán)格控制用戶對有敏感標(biāo)記重要信息資源的操作;
測評方法及步驟:
登錄sqlplus,查看用戶的標(biāo)簽
select * fromdba_sa_lables
select * fromdba_sa_tables_policies;可讓管理員演示選擇特定的用戶和表進(jìn)行驗(yàn)證敏感標(biāo)記功能是否正確;
安全審計(jì)
a)審計(jì)范圍應(yīng)覆蓋到服務(wù)器和重要客戶端上的每個(gè)數(shù)據(jù)庫用戶;
測評方法及步驟:
檢查并記錄數(shù)據(jù)庫操作審計(jì)的配置策略
show parametersaudit;查看數(shù)據(jù)庫審計(jì)的目錄及審計(jì)是否開啟,審計(jì)級別
1.windows中打開Oracle客戶端管理控制臺(Enterprise Manager Console)
2.添加被評估數(shù)據(jù)庫的連接信息,使用sys或system用戶登錄數(shù)據(jù)庫
3.在左側(cè)菜單欄中打開“例程”,選中“配置”欄,再選擇“一般信息”頁面,點(diǎn)擊“所有初始化參數(shù)”
4.在彈出的界面中,查看“audit_trail”參數(shù)行的設(shè)置,如實(shí)記錄該原始數(shù)據(jù)或拷屏。如果為linux系統(tǒng)執(zhí)行show parameters audit_trail;查看是否開啟審計(jì)功能
5.進(jìn)行管理員和一般用戶登錄登出,查看審計(jì)日志是否能正確記錄
6.以上條件不滿足時(shí),詢問管理員是否有第三方數(shù)據(jù)庫審計(jì)軟件;
b)審計(jì)內(nèi)容應(yīng)包括重要用戶行為、系統(tǒng)資源的異常使用和重要系統(tǒng)命令的使用等系統(tǒng)內(nèi)重要的安全相關(guān)事件;
測評方法及步驟:
查看AUDIT_TRAIL的值為NONE為關(guān)閉審計(jì)功能,audit_sys_operations為YES審計(jì)系統(tǒng)重要操作;
c)審計(jì)記錄應(yīng)包括事件的日期、時(shí)間、類型、主體標(biāo)識、客體標(biāo)識和結(jié)果等;
測評方法及步驟:
select * fromsys.aud$,select * fromdba_audit_trail,記錄審計(jì)記錄中事件的日期、時(shí)間、類型、主體標(biāo)識、客體標(biāo)識和結(jié)果等記錄情況;
d)應(yīng)能根據(jù)記錄數(shù)據(jù)進(jìn)行分析,并生產(chǎn)審計(jì)報(bào)表;
測評方法及步驟:
詢問管理員是否安裝并使用了oracle audit vault等日志分析工具并查看相關(guān)報(bào)表,或者是否采用了第三方數(shù)據(jù)庫審計(jì)軟件以及具有報(bào)表功能并定期生成報(bào)表;
e)應(yīng)保護(hù)審計(jì)進(jìn)程,避免受到未預(yù)期的中斷;
測評方法及步驟:
詢問是否嚴(yán)格限制數(shù)據(jù)庫管理員權(quán)限,系統(tǒng)管理員能否進(jìn)行與審計(jì)相關(guān)的操作。用戶可以通過alter system set audit_trail='NONE' scope=spfile;,查看是否成功;
f)應(yīng)保護(hù)審計(jì)記錄,避免受到未預(yù)期的刪除、修改或覆蓋等;
測評方法及步驟:
詢問數(shù)據(jù)庫管理員,是否嚴(yán)格限制用戶訪問審計(jì)記錄的權(quán)限,如采用audit vault等,或者第三方審計(jì)系統(tǒng),并檢查是否定期對審計(jì)日志做備份;
資源控制
a)應(yīng)通過設(shè)定終端接入方式、網(wǎng)絡(luò)地址范圍等條件限制終端登錄;
測評方法及步驟:
方法一:人工審計(jì)
1.以文本文件的方式,打開操作系統(tǒng)中的數(shù)據(jù)庫服務(wù)配置文件“SQLNET.ORA”(數(shù)據(jù)庫目錄下的NETWORK\ADMIN\)
查看是否存在如下內(nèi)容
tcp.validnode_checking=YES
tcp.excluded_nodes=
tcp.invited_nodes=,如存在則對IP地址進(jìn)行了限制
3.如實(shí)記錄該原始數(shù)據(jù)或拷屏
4.如果沒有在數(shù)據(jù)庫系統(tǒng)上進(jìn)行配置,詢問是否在防火墻或者其他網(wǎng)絡(luò)設(shè)備/安全設(shè)備上進(jìn)行了相關(guān)的配置;
方法一:人工審計(jì)
1.以文本文件的方式,打開操作系統(tǒng)中的數(shù)據(jù)庫服務(wù)配置文件“l(fā)istener.ora”;
2.查看“ADMIN_RESTRICTIONS_listener_name=”的設(shè)置(此項(xiàng)設(shè)置為防止對oracle listener的未經(jīng)授權(quán)的管理,需要),如實(shí)記錄該原始數(shù)據(jù)或拷屏,如為ON則符合,不存在則不符合;
b)應(yīng)根據(jù)安全策略設(shè)置登錄終端的操作超時(shí)鎖定;
測評方法及步驟:
查看空閑超時(shí)設(shè)置,selectlimit from dba_profiles where resource_name='IDLE_TIME'.查看超時(shí)設(shè)置,并記錄或查看系統(tǒng)概要文件;
c)應(yīng)限制單個(gè)用戶對系統(tǒng)資源的最大或最小使用限度;
測評方法及步驟:
執(zhí)行命令,查看用戶使用的profile,select username,profile fromdba_users,查看其限制,set lines 300
查看默認(rèn)用戶的并行會話數(shù)和CPU使用時(shí)間
select limitfrom dba_profiles where profile='DEFAULT';,或CPU_PER_SESSION,IDLE_TIME,'SESSIONS_PER_USER'等各設(shè)置
下面是全部可用的參數(shù):
SESSIONS_PER_USER 每個(gè)用戶名所允許的并行會話數(shù)
CPU_PER_SESSION 一個(gè)會話一共可以使用的CPU時(shí)間,單位是百分之一秒
CPU_PER_CALL 一次SQL調(diào)用(解析、執(zhí)行和獲?。┰试S使用的CPU時(shí)間
CONNECT_TIME 限制會話連接時(shí)間,單位是分鐘
IDLE_TIME 允許空閑會話的時(shí)間,單位是分鐘
LOGICAL_READS_PER_SESSION 限制會話對數(shù)據(jù)塊的讀取,單位是塊
LOGICAL_READS_PER_CALL 限制SQL調(diào)用對數(shù)據(jù)塊的讀取,單位是塊
COMPOSITE_LIMIT “組合打法”
PRIVATE_SGA 限制會話在SGA中Shared Pool中私有空間的分配;