oracle 11g數(shù)據(jù)庫安全加固注意事項
數(shù)據(jù)庫安全配置中,需要做相關(guān)的安全加固工作。以確認(rèn)數(shù)據(jù)庫的安全,但是,有些時候,操作不當(dāng)或者數(shù)據(jù)庫業(yè)務(wù)賬號修改密碼后,而程序的連接數(shù)據(jù)庫的配置封裝在jar里,如果jar內(nèi)的連接數(shù)據(jù)庫的配置信息沒有做相應(yīng)的修改的話。就會對數(shù)據(jù)庫的此業(yè)務(wù)賬號造成嚴(yán)重的后果。
因此,真正了解Oracle安全數(shù)據(jù)庫用戶的狀態(tài),就顯得尤為重要了。下面我們就看一下oracle數(shù)據(jù)庫中的多種用戶狀態(tài)。
ORACLE數(shù)據(jù)庫用戶有多種狀態(tài),可查看視圖USER_ASTATUS_MAP。
SQL> col status for a30 SQL> select * from user_astatus_map; STATUS# STATUS ---------- ------------------------------ 0 OPEN 1 EXPIRED 2 EXPIRED(GRACE) 4 LOCKED(TIMED) 8 LOCKED 5 EXPIRED & LOCKED(TIMED) 6 EXPIRED(GRACE) & LOCKED(TIMED) 9 EXPIRED & LOCKED 10 EXPIRED(GRACE) & LOCKED 9 rows selected.
通過上面的查詢我們可以看到在Oracle中account總共有9種不同的狀態(tài),對應(yīng)dba_users視圖中的account_status字段。
下面我分別就每種狀態(tài)的含義和出現(xiàn)的情況做個簡單的說明,以便于今后的系統(tǒng)管理和維護(hù)。
分析上面的9種狀態(tài)不難看出,其實獨立的狀態(tài)只有OPEN、EXPIRED、LOCKED、EXPIRED(GRACE)、LOCKED(TIMED) 5種形式。其他4種不過是前面幾種形式的組合而已。
或者也可以這樣理解:
以上的9種狀態(tài)可以分為兩大類:
1、基本狀態(tài)(前五種為基本狀態(tài):0 OPEN、1 EXPIRED、2 EXPIRED(GRACE)、4 LOCKED(TIMED)、8 LOCKED);
2、組合狀態(tài)(后四種為組合狀態(tài):5 EXPIRED & LOCKED(TIMED)、6 EXPIRED(GRACE) & LOCKED(TIMED)、9 EXPIRED & LOCKED、10 EXPIRED(GRACE) & LOCKED);
后四種的組合狀態(tài)可通過狀態(tài)號STATUS#獲得其狀態(tài)的兩個組合。掌握前五種即可。
具體詳細(xì)解釋請參考如下:
OPEN: 這個是大家最常見的,就是表示這個是可用的,沒有任何限制的帳戶
LOCKED: 表示這個帳戶被DBA鎖定. 一般通過alter user username account lock(unlock);
EXPIRED: 表示該帳戶被設(shè)置為口令到期,要求用戶在下次logon的時候修改口令(系統(tǒng)會在該account被設(shè)置為expire后的第一次登陸是提示你修改密碼)
EXPIRED(GRACE): 當(dāng)設(shè)置了grace以后(第一次成功登錄后到口令到期后有多少天時間可改變口令,在這段時間內(nèi),帳戶被提醒修改口令并可以正常登陸,account_status顯示為EXPIRED(GRACE).
LOCKED(TIMED): 這種狀態(tài)表示失敗的login次數(shù)超過了FAILED_LOGIN_ATTEMPTS,被系統(tǒng)自動鎖定,需要注意的是,在Oracle 10g中,默認(rèn)的DEFAULT值是10次.
EXPIRED & LOCKED: 表示此賬戶被設(shè)置為口令到期且被鎖定。
EXPIRED(GRACE) & LOCKED(TIMED): 當(dāng)account_stutus為EXPIRED(GRACE)的時候,用戶又嘗試失敗的login次數(shù)超過了FAILED_LOGIN_ATTEMPTS,被系統(tǒng)自動鎖定
EXPIRED & LOCKED(TIMED): 當(dāng)設(shè)置了account expire后,用戶又失敗的login次數(shù)超過了FAILED_LOGIN_ATTEMPTS,被系統(tǒng)自動鎖定
EXPIRED(GRACE) & LOCKED: 用戶account_status為EXPIRED(GRACE)后,又被DBA 手工鎖定帳戶后的狀態(tài)
下面通過實例操作來說明:
本人對oracle數(shù)據(jù)庫的profile文件進(jìn)行如下安全設(shè)置:(其中的FAILED_LOGIN_ATTEMPTS 6是對用戶嘗試失敗的登錄最大次數(shù)的限制,這里只允許最多嘗試失敗6次)
SQL>ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 6 PASSWORD_LIFE_TIME 60 PASSWORD_REUSE_TIME 60 PASSWORD_REUSE_MAX 5 PASSWORD_VERIFY_FUNCTION verify_function_11g PASSWORD_LOCK_TIME 1/24 PASSWORD_GRACE_TIME 90;
通過以下語句查詢當(dāng)前用戶的狀態(tài):
SQL> select username,account_status from dba_users; USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- DBA_USER OPEN DBSNMP OPEN SYSMAN OPEN SCOTT OPEN FLOWS_FILES EXPIRED & LOCKED MDSYS EXPIRED & LOCKED WMSYS EXPIRED & LOCKED ORDDATA EXPIRED & LOCKED CTXSYS EXPIRED & LOCKED ANONYMOUS EXPIRED & LOCKED
接下來使用賬號dba_user和scott,以錯誤的密碼嘗試連接數(shù)庫6次以上后,再查看數(shù)據(jù)庫用戶狀態(tài):
SQL> select username,account_status from dba_users; USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- DBA_USER EXPIRED(GRACE) & LOCKED(TIMED) DBSNMP OPEN SYSMAN OPEN SCOTT EXPIRED(GRACE) & LOCKED(TIMED) FLOWS_FILES EXPIRED & LOCKED MDSYS EXPIRED & LOCKED WMSYS EXPIRED & LOCKED ORDDATA EXPIRED & LOCKED CTXSYS EXPIRED & LOCKED ANONYMOUS EXPIRED & LOCKED
事實證明,當(dāng)用戶DBA_USER和SCOTT為EXPIRED(GRACE)的時候,用戶又嘗試失敗的login次數(shù)超過了FAILED_LOGIN_ATTEMPTS,被系統(tǒng)自動鎖定.
如果這兩個用戶為生產(chǎn)現(xiàn)網(wǎng)的業(yè)務(wù)賬戶的話,管理員不能及時發(fā)現(xiàn)問題或報警的話,將會造成業(yè)務(wù)中斷等嚴(yán)重的后果。
- Oracle 11g如何清理數(shù)據(jù)庫的歷史日志詳解
- Oracle12c的數(shù)據(jù)庫向11g導(dǎo)進(jìn)的方法
- 詳解PL/SQL Developer連接本地Oracle 11g 64位數(shù)據(jù)庫
- Windows系統(tǒng)安裝Oracle 11g 數(shù)據(jù)庫圖文教程
- Oracle11g數(shù)據(jù)庫win8.1系統(tǒng)安裝配置圖文教程
- oracle 11g配置 解決啟動連接數(shù)據(jù)庫出現(xiàn)的ora錯誤
- Oracle 11g數(shù)據(jù)庫安裝與卸載的方法圖解
- Oracle 11g數(shù)據(jù)庫詳細(xì)安裝圖文教程
- Win7 64位下PowerDesigner連接64位Oracle11g數(shù)據(jù)庫
- oracle 11g 數(shù)據(jù)庫常用操作實例總結(jié)
相關(guān)文章
Oracle批量導(dǎo)入文本文件快速的方法(sqlldr實現(xiàn))
批量導(dǎo)入文本文件在Oracle數(shù)據(jù)庫操作中經(jīng)常遇見,今天給大家介紹一種通過sqlldr批處理實現(xiàn)的方法,有需要的朋友們可以參考借鑒,下面來一起看看。2016-09-09在客戶端配置TNS測試報錯ORA-12170:TNS:連接超時
在Red Hat Enterprise Linux Server Releae 5.5 成功安裝ORACLE 10g 后,在客戶端配置TNS后,測試是否可以連接到數(shù)據(jù)塊服務(wù)器,結(jié)果報錯:ORA-12170:TNS:連接超時2012-12-12實現(xiàn)oracle數(shù)據(jù)庫字段自增長(兩種方式)
這篇文章主要通過兩種方式實現(xiàn)oracle數(shù)據(jù)庫字段自增長,第一種方式是序列+觸發(fā)器,第二種方式序列+顯示調(diào)用序列,需要的朋友可以參考下2015-07-07Oracle中帶條件插入數(shù)據(jù)的使用方法示例詳解
在Oracle數(shù)據(jù)庫中,INSERT WHEN語句用于在滿足特定條件時插入數(shù)據(jù),它允許您根據(jù)條件控制插入操作是否執(zhí)行,本文給大家分享Oracle中帶條件插入數(shù)據(jù)的使用方法,感興趣的朋友一起看看吧2023-12-12Oracle數(shù)據(jù)庫表空間超詳細(xì)介紹
Oracle數(shù)據(jù)庫的數(shù)據(jù)存放在表空間中,表空間是一個邏輯的概念,它是由數(shù)據(jù)文件組成,表空間大小由數(shù)據(jù)文件的數(shù)量和大小決定,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫表空間的相關(guān)資料,需要的朋友可以參考下2023-05-05利用windows任務(wù)計劃實現(xiàn)oracle的定期備份
我們搞數(shù)據(jù)庫管理系統(tǒng)的經(jīng)常會遇到數(shù)據(jù)庫定期自動備份的問題,有各種各樣的方法,這里介紹一種利用windows任務(wù)計劃實現(xiàn)oracle定期備份的方法供大家分享。2009-08-08Oracle分區(qū)表超詳細(xì)講解(Oracle?Partitioned?Tables)
這篇文章主要給大家介紹了掛不同意Oracle分區(qū)表超詳細(xì)講解(Oracle?Partitioned?Tables)的相關(guān)資料,ORACLE的分區(qū)是一種處理超大型表、索引等的技術(shù),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01