歡迎光臨
每天分享高質量文章

Oracle 12c 關於密碼(password)的幾個新特性小結

Oracle資料庫軟體是獲得過最高級別的安全認證,完全超越其它所有資料庫軟體,並且在可維護性上基於大量的實踐需要穩步前行,這裡簡單整理幾個12c 關於password幾個新特性。

 

1. 新的password hash演算法
2. 新的password verify function
3. 密碼檔案可以儲存到ASM
4. 密碼自動從primary同步到standby端在Dataguard環境中
5. 新的密碼認證協議

 

1

新的 password hash 演算法

 

Oracle對Oracle Database 12c中的用戶密碼哈希進行了改進, 通過使用基於PBKDF2的SHA512哈希演算法,而不是簡單的SHA1哈希,密碼哈希更安全, 從11g起user$.spare4列儲存著密碼的哈希值。在12.1.0.2版本時spare4列有3部分組成(S:H:T).12.2時只剩下(S:T )2部分。

 

S部分和11g時的演算法一樣,長度60 chars,是基於SHA1的哈希。

H部分是基於MD5的哈希,長度為32 chars, 也可能是因為MD5 hash更方便入侵者的暴力破解,在12.2 版本時從Spare4列去掉該部分。

T部分是從12.1.0.2版本增加,長度為160 chars, 使用的是基於PBKDF2-based SHA512的演算法。該演算法後部分32chars 的驗證資料部分是隨機生成。更加安全。

 

2

新的password verify function

在12c中default profile除了password verify function和11g不同,其它資源限制都是相同的。

不過國防安全要求有個建議值:
RESOURCE NAME LIMIT
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 365
PASSWORD_REUSE_MAX 5
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_VERIFY_FUNCTION ora12c_strong_verify_function

 

12c新引入了verify function 有ora12c_verify_function, ora12c_strong_verify_function (ora12c_stig_verify_function) ,而且可能在12.1.0.1 ,12.1.0.2, 12.2.0.1     profile預設的verify function名都不一樣。

 

比如STIG有以下限制:

  • Password at least 9 characters
  • at least 2 capital letters
  • at least 2 small letters
  • at least 2 digits
  • at least 2 special characters
  • password must differ by at least 4 characters from the old password

 

3

密碼檔案可以儲存到ASM

 

在Oracle Database 12c之前,密碼檔案始終位於$ ORACLE_HOME / dbs檔案下,即使對於RAC實體和RAC ASM集群也是如此。 對於RAC而言,DBA必須設法保持這一點密碼檔案在每個節點上同步。現在,在Oracle 12c中,可以將密碼檔案儲存在ASM上。 這意味著一個共享密碼檔案Oracle RAC資料庫為集群中的所有實體共享,與ASM spfile不同,ASM密碼檔案的訪問只有在啟動ASM ,並且在磁盤組mount後才可以訪問。用於創建密碼檔案的命令實用程式仍然是相同的:“orapwd”

asmcmd同樣也可以創建密碼檔案
$ asmcmd
ASMCMD> pwcreate

ASM儲存密碼檔案前提條件 COMPATIBLE.ASM>= 12.1

— create new password in ASM
orapwd file=’+data/ASM/orapwasm’ asm=y
— create new password in ASM from location
orapwd input_file=’/oraclegrid/dbs/orapwasm’ file=’+data/ASM/orapwasm'[asm=y]
— move password file from A asm diskgroup to another
ASMCMD> pwmove –asm +CRS/asm/password/orapwasm +data/orapwasm

 

4

密碼自動從primary同步到standby端在Datagrard環境中

 

12cR2中一個有用的增強功能是密碼檔案在Data Guard環境中自動同步,如果在primary database上更改了sys的密碼,並且它自動也在standby database上進行了更改。 在早期版本中必須手動完成的,通常通過使用primary database 密碼檔案替換standby database上的密碼檔案。

 

5

新的密碼認證協議

 

升級12C註意事項: 連接失敗 ORA-28040 ORA-1017

之前寫過關於認證的協議的。如果你的資料庫是從12c以前的版本升上來的,在升級時會提示去掉SEC_CASE_SENSITIVE_LOGON=FALSE引數如下,但是如果你沒有去掉SEC_CASE_SENSITIVE_LOGON=FALSE,那麼升級後登錄可以會遇到ora-1017錯誤,即使密碼是正確的,甚至修改在升級後再修改密碼(新的密碼版本將為”11G 12C”)。解決方法是:change SEC_CASE_SENSITIVE_LOGON=TRUE, –the default.另外註意如果是Data Pump匯入創建的用戶,密碼版本會和匯出時版本一致。

RECOMMENDED ACTIONS
===================
+ Consider removing the following DEPRECATED initialization parameters.
They are not OBSOLETE in version 12.2.0.1.0
but probably will be OBSOLETE in a future release.

Parameter
——————————
sec_case_sensitive_logon

Note:

Oracle notes that the term “version” in the allowed_logon_version_server parameter name refers to the version of the authentication protocol. It does NOT refer to the Oracle release version.

sqlnet.allowed_logon_version_server, depending on the version of the authentication protocol.

sqlnet.allowed_logon_version_server=12a: For Oracle Database 12c Release 1 (12.1) release 12.1.0.2 or later.
sqlnet.allowed_logon_version_server=12: For the critical patch updates CPUOct2012 and later Oracle Database 11g authentication protocols (recommended).
sqlnet.allowed_logon_version_server=11: For Oracle Database 11g authentication protocols (default).
sqlnet.allowed_logon_version_server=10: For Oracle Database 10g authentication protocols.
sqlnet.allowed_logon_version_server=8: For Oracle8i authentication protocol

 

原創:張維照


資源下載

關註公眾號:資料和雲(OraNews)回覆關鍵字獲取

2018DTCC , 資料庫大會PPT

2018DTC,2018 DTC 大會 PPT

DBALIFE ,“DBA 的一天”海報

DBA04 ,DBA 手記4 電子書

122ARCH ,Oracle 12.2體系結構圖

2018OOW ,Oracle OpenWorld 資料

    赞(0)

    分享創造快樂