oracle數(shù)據(jù)庫系統(tǒng)加固規(guī)范[技術學習]_第1頁
oracle數(shù)據(jù)庫系統(tǒng)加固規(guī)范[技術學習]_第2頁
oracle數(shù)據(jù)庫系統(tǒng)加固規(guī)范[技術學習]_第3頁
oracle數(shù)據(jù)庫系統(tǒng)加固規(guī)范[技術學習]_第4頁
oracle數(shù)據(jù)庫系統(tǒng)加固規(guī)范[技術學習]_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Oracle 數(shù)據(jù)庫系統(tǒng)加固規(guī)范2010 年 9 月互聯(lián)網絡3.1.1 SHG-Oracle-03-01-01 . 253.1.2 SHG-Oracle-03-01-02 . 264 設備其他安全要求 . 284.1.1 SHG-Oracle-04-01-01 . 284.1.2 SHG-Oracle-04-01-02 . 291賬號管理、認證授權1.1 賬號1.1.1 SHG-Oracle-01-01-01編號SHG-Oracle-01-01-01名稱為不同的管理員分配不同的賬號實施目的應按照用戶分配賬號,避免不同用戶間共享賬號,提高安全性。問題影響賬號混淆,權限不明確,存在用戶越權使用的可

2、能。系統(tǒng)當前狀態(tài)select * from all_users;select * from dba_users;記錄用戶列表實施步驟1、參考配置操作create user abc1 identified by password1;create user abc2 identified by password2;建立 role,并給 role 授權,把 role 賦給不同的用戶2、 補充操作說明1、abc1 和 abc2 是兩個不同的賬號名稱,可根據(jù)不同用戶, 取不同的名稱;回退方案刪除用戶:例如創(chuàng)建了一個用戶 A,要刪除它可以這樣做connect sys/密碼 as sysdba;drop u

3、ser A cascade;/就這樣用戶就被刪除了判斷依據(jù)標記用戶用途,定期建立用戶列表,比較是否有非法用戶實施風險高重要等級備注1.1.2 SHG-Oracle-01-01-02編號SHG-Oracle-01-01-02名稱刪除或鎖定無效賬號實施目的刪除或鎖定無效的賬號,減少系統(tǒng)安全隱患。問題影響允許非法利用系統(tǒng)默認賬號系統(tǒng)當前狀態(tài)select * from all_users;select * from dba_users;記錄用戶列表實施步驟1、參考配置操作alter user username lock;/鎖定用戶drop user username cascade;/刪除用戶回退方案

4、刪除新增加的帳戶判斷依據(jù)首先鎖定不需要的用戶 在經過一段時間后,確認該用戶對業(yè)務確無影響的情況下,可以刪除實施風險高重要等級備注1.1.3 SHG-Oracle-01-01-03編號SHG-Oracle-01-01-03名稱限制超級管理員遠程登錄實施目的限制具備數(shù)據(jù)庫超級管理員(SYSDBA)權限的用戶遠程登錄。問題影響允許數(shù)據(jù)庫超級管理員遠程非法登陸系統(tǒng)當前狀態(tài)查看 spfile,sqlnet.ora 內容實施步驟1、參考配置操作在 spfile 中設置 REMOTE_LOGIN_PASSWORDFILE=NONE 來禁止 SYSDBA 用 戶 從 遠 程 登 陸 。 在 sqlnet.or

5、a 中設置 SQLNET.AUTHENTICATION_SERVICES=NONE 來禁用 SYSDBA 角 色的自動登錄。回退方案還原 spfile,sqlnet.ora 文件配置判斷依據(jù)判定條件1. 不能通過 Sql*Net 遠程以 SYSDBA 用戶連接到數(shù)據(jù)庫。2. 在數(shù)據(jù)庫主機上以 sqlplus /as sysdba連接到數(shù)據(jù)庫需要輸入口令。檢測操作1. 以 Oracle 用戶登陸到系統(tǒng)中。2. 以 sqlplus /as sysdba登陸到 sqlplus 環(huán)境中。3. 使 用 show parameter 命 令 來 檢 查 參 數(shù)REMOTE_LOGIN_PASSWORDFI

6、LE 是否設置為 NONE。Show parameter REMOTE_LOGIN_PASSWORDFILE4. 檢查在$ORACLE_HOME/network/admin/sqlnet.ora文件中參數(shù) SQLNET.AUTHENTICATION_SERVICES 是否被設置成 NONE。實施風險高重要等級備注1.1.4 SHG-Oracle-01-01-04編號SHG-Oracle-01-01-04名稱權限最小化實施目的在數(shù)據(jù)庫權限配置能力內,根據(jù)用戶的業(yè)務需要,配置其所需的最小權限。問題影響賬號權限越大,對系統(tǒng)的威脅性越高系統(tǒng)當前狀態(tài)select * from user_sys_priv

7、s; select * from user_role_privs; select * from user_tab_privs; 記錄用戶擁有權限實施步驟1、 參考配置操作grant 權限 to username;revoke 權限 from username;2、 補充操作說明 用第一條命令給用戶賦相應的最小權限用第二條命令收回用戶多余的權限回退方案還原添加或刪除的權限判斷依據(jù)業(yè)務測試正常實施風險高重要等級備注1.1.5 SHG-Oracle-01-01-05編號SHG-Oracle-01-01-05名稱數(shù)據(jù)庫角色實施目的使用數(shù)據(jù)庫角色(ROLE)來管理對象的權限。問題影響賬號管理混亂系統(tǒng)當前

8、狀態(tài)select * from dba_role_privs;select * from user_role_privs;記錄用戶擁有的 role實施步驟一創(chuàng)建角色,修改角色1.創(chuàng)建角色,不指定密碼:create role testrole;2創(chuàng)建角色,指定密碼:create role testrole identified by passwd;3修改角色:alter role testrole identified by passwd;4. 給角色授予權限。Grant select on Table_name to testrole;把角色賦予用戶:(特別說明,授予角色不是實時的。如下:)g

9、rant testrole to User_Name;二、起用角色:給用戶賦予角色,角色并不會立即起作用。1角色不能立即起作用。必須下次斷開此次連接,下次連 接才能起作用。2. 或 者 執(zhí) 行 命 令 : 有 密 碼 的 角 色 set role testrole identified by passwd 立即生效;3無密碼的角色:set role testrole;回退方案刪除相應的 Rolerevoke role_name from user_name判斷依據(jù)對應用用戶不要賦予 DBA Role 或不必要的權限實施風險高重要等級備注1.1.6 SHG-Oracle-01-01-06編號SH

10、G-Oracle-01-01-06名稱用戶 profile實施目的對用戶的屬性進行控制,包括密碼策略、資源限制等。問題影響賬號安全性低.系統(tǒng)當前狀態(tài)SELECT profile FROM dba_users WHEREusername=user_name;記錄用戶賦予的 profile實施步驟可通過下面類似命令來創(chuàng)建 profile,并把它賦予一個用戶SQL show parameter resource_limit SQL alter system set resource_limit=true; CREATE PROFILE profile_name LIMITFAILED_LOGIN_A

11、TTEMPTS 6PASSWORD_LIFE_TIME 60PASSWORD_REUSE_TIME 60PASSWORD_REUSE_MAX 5PASSWORD_VERIFY_FUNCTION verify_functionPASSWORD_LOCK_TIME 1/24PASSWORD_GRACE_TIME 90;ALTER USER user_name PROFILE profile_name;回退方案alter user dinya profile default;恢復默認判斷依據(jù)1. 可通過設置 profile 來限制數(shù)據(jù)庫賬戶口令的復雜程度, 口令生存周期和賬戶的鎖定方式等。2. 可通

12、過設置 profile 來限制數(shù)據(jù)庫賬戶的 CPU 資源占用。4、檢測操作1. 以 DBA 用戶登陸到 sqlplus 中。2. 查詢視圖 dba_profiles 和 dba_usres 來檢查 profile 是 否創(chuàng)建。實施風險高重要等級備注1.1.7 SHG-Oracle-01-01-07編號 SHG-Oracle-01-01-07名稱數(shù)據(jù)字典保護實施目的啟用數(shù)據(jù)字典保護,只有 SYSDBA 用戶才能訪問數(shù)據(jù)字典基礎表。問題影響數(shù)據(jù)庫安全性低.系統(tǒng)當前狀態(tài)Show parameter O7_DICTIONARY_ACCESSIBILITY記錄當前狀態(tài)實施步驟通過設置下面初始化參數(shù)來限制

13、只有 SYSDBA 權限的用戶才 能訪問數(shù)據(jù)字典。alter system setO7_DICTIONARY_ACCESSIBILITY=FALSEscope=spfile;回退方案修改 O7_DICTIONARY_ACCESSIBILITY 為原來屬性判斷依據(jù)以普通用戶登陸到數(shù)據(jù)庫,不能查看 X$開頭的表,比如:select * from sys. x$ksppi;檢測操作1. 以 Oracle 用戶登陸到系統(tǒng)中。2. 以 sqlplus /as sysdba登陸到 sqlplus 環(huán)境中。3. 使用 show parameter 命令來檢查參數(shù) O7_DICTIONARY_ACCESSIB

14、ILITY 是否設置為 FALSE。 Showparameter O7_DICTIONARY_ACCESSIBILITY實施風險高重要等級備注1.1.8 SHG-Oracle-01-01-08編號SHG-Oracle-01-01-08名稱檢查 DBA 組用戶實施目的限制在 DBA 組中的操作系統(tǒng)用戶數(shù)量,通常 DBA 組中只有Oracle 安裝用戶。問題影響影響組用戶管理系統(tǒng)當前狀態(tài)Cat /etc/passwd實施步驟參考配置操作通過/etc/passwd 文件來檢查是否有其它用戶在 DBA 組中。 刪除用戶:#userdel username;鎖定用戶:1) 修改/etc/shadow 文

15、件,用戶名后加*LK*2) 將/etc/passwd 文件中的 shell 域設置成/bin/false3) #passwd -l username 只有具備超級用戶權限的使用者方可使用 ,#passwd -l username 鎖定用戶,用#passwd d username 解鎖后原有密 碼失效,登錄需輸入新密碼,修改/etc/shadow 能保留原有 密碼。回退方案還原/etc/passwd 文件判斷依據(jù)判定條件無其它用戶屬于 DBA 組。 檢測操作通過/etc/passwd 文件來檢查是否有其它用戶在 DBA 組中。實施風險高重要等級備注1.2 口令1.2.1 SHG-Oracle-0

16、1-02-01編號SHG-Oracle-01-02-01名稱缺省密碼長度復雜度限制實施目的對于采用靜態(tài)口令進行認證的數(shù)據(jù)庫,口令長度至少 6 位, 并包括數(shù)字、小寫字母、大寫字母和特殊符號 4 類中至少 2類。問題影響增加密碼被暴力破解的成功率系統(tǒng)當前狀態(tài)SELECT profile FROM dba_users WHERE username=user_name; 記錄用戶賦予的 profile實施步驟1、參考配置操作為用戶建 profile,調整 PASSWORD_VERIFY_FUNCTION,指定 密碼復雜度示例:SQLCREATE OR REPLACE FUNCTION my_pass

17、word_verify(username VARCHAR2 ,passwordVARCHAR2 ,old_password VARCHAR2 ) RETURN BOOLEANIS2 BEGIN3 IF LENGTH(password) create profile TEST_PROFILE limit2 password_verify_functionMY_PASSWORD_VERIFY;回退方案alter user user_name profile default;判斷依據(jù)1、 判定條件 修改密碼為不符合要求的密碼,將失敗2、 檢測操作alter user user_name identi

18、fied by passwd;將失敗實施風險低重要等級備注1.2.2 SHG-Oracle-01-02-02編號 SHG-Oracle-01-02-02名稱缺省密碼生存周期限制實施目的對于采用靜態(tài)口令認證技術的設備,帳戶口令的生存期不長于 90 天,減少口令安全隱患。問題影響密碼被非法利用,并且難以管理系統(tǒng)當前狀態(tài)SELECT profile FROM dba_users WHEREusername=user_name; 記錄用戶賦予的 profile實施步驟1、 參考配置操作為用戶建相關 profile,指定 PASSWORD_GRACE_TIME 為 90 天2、 補充操作說明在 90 天

19、內,需要修改密碼回退方案alter user user_name profile default;判斷依據(jù)3、 判定條件 到期不修改密碼,密碼將會失效。連接數(shù)據(jù)庫將不會成功4、 檢測操作connect username/password 報錯實施風險低重要等級備注1.2.3 SHG-Oracle-01-02-03編號SHG-Oracle-01-02-03名稱密碼重復使用限制實施目的對于采用靜態(tài)口令認證技術的設備,應配置設備,使用戶不能重復使用最近 5 次(含 5 次)內已使用的口令。問題影響密碼破解的幾率增加系統(tǒng)當前狀態(tài)SELECT profile FROM dba_users WHEREus

20、ername=user_name; 記錄用戶賦予的 profile實施步驟1、 參考配置操作為用戶建 profile,指定 PASSWORD_REUSE_MAX 為2、 補充操作說明 當前使用的密碼,必需在密碼修改次后才能再次被使用回退方案alter user user_name profile default;判斷依據(jù)3、 判定條件 重用修改次內的密碼,將不能成功4、 檢測操作alter user username identified by password1; 如果 password1 在次修改密碼內被使用,該操作將不能成功實施風險低重要等級備注編號SHG-Oracle-01-02-04

21、名稱密碼重試限制實施目的對于采用靜態(tài)口令認證技術的設備,應配置當用戶連續(xù)認證失敗次數(shù)超過 6 次(不含 6 次),鎖定該用戶使用的賬號。問題影響允許暴力破解密碼系統(tǒng)當前狀態(tài)SELECT profile FROM dba_users WHEREusername=user_name; 記錄用戶賦予的 profile實施步驟1、 參考配置操作為用戶建 profile,指定 FAILED_LOGIN_ATTEMPTS 為2、 補充操作說明 如果連續(xù)次連接該用戶不成功,用戶將被鎖定回退方案alter user user_name profile default;判斷依據(jù)3、 判定條件 連續(xù)次用錯誤的密碼

22、連接用戶,第次時用戶將被鎖定4、 檢測操作connect username/password,連續(xù)次失敗,用戶被鎖定實施風險中重要等級備注編號SHG-Oracle-01-02-05名稱修改默認密碼實施目的更改數(shù)據(jù)庫默認帳號的密碼。問題影響可能被破解密碼系統(tǒng)當前狀態(tài)詢問管理員賬號密碼,并記錄實施步驟參考配置操作1. 可通過下面命令來更改默認用戶的密碼:ALTER USER user_name IDENTIFIED BY passwd;2. 下面是默認用戶密碼列表:CTXSYS CTXSYS DBSNMP DBSNMP LBACSYS LBACSYS MDDATA MDDATA MDSYS MDS

23、YS DMSYS DMSYS OLAPSYS MANAGERORDPLUGINS ORDPLUGINS ORDSYS ORDSYSOUTLN OUTLNSI_INFORMTN_SCHEMA SI_INFORMTN_SCHEMA SYS CHANGE_ON_INSTALLSYSMAN CHANGE_ON_INSTALLSYSTEM MANAGER回退方案ALTER USER user_name IDENTIFIED BY passwd;判斷依據(jù)判定條件 不能以用戶名作為密碼或使用默認密碼的賬戶登陸到數(shù)據(jù) 庫。檢測操作1. 以 DBA 用戶登陸到 sqlplus 中。2. 檢查數(shù)據(jù)庫默認賬戶是否使

24、用了用戶名作為密碼或默認 密碼。實施風險中重要等級備注2日志配置2.1.1 SHG-Oracle-02-01-01編號SHG-Oracle-02-01-01名稱啟用日志記錄功能實施目的數(shù)據(jù)庫應配置日志功能,對用戶登錄進行記錄,記錄內容包 括用戶登錄使用的賬號、登錄是否成功、登錄時間以及遠程 登錄時用戶使用的 IP 地址。問題影響無法對用戶的登陸進行日志記錄系統(tǒng)當前狀態(tài)實施步驟create table login_log -登入登出信息表(session_id int not null, - sessionidlogin_on_time date, -登入時間login_off_time dat

25、e, -登出時間user_in_db varchar2(30), -登入的 db usermachine varchar2(20), - 機器名ip_address varchar2(20), - ip 地址run_program varchar2(20) - 以何程序登入);create or replace trigger login_on_info- 記錄登入信息的觸發(fā)器 after logon on database Begininsert into login_log(session_id,login_on_time,login_off_time,user_in_db,machine

26、,ip_address,run_program)selectAUDSID,sysdate,null,sys.login_user,machine,SYS_CO NTEXT(USERENV,IP_ADDRESS),programfrom v$session where AUDSID = USERENV(SESSIONID); -當前 SESSIONEND;create or replace trigger login_off_info -記錄登出信息的觸發(fā)器 before logoff on database Beginupdate login_log set login_off_time =s

27、ysdatewhere session_id = USERENV(SESSIONID);-當前 SESSIONexceptionwhen others then null;END;回退方案ALTER TRIGGER 名稱 DISABLE;drop trigger 名稱;判斷依據(jù)判定條件 登錄測試,檢查相關信息是否被記錄 補充說明觸發(fā)器與 AUDIT 會有相應資源開消,請檢查系統(tǒng)資源是否充足。特別是 RAC 環(huán)境,資源消耗較大。實施風險低重要等級備注2.1.2 SHG-Oracle-02-01-02編號SHG-Oracle-02-01-02名稱記錄用戶對設備的操作實施目的數(shù)據(jù)庫應配置日志功能,記

28、錄用戶對數(shù)據(jù)庫的操作問題影響無法對用戶的操作進行日志記錄系統(tǒng)當前狀態(tài)實施步驟create table employees_log( who varchar2(30), action varchar2(20); when date);create or replace trigger biud_employ_copy before insert or update or delete on employees_copydeclarel_action employees_log.action%type;beginif inserting then l_action:=insert;elsif up

29、dating thenl_action:=delete;elsif deleting then l_action:=update;elseraise_application_error(-2001,you shoule never ever get this error.);end if;insert into employees_log(who,action,when)values(user,l_action,sysdate);end biud_employ_copy;回退方案ALTER TRIGGER 名稱 DISABLE;drop trigger 名稱;判斷依據(jù)實施風險高重要等級備注2.

30、1.3 SHG-Oracle-02-01-03編號SHG-Oracle-02-01-03名稱記錄系統(tǒng)安全事件實施目的通過設置讓系統(tǒng)記錄安全事件,方便管理員分析問題影響無法記錄系統(tǒng)的各種安全事件系統(tǒng)當前狀態(tài)實施步驟參考配置操作create table jax_event_table(eventname varchar2(30),time date);create trigger tr_startup after startup ondatabase begininsertinto jax_event_table values(ora_sysevent,sysdate); end;create t

31、rigger tr_shutdown beforeshutdownondatabase begininsertinto jax_event_table values(ora_sysevent,sysdate);end;回退方案ALTER TRIGGER 名稱 DISABLE;drop trigger 名稱;判斷依據(jù)記錄系統(tǒng)安全事件實施風險高重要等級備注2.1.4 SHG-Oracle-02-01-04編號SHG-Oracle-02-01-04名稱數(shù)據(jù)庫審計策略實施目的根據(jù)業(yè)務要求制定數(shù)據(jù)庫審計策略問題影響日志被刪除后無法恢復。系統(tǒng)當前狀態(tài)show parameter audit_sys_ope

32、rations; show parameter audit_trail; 查看返回值,并記錄.實施步驟1、參考配置操作SQL alter system set audit_sys_operations=TRUEscope=spfile;SQL alter system set audit_trail=db scope=spfile; SQL show parameter audit;SQL audit all on table_name;回退方案noaudit all on table_name;恢復 audit_sys_operations, audit_trail 屬性判斷依據(jù)判定條件 對

33、審計的對象進行一次數(shù)據(jù)庫操作,檢查操作是否被記錄。 檢測操作1. 檢查初始化參數(shù) audit_trail 是否設置。2. 檢 查 dba_audit_trail 視 圖 中 或$ORACLE_BASE/admin/adump 目錄下是否有數(shù)據(jù)。 補充說明AUDIT 會有相應資源開消,請檢查系統(tǒng)資源是否充足。特別是 RAC 環(huán)境,資源消耗較大實施風險低重要等級備注3通信協(xié)議3.1.1 SHG-Oracle-03-01-01編號SHG-Oracle-03-01-01名稱信任 IP 連接監(jiān)聽器實施目的設置只有信任的 IP 地址才能通過監(jiān)聽器訪問數(shù)據(jù)庫。問題影響數(shù)據(jù)庫不安全 IP 訪問系統(tǒng)當前狀態(tài)查看

34、$ORACLE_HOME/network/admin/sqlnet.ora實施步驟參考配置操作只 需 在 服 務 器 上 的 文 件$ORACLE_HOME/network/admin/sqlnet.ora 中設置以下行:tcp.validnode_checking = yes tcp.invited_nodes = (ip1,ip2)回退方案還原$ORACLE_HOME/network/admin/sqlnet.ora 文件判斷依據(jù)判定條件 在非信任的客戶端以數(shù)據(jù)庫賬戶登陸被提示拒絕。 檢測操作檢查$ORACLE_HOME/network/admin/sqlnet.ora 文件中是否 設置參

35、數(shù) tcp.validnode_checking 和 tcp.invited_nodes。實施風險高重要等級備注3.1.2 SHG-Oracle-03-01-02編號SHG-Oracle-03-01-02名稱網絡數(shù)據(jù)傳輸安全實施目的使用 Oracle 提供的高級安全選件來加密客戶端與數(shù)據(jù)庫之 間或中間件與數(shù)據(jù)庫之間的網絡傳輸數(shù)據(jù)問題影響數(shù)據(jù)傳輸?shù)牟话踩栽黾酉到y(tǒng)當前狀態(tài)記錄檢查$ORACLE_HOME/network/admin/sqlnet.ora 文件實施步驟參考配置操作1. 在 Oracle Net Manager 中 選 擇 “ Oracle AdvancedSecurity”。2. 然后選擇 Encryption。3. 選擇 Client 或 Server 選項。4. 選擇加密類型。5. 輸入加密種子(可選)。6. 選擇加密算法(可選)。7. 保存網絡配置,sqlnet.ora 被更新。回退方案還原$ORAC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論