我們都知道密碼策略加固的參數(shù)一般包括密碼長度、復雜度檢測、最大最小使用時間、過期警報時間、最大登錄失敗次數(shù)以及鎖定時間等設置。
Oracle默認提供了一個密碼策略的sql執(zhí)行文件utlpwdmg.sql。linux/unix默認路徑是$ORACLE_HOME/rdbms/admin/utlpwdmg.sql 。windows路徑位置可以通過搜索來獲得。
首先我們先看一下Oracle默認安裝后密碼策略設置是怎樣的。
圖1
圖2
通過配置文件可以發(fā)現(xiàn)目前密碼策略中密碼長度設置為不小于4位,同時也設置了密碼存活時間為180天,密碼警告時間為7天,登錄失敗次數(shù)顯示為10次,鎖定時間為1分鐘。
接下來我們通過測試來看一下此策略設置腳本是否生效。
圖3
修改scott恩口令tiger為123成功,說明utlpwdmg.sql腳本文件未被執(zhí)行。
下面我們重新修改好utlpwdmg.sql配置,然后執(zhí)行。
圖4
圖5
執(zhí)行腳本:
圖6
然后我們查看是否密碼長度、密碼復雜度檢測功能是否已經開啟。
圖7
有圖可知:新密碼設置為123失敗,要求必須是8位以上。
圖8
由圖可知:新密碼設置為12345678失敗,要求必須至少一個數(shù)字、一個字母,說明密碼復雜度檢測已經開啟。
圖9
由圖可知,utlpwdmg.sql默認的failed_login_attempts值由10變?yōu)?。
綜上所知:utlpwdmg.sql 腳本文件生效,部分密碼策略已經生效。
(為了測試方面,實驗中profile中的密碼策略參數(shù)只做了部分修改,實際加固中要多所有的密碼策略進行整改加固。)
其實針對用戶的profile的設置可以直接通過以下命令單獨來設置:
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 180
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME 100
PASSWORD_REUSE_MAX 200
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 1/1440
PASSWORD_VERIFY_FUNCTION verify_function_11G;
補充:
<!--[if !supportLists]-->1. <!--[endif]-->其中verify_function_11G 是utlpwdmg.sql文件中一段針對用戶密碼的復雜度檢測函數(shù)。
<!--[if !supportLists]-->2. <!--[endif]-->PASSWORD_LOCK_TIME 1/1440 其中的單位都是天,這里/1440是除以1440(24*60)的意思,綜合此處意思為鎖定時間為1分鐘。