iT邦幫忙

DAY 6
8

Linux及虛擬化平台維運分享系列 第 6

[Day06 - Oracle] Security for Oracle 11g

Oracle 11g開始Security Policy與先前版本略有差異,本文將介紹實務上較常遇到之問題
[Parameters Used to Secure User Accounts]
Oracle 11g開始initialization and profile parameters如下圖所示

可使用下列SQL statement查看:

select * from dba_profiles where profile = 'DEFAULT';

執行結果如下圖紅框處示:

與先前版本略為不同,因此若無注意此規範,將有可能造成服務影響。

[Modify Default Profile]
為避免服務受影響,可透過下列SQL statement修改Default Profile:

ALTER PROFILE "DEFAULT" LIMIT 
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_GRACE_TIME UNLIMITED
PASSWORD_LOCK_TIME UNLIMITED
FAILED_LOGIN_ATTEMPTS UNLIMITED;

執行完畢狀態如下圖紅框處示,該設定立即生效

常見問題:ORA-28000ORA-28001ORA-28002,皆可執行上述步驟作為初步問題排除

[Create New Profile]
其他資料庫使用者帳號若仍維持Default Security Policy,則可另外建立Profile並套用,執行SQL statement如下:

CREATE PROFILE "DEFAULT_POLICY" LIMIT
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
CONNECT_TIME UNLIMITED
IDLE_TIME UNLIMITED
SESSIONS_PER_USER UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
PRIVATE_SGA UNLIMITED
COMPOSITE_LIMIT UNLIMITED
PASSWORD_LIFE_TIME 180
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_LOCK_TIME 1
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_VERIFY_FUNCTION NULL;

執行結果如下圖所示:

後續新增的資料庫使用者帳號可透過下列SQL statement套用新建立之Profile:

#Create new user 'GODSPEED01' and use 'DEFAULT_POLICY' profile.
CREATE USER GODSPEED01 IDENTIFIED BY 12345678 profile DEFAULT_POLICY;
#Query Profile status of user 'GODSPEED01'
select USERNAME, PROFILE from dba_users where USERNAME like 'GODSPEED%';

執行結果如下圖示:

若是既有的資料庫使用者帳號欲套用套用新建立之Profile,可透過下列SQL statement:

#Alter user 'GODSPEED02' to use 'DEFAULT_POLICY' profile.
ALTER USER GODSPEED02 profile DEFAULT_POLICY;
#Query Profile status of user 'GODSPEED02'
select USERNAME, PROFILE from dba_users where USERNAME = 'GODSPEED02';

執行前:

執行後:

[Controls case sensitivity in passwords]
Oracle 11g開始密碼原則預設區分大小寫,可執行下列SQL statement查詢:

SHOW PARAMETER SENSITIVE;

執行結果如下圖示:

若密碼原則不需區分大小寫,可另外執行下列SQL statement:

#Set 'sec_case_sensitive_logon' parameter to false.
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON=FALSE;
#Show parameter status.
SHOW PARAMETER SENSITIVE;

執行結果如下圖示:

後續資料庫使用者在輸入密碼時,即可不區分大小寫

[Reference]
Oracle® Database 2 Day + Security Guide


上一篇
[Day05 - Oracle] Install Oracle 11gR2 on RHEL platform - 2/2
下一篇
[Day07 - Subversion] Install Subversion on RHEL platform
系列文
Linux及虛擬化平台維運分享27

1 則留言

0
老鷹(eagle)
iT邦高手 1 級 ‧ 2013-09-22 13:15:11

沙發

簽名謝謝

我要留言

立即登入留言