oracle 11g資料庫安全強化注意事項_oracle

來源:互聯網
上載者:User

資料庫安全配置中,需要做相關的安全強化工作。以確認資料庫的安全,但是,有些時候,操作不當或者資料庫業務帳號修改密碼後,而程式的串連資料庫的配置封裝在jar裡,如果jar內的串連資料庫的配置資訊沒有做相應的修改的話。就會對資料庫的此業務帳號造成嚴重的後果。

因此,真正瞭解Oracle安全資料庫使用者的狀態,就顯得尤為重要了。下面我們就看一下oracle資料庫中的多種使用者狀態。

ORACLE資料庫使用者有多種狀態,可查看視圖USER_ASTATUS_MAP。

SQL> col status for a30SQL> 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) & LOCKED9 rows selected.

通過上面的查詢我們可以看到在Oracle中account總共有9種不同的狀態,對應dba_users視圖中的account_status欄位。

下面我分別就每種狀態的含義和出現的情況做個簡單的說明,以便於今後的系統管理和維護。
分析上面的9種狀態不難看出,其實獨立的狀態只有OPEN、EXPIRED、LOCKED、EXPIRED(GRACE)、LOCKED(TIMED) 5種形式。其他4種不過是前面幾種形式的組合而已。

或者也可以這樣理解:

以上的9種狀態可以分為兩大類:

1、基本狀態(前五種為基本狀態:0 OPEN、1 EXPIRED、2 EXPIRED(GRACE)、4 LOCKED(TIMED)、8 LOCKED);

2、組合狀態(後四種為組合狀態:5 EXPIRED & LOCKED(TIMED)、6 EXPIRED(GRACE) & LOCKED(TIMED)、9 EXPIRED & LOCKED、10 EXPIRED(GRACE) & LOCKED);

後四種的組合狀態可通過狀態號STATUS#獲得其狀態的兩個組合。掌握前五種即可。

具體詳細解釋請參考如下:

OPEN: 這個是大家最常見的,就是表示這個是可用的,沒有任何限制的帳戶
LOCKED: 表示這個帳戶被DBA鎖定. 一般通過alter user username account lock(unlock);
EXPIRED: 表示該帳戶被設定為口令到期,要求使用者在下次logon的時候修改口令(系統會在該account被設定為expire後的第一次登陸是提示你修改密碼)
EXPIRED(GRACE): 當設定了grace以後(第一次成功登入後到口令到期後有多少天時間可改變口令,在這段時間內,帳戶被提醒修改口令並可以正常登陸,account_status顯示為EXPIRED(GRACE).
LOCKED(TIMED): 這種狀態表示失敗的login次數超過了FAILED_LOGIN_ATTEMPTS,被系統自動鎖定,需要注意的是,在Oracle 10g中,預設的DEFAULT值是10次.

EXPIRED & LOCKED: 表示此賬戶被設定為口令到期且被鎖定。
EXPIRED(GRACE) & LOCKED(TIMED): 當account_stutus為EXPIRED(GRACE)的時候,使用者又嘗試失敗的login次數超過了FAILED_LOGIN_ATTEMPTS,被系統自動鎖定
EXPIRED & LOCKED(TIMED): 當設定了account expire後,使用者又失敗的login次數超過了FAILED_LOGIN_ATTEMPTS,被系統自動鎖定
EXPIRED(GRACE) & LOCKED: 使用者account_status為EXPIRED(GRACE)後,又被DBA 手工鎖定帳戶後的狀態

下面通過執行個體操作來說明:

本人對oracle資料庫的profile檔案進行如下安全設定:(其中的FAILED_LOGIN_ATTEMPTS 6是對使用者嘗試失敗的登入最大次數的限制,這裡只允許最多嘗試失敗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;

通過以下語句查詢目前使用者的狀態:

SQL> select username,account_status from dba_users;USERNAME            ACCOUNT_STATUS------------------------------ --------------------------------DBA_USER            OPENDBSNMP             OPENSYSMAN             OPENSCOTT             OPENFLOWS_FILES          EXPIRED & LOCKEDMDSYS             EXPIRED & LOCKEDWMSYS             EXPIRED & LOCKEDORDDATA            EXPIRED & LOCKEDCTXSYS             EXPIRED & LOCKEDANONYMOUS           EXPIRED & LOCKED

接下來使用帳號dba_user和scott,以錯誤的密碼嘗試串連數庫6次以上後,再查看資料庫使用者狀態:

SQL> select username,account_status from dba_users;USERNAME            ACCOUNT_STATUS------------------------------ --------------------------------DBA_USER            EXPIRED(GRACE) & LOCKED(TIMED)DBSNMP             OPENSYSMAN             OPENSCOTT              EXPIRED(GRACE) & LOCKED(TIMED)FLOWS_FILES           EXPIRED & LOCKEDMDSYS              EXPIRED & LOCKEDWMSYS              EXPIRED & LOCKEDORDDATA             EXPIRED & LOCKEDCTXSYS             EXPIRED & LOCKEDANONYMOUS            EXPIRED & LOCKED

事實證明,當使用者DBA_USER和SCOTT為EXPIRED(GRACE)的時候,使用者又嘗試失敗的login次數超過了FAILED_LOGIN_ATTEMPTS,被系統自動鎖定.

如果這兩個使用者為生產現網的業務賬戶的話,管理員不能及時發現問題或警示的話,將會造成業務中斷等嚴重的後果。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.