RM新时代国际平台

  • <div id="r605l"></div>
      1. <th id="r605l"></th>
      2. DBA日記之Oracle數(shù)據(jù)庫運(yùn)維安全規(guī)范

        本規(guī)范明確了Oracle數(shù)據(jù)庫安全配置方面的基本要求。

        縮寫

        英文描述

        中文描述

        DBA

        Database Administrator

        數(shù)據(jù)庫管理員

        本規(guī)范所指的設(shè)備為ORACLE數(shù)據(jù)庫。本規(guī)范提出的安全配置要求,在未特別說明的情況下,均適用于ORACLE數(shù)據(jù)庫。

        本規(guī)范從ORACLE數(shù)據(jù)庫的認(rèn)證授權(quán)功能、安全日志功能,和其他自身安全配置功能提出安全要求。

        ORACLE應(yīng)提供賬號管理及認(rèn)證授權(quán)功能,并應(yīng)滿足以下各項(xiàng)要求。

        要求內(nèi)容

        應(yīng)按照用戶分配賬號,避免不同用戶間共享賬號。

        操作指南

        1、 參考配置操作

        create user abc1 identified by password1;

        create user abc2 identified by password2;

        建立role,并給role授權(quán),把role賦給不同的用戶

        2、 補(bǔ)充操作說明

        1、abc1和abc2是兩個(gè)不同的賬號名稱,可根據(jù)不同用戶,取不同的名稱;

        檢測方法

        3、 判定條件

        不同名稱的用戶可以連接數(shù)據(jù)庫

        4、 檢測操作

        connect abc1/password1連接數(shù)據(jù)庫成功

        5、補(bǔ)充說明

        要求內(nèi)容

        應(yīng)刪除或鎖定與數(shù)據(jù)庫運(yùn)行、維護(hù)等工作無關(guān)的賬號。

        操作指南

        1、 參考配置操作

        alter user username lock;

        drop user username cascade;

        2、 補(bǔ)充操作說明

        檢測方法

        3、 判定條件

        首先鎖定不需要的用戶

        在經(jīng)過一段時(shí)間后,確認(rèn)該用戶對業(yè)務(wù)確無影響的情況下,可以刪除

        4、檢測操作

        5、補(bǔ)充說明

        要求內(nèi)容

        限制具備數(shù)據(jù)庫超級管理員(SYSDBA)權(quán)限的用戶遠(yuǎn)程登錄。

        操作指南

        1、參考配置操作

        1. 在spfile中設(shè)置REMOTE_LOGIN_PASSWORDFILE=NONE來禁止SYSDBA用戶從遠(yuǎn)程登陸。

        2. 在sqlnet.ora中設(shè)置

        SQLNET.AUTHENTICATION_SERVICES=NONE來禁用 SYSDBA 角色的自動(dòng)登錄。

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        1. 不能通過Sql*Net遠(yuǎn)程以SYSDBA用戶連接到數(shù)據(jù)庫。

        2. 在數(shù)據(jù)庫主機(jī)上以sqlplus ‘/as sysdba’連接到數(shù)據(jù)庫需要輸入口令。

        4、檢測操作

        1. 以O(shè)racle用戶登陸到系統(tǒng)中。

        2. 以sqlplus ‘/as sysdba’登陸到sqlplus環(huán)境中。

        3. 使用show parameter命令來檢查參數(shù)REMOTE_LOGIN_PASSWORDFILE是否設(shè)置為NONE。

        Show parameter REMOTE_LOGIN_PASSWORDFILE

        4. 檢查在$

        ORACLE_HOME/network/admin/sqlnet.ora文件中參數(shù)

        SQLNET.AUTHENTICATION_SERVICES是否被設(shè)置成NONE。

        5、補(bǔ)充說明

        要求內(nèi)容

        在數(shù)據(jù)庫權(quán)限配置能力內(nèi),根據(jù)用戶的業(yè)務(wù)需要,配置其所需的最小權(quán)限。

        操作指南

        1、 參考配置操作

        grant 權(quán)限 to username;

        revoke 權(quán)限 from username;

        2、 補(bǔ)充操作說明

        用第一條命令給用戶賦相應(yīng)的最小權(quán)限

        用第二條命令收回用戶多余的權(quán)限

        檢測方法

        3、 判定條件

        業(yè)務(wù)測試正常

        4、 檢測操作

        業(yè)務(wù)測試正常

        5、補(bǔ)充說明

        要求內(nèi)容

        使用數(shù)據(jù)庫角色(ROLE)來管理對象的權(quán)限。

        操作指南

        1、參考配置操作

        1. 使用Create Role命令創(chuàng)建角色。

        2. 使用用Grant命令將相應(yīng)的系統(tǒng)、對象或Role的權(quán)限賦予應(yīng)用用戶。

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        對應(yīng)用用戶不要賦予DBA Role或不必要的權(quán)限。

        4、檢測操作

        1. 以DBA用戶登陸到sqlplus中。

        2. 通過查詢dba_role_privs、dba_sys_privs和dba_tab_privs等視圖來檢查是否使用ROLE來管理對象權(quán)限。

        5、補(bǔ)充說明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

        可通過下面類似命令來創(chuàng)建profile,并把它賦予一個(gè)用戶

        CREATE PROFILE app_user2 LIMIT

        FAILED_LOGIN_ATTEMPTS 6

        PASSWORD_LIFE_TIME 60

        PASSWORD_REUSE_TIME 60

        PASSWORD_REUSE_MAX 5

        PASSWORD_VERIFY_FUNCTION verify_function

        PASSWORD_LOCK_TIME 1/24

        PASSWORD_GRACE_TIME 90;

        ALTER USER jd PROFILE app_user2;

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        1. 可通過設(shè)置profile來限制數(shù)據(jù)庫賬戶口令的復(fù)雜程度,口令生存周期和賬戶的鎖定方式等。

        2. 可通過設(shè)置profile來限制數(shù)據(jù)庫賬戶的CPU資源占用。

        4、檢測操作

        1. 以DBA用戶登陸到sqlplus中。

        2. 查詢視圖dba_profiles和dba_usres來檢查profile是否創(chuàng)建。

        5、補(bǔ)充說明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

        通過設(shè)置下面初始化參數(shù)來限制只有SYSDBA權(quán)限的用戶才能訪問數(shù)據(jù)字典。

        O7_DICTIONARY_ACCESSIBILITY = FALSE

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        以普通dba用戶登陸到數(shù)據(jù)庫,不能查看X$開頭的表,比如:

        select * from sys. x$ksppi;

        4、檢測操作

        1. 以O(shè)racle用戶登陸到系統(tǒng)中。

        2. 以sqlplus ‘/as sysdba’登陸到sqlplus環(huán)境中。

        3. 使用show parameter命令來檢查參數(shù)

        O7_DICTIONARY_ACCESSIBILITY是否設(shè)置為FALSE。

        Show parameter O7_DICTIONARY_ACCESSIBILITY

        5、補(bǔ)充說明

        要求內(nèi)容

        對于采用靜態(tài)口令進(jìn)行認(rèn)證的數(shù)據(jù)庫,口令長度至少6位,并包括數(shù)字、小寫字母、大寫字母和特殊符號4類中至少2類。

        操作指南

        1、 參考配置操作

        為用戶建profile,調(diào)整PASSWORD_VERIFY_FUNCTION,指定密碼復(fù)雜度

        2、 補(bǔ)充操作說明

        檢測方法

        3、 判定條件

        修改密碼為不符合要求的密碼,將失敗

        4、 檢測操作

        alter user abcd1 identified by abcd1;將失敗

        5、補(bǔ)充說明

        要求內(nèi)容

        對于采用靜態(tài)口令認(rèn)證技術(shù)的數(shù)據(jù)庫,賬戶口令的生存期不長于90天。

        操作指南

        1、 參考配置操作

        為用戶建相關(guān)profile,指定PASSWORD_GRACE_TIME為90天

        2、 補(bǔ)充操作說明

        在90天內(nèi),需要修改密碼

        檢測方法

        3、 判定條件

        到期不修改密碼,密碼將會(huì)失效。連接數(shù)據(jù)庫將不會(huì)成功

        4、 檢測操作

        connect username/password報(bào)錯(cuò)

        5、補(bǔ)充說明

        要求內(nèi)容

        對于采用靜態(tài)口令認(rèn)證技術(shù)的數(shù)據(jù)庫,應(yīng)配置數(shù)據(jù)庫,使用戶不能重復(fù)使用最近5次(含5次)內(nèi)已使用的口令。

        操作指南

        1、 參考配置操作

        為用戶建profile,指定PASSWORD_REUSE_MAX為5

        2、 補(bǔ)充操作說明

        當(dāng)前使用的密碼,必需在密碼修改5次后才能再次被使用

        檢測方法

        3、 判定條件

        重用修改5次內(nèi)的密碼,將不能成功

        4、 檢測操作

        alter user username identified by password1;如果password1在5次修改密碼內(nèi)被使用,該操作將不能成功

        5、補(bǔ)充說明

        要求內(nèi)容

        對于采用靜態(tài)口令認(rèn)證技術(shù)的數(shù)據(jù)庫,應(yīng)配置當(dāng)用戶連續(xù)認(rèn)證失敗次數(shù)超過6次(不含6次),鎖定該用戶使用的賬號。

        操作指南

        1、 參考配置操作

        為用戶建profile,指定FAILED_LOGIN_ATTEMPTS為6

        2、 補(bǔ)充操作說明

        如果連續(xù)6次連接該用戶不成功,用戶將被鎖定

        檢測方法

        3、 判定條件

        連續(xù)6次用錯(cuò)誤的密碼連接用戶,第7次時(shí)用戶將被鎖定

        4、 檢測操作

        connect username/password,連續(xù)6次失敗,用戶被鎖定

        5、補(bǔ)充說明

        要求內(nèi)容

        更改數(shù)據(jù)庫默認(rèn)帳號的密碼。

        操作指南

        1、參考配置操作

        1. 可通過下面命令來更改默認(rèn)用戶的密碼:

        ALTER USER XXX IDENTIFIED BY XXX;

        2. 下面是默認(rèn)用戶列表:

        ANONYMOUS

        CTXSYS

        DBSNMP

        DIP

        DMSYS

        EXFSYS

        HR

        LBACSYS

        MDDATA

        MDSYS

        MGMT_VIEW

        ODM

        ODM_MTR

        OE

        OLAPSYS

        ORDPLUGINS

        ORDSYS

        OUTLN

        PM

        QS

        QS_ADM

        QS_CB

        QS_CBADM

        QS_CS

        QS_ES

        QS_OS

        QS_WS

        RMAN

        SCOTT

        SH

        SI_INFORMTN_SCHEMA

        SYS

        SYSMAN

        SYSTEM

        TSMSYS

        WK_TEST

        WKPROXY

        WKSYS

        WMSYS

        XDB

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        不能以用戶名作為密碼或使用默認(rèn)密碼的賬戶登陸到數(shù)據(jù)庫。

        4、檢測操作

        1. 以DBA用戶登陸到sqlplus中。

        2. 檢查數(shù)據(jù)庫默認(rèn)賬戶是否使用了用戶名作為密碼或默認(rèn)密碼。

        5、補(bǔ)充說明

        要求內(nèi)容

        Oracle軟件賬戶的訪問控制可遵循操作系統(tǒng)賬戶的安全策略,比如不要共享賬戶、強(qiáng)制定期修改密碼、密碼需要有一定的復(fù)雜度等。

        操作指南

        1、參考配置操作

        使用操作系統(tǒng)一級的賬戶安全管理來保護(hù)Oracle軟件賬戶。

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        每3個(gè)月自動(dòng)提示更改密碼,過期后不能登陸。

        4、檢測操作

        每3個(gè)月強(qiáng)制修改Oracle軟件賬戶密碼,并且密碼需要滿足一定的復(fù)雜程度,符合操作系統(tǒng)的密碼要求。

        5、補(bǔ)充說明

        要求內(nèi)容

        數(shù)據(jù)庫應(yīng)配置日志功能,對用戶登錄進(jìn)行記錄,記錄內(nèi)容包括用戶登錄使用的賬號、登錄是否成功、登錄時(shí)間以及遠(yuǎn)程登錄時(shí)用戶使用的IP地址。

        操作指南

        1、 參考配置操作

        創(chuàng)建ORACLE登錄觸發(fā)器,記錄相關(guān)信息,但對IP地址的記錄會(huì)有困難

        檢測方法

        2、 判定條件

        登錄測試,檢查相關(guān)信息是否被記錄

        3、檢測操作

        4、 補(bǔ)充說明

        觸發(fā)器與AUDIT會(huì)有相應(yīng)資源開消,請檢查系統(tǒng)資源是否充足。特別是RAC環(huán)境,資源消耗較大。

        要求內(nèi)容

        數(shù)據(jù)庫應(yīng)配置日志功能,記錄用戶對數(shù)據(jù)庫的操作,包括但不限于以下內(nèi)容:賬號創(chuàng)建、刪除和權(quán)限修改、口令修改、讀取和修改數(shù)據(jù)庫配置、讀取和修改業(yè)務(wù)用戶的話費(fèi)數(shù)據(jù)、身份數(shù)據(jù)、涉及通信隱私數(shù)據(jù)。記錄需要包含用戶賬號,操作時(shí)間,操作內(nèi)容以及操作結(jié)果。

        操作指南

        1、 參考配置操作

        創(chuàng)建ORACLE DDL觸發(fā)器,記錄相關(guān)信息,但對IP地址的記錄會(huì)有困難

        2、補(bǔ)充操作說明

        檢測方法

        2、 判定條件

        做相關(guān)操作,檢查是否記錄成功

        4、檢測操作

        5、 補(bǔ)充說明

        觸發(fā)器與AUDIT會(huì)有相應(yīng)資源開消,請檢查系統(tǒng)資源是否充足。特別是RAC環(huán)境,資源消耗較大。

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

        1. 通過設(shè)置參數(shù)audit_trail = db或os來打開數(shù)據(jù)庫審計(jì)。

        2. 然后可使用Audit命令對相應(yīng)的對象進(jìn)行審計(jì)設(shè)置。

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        對審計(jì)的對象進(jìn)行一次數(shù)據(jù)庫操作,檢查操作是否被記錄。

        4、檢測操作

        1. 檢查初始化參數(shù)audit_trail是否設(shè)置。

        2. 檢查dba_audit_trail視圖中或$ORACLE_BASE/admin/adump目錄下是否有數(shù)據(jù)。

        5、 補(bǔ)充說明

        AUDIT會(huì)有相應(yīng)資源開消,請檢查系統(tǒng)資源是否充足。特別是RAC環(huán)境,資源消耗較大。

        要求內(nèi)容

        使用Oracle提供的Data Vault選件來限制有DBA權(quán)限的用戶訪問敏感數(shù)據(jù)。

        操作指南

        1、參考配置操作

        Oracle Data Vault是作為數(shù)據(jù)庫安全解決方案的一個(gè)單獨(dú)選件,主要功能是將數(shù)據(jù)庫管理賬戶的權(quán)限和應(yīng)用數(shù)據(jù)訪問的權(quán)限分開, Data Vault可限制有DBA權(quán)限的用戶訪問敏感數(shù)據(jù)。設(shè)置比較復(fù)雜,具體細(xì)節(jié)請參考Oracle文檔。

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        以DBA用戶登陸,不能查詢其它用戶下面的數(shù)據(jù)。

        4、檢測操作

        1. 在視圖dba_users中查詢是否存在dvsys用戶。

        2. 在視圖dba_objects中檢查是否存在dbms_macadm對象。

        5、補(bǔ)充說明

        要求內(nèi)容

        為數(shù)據(jù)庫監(jiān)聽器(LISTENER)的關(guān)閉和啟動(dòng)設(shè)置密碼。

        操作指南

        1、參考配置操作

        通過下面命令設(shè)置密碼:

        $ lsnrctl

        LSNRCTL> change_password

        Old password: Not displayed

        New password: Not displayed

        Reenter new password: Not displayed

        Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=prolin1)(PORT=1521)(IP=FIRST)))

        Password changed for LISTENER

        The command completed successfully

        LSNRCTL> save_config

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        使用lsnrctl start或lsnrctl stop命令起停listener需要密碼

        4、檢測操作

        檢查$

        ORACLE_HOME/network/admin/listener.ora文件中是否設(shè)置參數(shù)PASSWORDS_LISTENER。

        5、補(bǔ)充說明

        要求內(nèi)容

        設(shè)置只有信任的IP地址才能通過監(jiān)聽器訪問數(shù)據(jù)庫。

        操作指南

        1、參考配置操作

        只需在服務(wù)器上的文件$

        ORACLE_HOME/network/admin/sqlnet.ora中設(shè)置以下行:

        tcp.validnode_checking = yes

        tcp.invited_nodes = (ip1,ip2…)

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        在非信任的客戶端以數(shù)據(jù)庫賬戶登陸被提示拒絕。

        4、檢測操作

        檢查$

        ORACLE_HOME/network/admin/sqlnet.ora文件中是否設(shè)置參數(shù)tcp.validnode_checking和tcp.invited_nodes。

        5、補(bǔ)充說明

        要求內(nèi)容

        使用Oracle提供的高級安全選件來加密客戶端與數(shù)據(jù)庫之間或中間件與數(shù)據(jù)庫之間的網(wǎng)絡(luò)傳輸數(shù)據(jù)。

        操作指南

        1、參考配置操作

        1. 在Oracle Net Manager中選擇“Oracle Advanced Security”。

        2. 然后選擇Encryption。

        3. 選擇Client或Server選項(xiàng)。

        4. 選擇加密類型。

        5. 輸入加密種子(可選)。

        6. 選擇加密算法(可選)。

        7. 保存網(wǎng)絡(luò)配置,sqlnet.ora被更新。

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        通過網(wǎng)絡(luò)層捕獲的數(shù)據(jù)庫傳輸包為加密包。

        4、檢測操作

        檢查$

        ORACLE_HOME/network/admin/sqlnet.ora文件中是否設(shè)置sqlnet.encryption等參數(shù)。

        5、補(bǔ)充說明

        要求內(nèi)容

        在某些應(yīng)用環(huán)境下可設(shè)置數(shù)據(jù)庫連接超時(shí),比如數(shù)據(jù)庫將自動(dòng)斷開超過10分鐘的空閑遠(yuǎn)程連接。

        操作指南

        1、參考配置操作

        在sqlnet.ora中設(shè)置下面參數(shù):

        SQLNET.EXPIRE_TIME=10

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        10分鐘以上的無任何操作的空閑數(shù)據(jù)庫連接被自動(dòng)斷開

        4、檢測操作

        檢查$

        ORACLE_HOME/network/admin/sqlnet.ora文件中是否設(shè)置參數(shù)SQLNET.EXPIRE_TIME。

        5、補(bǔ)充說明

        要求內(nèi)容

        限制在DBA組中的操作系統(tǒng)用戶數(shù)量,通常DBA組中只有Oracle安裝用戶。

        操作指南

        1、參考配置操作

        通過/etc/passwd文件來檢查是否有其它用戶在DBA組中。

        2、補(bǔ)充操作說明

        檢測方法

        3、判定條件

        無其它用戶屬于DBA組。

        4、檢測操作

        通過/etc/passwd文件來檢查是否有其它用戶在DBA組中。


        下一篇:DBA最好的“枕邊故事”丨真實(shí)世界Oracle故障診斷之一千零一夜
        RM新时代国际平台
      3. <div id="r605l"></div>
          1. <th id="r605l"></th>
          2. <div id="r605l"></div>
              1. <th id="r605l"></th>
              2. 新时代RM|国际平台 新时代软件下载 RM新时代官网网址 rm新时代是正规平台 新时代rm平台入口