RM新时代国际平台

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

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

        縮寫(xiě)

        英文描述

        中文描述

        DBA

        Database Administrator

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

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

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

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

        要求內(nèi)容

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

        操作指南

        1、 參考配置操作

        create user abc1 identified by password1;

        create user abc2 identified by password2;

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

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

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

        檢測(cè)方法

        3、 判定條件

        不同名稱(chēng)的用戶(hù)可以連接數(shù)據(jù)庫(kù)

        4、 檢測(cè)操作

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、 參考配置操作

        alter user username lock;

        drop user username cascade;

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

        檢測(cè)方法

        3、 判定條件

        首先鎖定不需要的用戶(hù)

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

        4、檢測(cè)操作

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

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

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

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

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

        檢測(cè)方法

        3、判定條件

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

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

        4、檢測(cè)操作

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

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

        3. 使用show parameter命令來(lái)檢查參數(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ǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、 參考配置操作

        grant 權(quán)限 to username;

        revoke 權(quán)限 from username;

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

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

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

        檢測(cè)方法

        3、 判定條件

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

        4、 檢測(cè)操作

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

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

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

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

        檢測(cè)方法

        3、判定條件

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

        4、檢測(cè)操作

        1. 以DBA用戶(hù)登陸到sqlplus中。

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

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

        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ǔ)充操作說(shuō)明

        檢測(cè)方法

        3、判定條件

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

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

        4、檢測(cè)操作

        1. 以DBA用戶(hù)登陸到sqlplus中。

        2. 查詢(xún)視圖dba_profiles和dba_usres來(lái)檢查profile是否創(chuàng)建。

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

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

        O7_DICTIONARY_ACCESSIBILITY = FALSE

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

        檢測(cè)方法

        3、判定條件

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

        select * from sys. x$ksppi;

        4、檢測(cè)操作

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

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

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

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

        Show parameter O7_DICTIONARY_ACCESSIBILITY

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、 參考配置操作

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

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

        檢測(cè)方法

        3、 判定條件

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

        4、 檢測(cè)操作

        alter user abcd1 identified by abcd1;將失敗

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、 參考配置操作

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

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

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

        檢測(cè)方法

        3、 判定條件

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

        4、 檢測(cè)操作

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、 參考配置操作

        為用戶(hù)建profile,指定PASSWORD_REUSE_MAX為5

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

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

        檢測(cè)方法

        3、 判定條件

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

        4、 檢測(cè)操作

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、 參考配置操作

        為用戶(hù)建profile,指定FAILED_LOGIN_ATTEMPTS為6

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

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

        檢測(cè)方法

        3、 判定條件

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

        4、 檢測(cè)操作

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

        1. 可通過(guò)下面命令來(lái)更改默認(rèn)用戶(hù)的密碼:

        ALTER USER XXX IDENTIFIED BY XXX;

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

        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ǔ)充操作說(shuō)明

        檢測(cè)方法

        3、判定條件

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

        4、檢測(cè)操作

        1. 以DBA用戶(hù)登陸到sqlplus中。

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

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

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

        檢測(cè)方法

        3、判定條件

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

        4、檢測(cè)操作

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、 參考配置操作

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

        檢測(cè)方法

        2、 判定條件

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

        3、檢測(cè)操作

        4、 補(bǔ)充說(shuō)明

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

        要求內(nèi)容

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

        操作指南

        1、 參考配置操作

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

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

        檢測(cè)方法

        2、 判定條件

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

        4、檢測(cè)操作

        5、 補(bǔ)充說(shuō)明

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

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

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

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

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

        檢測(cè)方法

        3、判定條件

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

        4、檢測(cè)操作

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

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

        5、 補(bǔ)充說(shuō)明

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

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

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

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

        檢測(cè)方法

        3、判定條件

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

        4、檢測(cè)操作

        1. 在視圖dba_users中查詢(xún)是否存在dvsys用戶(hù)。

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

        通過(guò)下面命令設(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ǔ)充操作說(shuō)明

        檢測(cè)方法

        3、判定條件

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

        4、檢測(cè)操作

        檢查$

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

        設(shè)置只有信任的IP地址才能通過(guò)監(jiān)聽(tīng)器訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。

        操作指南

        1、參考配置操作

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

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

        tcp.validnode_checking = yes

        tcp.invited_nodes = (ip1,ip2…)

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

        檢測(cè)方法

        3、判定條件

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

        4、檢測(cè)操作

        檢查$

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

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

        2. 然后選擇Encryption。

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

        4. 選擇加密類(lèi)型。

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

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

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

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

        檢測(cè)方法

        3、判定條件

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

        4、檢測(cè)操作

        檢查$

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

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

        SQLNET.EXPIRE_TIME=10

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

        檢測(cè)方法

        3、判定條件

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

        4、檢測(cè)操作

        檢查$

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

        5、補(bǔ)充說(shuō)明

        要求內(nèi)容

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

        操作指南

        1、參考配置操作

        通過(guò)/etc/passwd文件來(lái)檢查是否有其它用戶(hù)在DBA組中。

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

        檢測(cè)方法

        3、判定條件

        無(wú)其它用戶(hù)屬于DBA組。

        4、檢測(cè)操作

        通過(guò)/etc/passwd文件來(lái)檢查是否有其它用戶(hù)在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平台入口