oracle密碼安全管理

studywell發表於2014-08-27


密碼複雜度檢查

查詢dba_profiles檢視,可以查詢目前所使用的密碼函式。
可以看到預設的profil沒有指定verify_function;基本都是UNLIMITED,而MONITORING_PROFILE 是系統自帶的,基本都是default;

手動建立密碼驗證函式,或者執行$ORACLE_HOME/rdbms/admin/utlpwdmg.sql指令碼來create verify_function。不過需要注意的一點是,utlpwdmg.sql指令碼中包含有ALTER 語句,如果你不想按照指令碼上的設定,可以有兩點解決方法:
一、vi utlpwdmg.sql指令碼,將最末的
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 60
PASSWORD_GRACE_TIME 10
PASSWORD_REUSE_TIME 1800
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME 1/1440
PASSWORD_VERIFY_FUNCTION verify_function;
那些值改成你想要的
注意,其實最後那句才是我們想要的。
 
二、手動複製&貼上執行utlpwdmg.sql指令碼中前一部分內容(雖然前面佔了大部分),然後手動執行 ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION verify_function; 如果是其他profile的話,比如sox,則 ALTER PROFILE sox LIMIT PASSWORD_VERIFY_FUNCTION verify_function;


檢視當前profile設定
select * from dba_profiles b where b.resource_type ='PASSWORD';

各引數的解釋
1.FAILED_LOGIN_ATTEMPTS: 使用者在登入嘗試失敗n次後被鎖定。
2.PASSWORD_LOCK_TIME: 登入嘗試失敗達到指定次數,使用者鎖定時長,以“Day”為單位。
3.PASSWORD_LIFE_TIME: 使用者口令的生命週期。
4.PASSWORD_GRACE_TIME: 表示使用者口令使用時間超過其生命週期後,可以延續使用的天數,並且可延續時間內登入會有相應口令即將過期的提示。預設值unlimited將引發一個資料庫警告,但是允許使用者繼續連線。
5.PASSWORD_REUSE_TIME: 指定了口令不能重用前的天數。
6.PASSWORD_REUSE_MAX: 在達到PASSWORD_REUSE_TIME指定時間後,要再次使用同一口令前必須改變的次數。
如:PASSWORD_REUSE_TIME=30,PASSWORD_REUSE_MAX=10,使用者可以在30天以後重用該口令,要求口令必須被改變超過10次。
7.PASSWORD_VERIFY_FUNCTION: Oracle允許將複雜的PL/SQL密碼驗證指令碼做為引數傳遞給PASSWORD_VERIFY_FUNCTION。並且其自己提供了一個預設的指令碼,但是使用者可以建立自己的驗證規則或使用第三方軟體驗證。
8.Password Verify Function:
 When you create a password verify function for verifying the user password, this function can verify the following password characteristics:
1.The minimum number of characters for the password.
2.The characters that the password must contain, such as when a password should contain a specific number of numeric, alphabetic or special characters. 
3.Whether or not the password can be the same as the username.Whether or not the new password can be similar to the previous password.


密碼長度:大於4位,必須包含數字,字母,字元
密碼允許包含的字元
數字:0123456789
字母:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
符號:!"#$%&()``*+,-/:;<=>?_
  
  
修改一些引數:
密碼試錯後使用者鎖定時間1小時;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LOCK_TIME 1/24;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 90;


附:
取消Oracle密碼複雜度檢查:
alter profile default limit password_verify_function null;
制定密碼複雜度檢查用的函式
alter profile default limit password_verify_function VERIFY_FUNCTION;

動態地使用alter system或使用初始化引數resource_limit使資源限制生效。該改變對密碼資源無效,密碼資源總是可用。
alter system set resource_limit = true;

Oracle 11g資料庫密碼區分大小寫的設定 → SEC_CASE_SENSITIVE_LOGON = TRUE.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-1258982/,如需轉載,請註明出處,否則將追究法律責任。

相關文章