[IBM i]

啟用非預設 OS/400® 密碼編碼演算法

密碼編碼的目的是阻止在伺服器配置和內容檔中隨意觀察密碼。

開始之前

請確定管理主控台內的所有伺服器設定檔都位於相同的 IBM® i 系統上。

關於此作業

依預設,在 WebSphere® Application Server的各種 ASCII 配置檔中,密碼會以簡式遮罩演算法自動編碼。 您可以在 Java™ 用戶端和應用程式伺服器管理指令所使用的內容檔中,手動將密碼編碼。

如需 OS400 編碼演算法的說明,請參閱 密碼編碼和加密。 若要啟用 WebSphere Application Server 設定檔的 OS400 密碼編碼演算法,請完成下列步驟:

程序

  1. 設定 os400.security.password 內容以開啟 OS400 密碼編碼演算法,並指定要使用的驗證清單物件。

    對所有 WebSphere Application Server 設定檔使用相同的驗證清單物件。 不過,如果您未同步備份所有設定檔的物件和資料,則不建議這樣做。 當您決定要對每一個 WebSphere Application Server 設定檔使用的驗證清單物件時,請考量您的備份及還原原則。

    若要設定內容,請完成下列其中一個步驟:
    • 請對 manageprofiles -create 公用程式使用 -os400passwords-validationlist 選項,該公用程式位於app_server_root/bin目錄,以在建立設定檔時設定內容。 建立名為 prod 的 WebSphere Application Server 設定檔,並使用下列項目來啟用該設定檔的 OS400 編碼演算法:/QSYS.LIB/QUSRSYS.LIB/WAS.VLDL驗證清單物件,您可以完成下列步驟:
      1. 在 IBM i 指令行上執行「啟動 Qshell (STRQSH)」指令。
      2. 在 Qshell 中,執行下列指令:
        app_server_root/bin/manageprofiles 
        -create -profileName prod -startingPort 10150 
        -templatePath default -os400passwords 
        -validationlist /QSYS.LIB/QUSRSYS.LIB/WAS.VLDL

        前一個指令位於多行上,僅供說明之用。

    • 在 WebSphere Application Server 設定檔的 setupCmdLine Qshell Script 中設定 Java 系統內容。 若要啟用 OS400 密碼編碼演算法,請編輯profile_root/bin/setupCmdLine使用下列步驟來執行 Script:
      1. 將 os400.security.password.encoding.algorithm 內容設為OS400. 預設值為 XOR。
      2. 將 os400.security.password.validation.list.object 內容設為您需要使用的驗證清單的絕對名稱。 預設值為/QSYS.LIB/QUSRSYS.LIB/EJSADMIN.VLDL.
      3. 儲存檔案。
  2. 將 QEJB 使用者設定檔執行權限 (*X) 授與包含驗證清單的檔案庫。
    如果 QEJB 已具有存取檔案庫所需的最小權限 (*X) ,請繼續進行下一步。
    1. 使用「顯示權限 (DSPAUT)」來檢查驗證清單是否建立在/QSYS.LIB/WSADMIN.LIB檔案。
      例如:
      DSPAUT OBJ('/QSYS.LIB/WSADMIN.LIB')
    2. 只有在 QEJB 設定檔尚未具有此權限時,才使用「變更權限 (CHGAUT)」指令將執行權限授與 QEJB 設定檔。
      例如:
      CHGAUT OBJ('/QSYS.LIB/WSADMIN.LIB') USER(QEJB) DTAAUT(*X)
  3. 建立原生驗證清單物件 (*VLDL)。
    對於伺服器設定檔,此步驟是選用的。 當伺服器啟動時,會建立驗證清單物件。 對於遠端設定檔,如果驗證清單尚未存在於管理遠端設定檔的系統上,請建立驗證清單。 此外,當您決定要與每一個遠端設定檔搭配使用的驗證清單物件時,請考量您的備份及還原原則。
    注意: 當您使用 OS400 密碼編碼演算法時, Java 用戶端不需要位於與用戶端存取之 WebSphere Application Server 設定檔相同的 IBM i 系統上。

    若要建立驗證清單物件,請使用具有 *ALLOBJ 特殊權限的 IBM i 使用者設定檔來執行下列步驟:

    1. 以具備 *ALLOBJ 特殊權限的使用者設定檔來登入伺服器。
    2. 使用「建立驗證清單 (CRTVLDL)」指令建立驗證清單物件。
      例如,在 WSADMIN.LIB 檔案庫,請使用下列指令:
      CRTVLDL VLDL(WSADMIN/WSVLIST)
    3. 授與 QEJB 使用者設定檔 *RWX 權限給驗證清單物件。
      例如,若要授與 WSADMIN 檔案庫中 WSVLIST 驗證清單物件的 *RWX 權限,請使用下列指令:
      CHGAUT OBJ('/QSYS.LIB/WSADMIN.LIB/WSVLIST.VLDL') USER(QEJB) DTAAUT(*RWX)
  4. 使用「變更系統值 (CHGSYSVAL)」指令,將 QRETSVRSEC 系統值設為 1
    例如:
    CHGSYSVAL SYSVAL(QRETSVRSEC) VALUE('1')
  5. 若為伺服器設定檔,請啟動或重新啟動伺服器,並等到伺服器備妥可供服務時,再嘗試手動編碼屬於該設定檔的內容檔中的密碼。

結果

您已啟用 OS400 密碼編碼演算法。

下一步

完成先前步驟並重新啟動伺服器之後,您可以手動將內容檔中的密碼編碼。 如需相關資訊,請參閱 在內容檔中手動編碼密碼