設定 RPCSEC-GSS 的網路

在此實務範例中正在設定的網路包含五部伺服器,並針對 RPCSEC-GSS 進行配置。

網路上的五部伺服器如下:
  • kdc.austin.ibm.com
  • alpha.austin.ibm.com
  • beta.austin.ibm.com
  • gamma.austin.ibm.com
  • zeta.austin.ibm.com
系統 kdc.austin.ibm.com 將配置為「金鑰配送中心 (KDC)」伺服器,並將建立 Kerberos 領域 AUSTIN.IBM.COMkdc.austin.ibm.comzeta.austin.ibm.com 以外的所有系統都將是 NFS 伺服器,提供以 RPCSEC-GSS 匯出的檔案系統。

系統 alpha.austin.ibm.combeta.austin.ibm.com 之間還有另一個鏈結; 透過該鏈結,它們彼此會呈現為 fast_alpha.test.austin.comfast_beta.test.austin.ibm.com。 基於此原因,將需要額外的配置步驟。

此外,此網路還具有下列使用者,這些使用者已在部分系統上配置:
  • adam
  • brian
  • charlie
  • dave
  • eric
附註: 下列設定僅作為範例提供,可能不適用於所有環境。 See the Administrator's and User's Guide for the Network Authentication Service before attempting to set up a new Kerberos realm.
附註: Kerberos 需要在整個網路中合理關閉系統時間。 在開始此程序之前,您應該設定機制來自動同步化整個網路的時間,例如 AIX® timed 常駐程式或 NTP 設定。
  1. 設定 KDC 伺服器。
    附註: 最好不要將 KDC 伺服器用於任何其他用途; 如果 KDC 受損,則所有 Kerberos 主體都會受損。

    在此實務範例中, kdc.austin.ibm.com 將配置為 KDC 伺服器。 下列配置適用於 des3。 如果基於效能原因而偏好使用 des ,請將引數 -e des-cbc-crc:normal 新增至下面 kadminaddprinc 呼叫及 ktadd 呼叫。

    若要使用 aes 加密來配置網路,請將 -e aes256-cts:normal 引數新增至 addprinc 呼叫及 kadmin 指令的 ktadd 呼叫。

    1. kdc.austin.ibm.com上安裝 krb5.server.rte 檔案集。
    2. 設定 KDC 伺服器。 在此實務範例中,使用了下列指令:
      config.krb5 -S -d austin.ibm.com -r AUSTIN.IBM.COM
      執行此指令之後,系統會要求提供管理主體的「主要資料庫」密碼及密碼。
    3. 在 KDC 伺服器上執行 /usr/krb5/sbin/kadmin.local 指令,為每一個使用者和主機建立主體。 此範例會建立符合相關聯使用者的 UNIX ® 使用者名稱的 Kerberos 主體。 主體名稱將由 NFS 對映至使用者名稱,以判定與主體相關聯的 UNIX 認證。 如需如何在主體與使用者名稱之間使用更一般對映的說明,請參閱 身分對映。 針對此網路,我們已建立下列主體:
      • adam
      • brian
      • charlie
      • dave
      • eric
      • nfs/alpha.austin.ibm.com
      • nfs/beta.austin.ibm.com
      • nfs/gamma.austin.ibm.com
      附註: 選擇的使用者主體名稱必須符合系統配置的使用者登錄 (/etc/passwdLDAPNIS等) 中對應的使用者名稱。 NFS 使用主體名稱作為使用者名稱,以取得本端系統上的使用者和群組 ID。 如果名稱不符,則會將存取權視為匿名存取。
    現在已配置 KDC。
  2. 現在會使用 config.krb5 指令,將每一個 NFS 用戶端及伺服器配置為 Kerberos 用戶端。
    如何執行此動作將視 KDC 的配置方式而定。 在此實務範例中,我們在每一個 NFS 系統上執行下列指令:
    config.krb5 -C -d austin.ibm.com -r AUSTIN.IBM.COM -c kdc.austin.ibm.com -s kdc.austin.ibm.com
    現在, kinit 可以作為任何已配置系統上的任何使用者主體。 例如,如果要以 kinit 使用者 adam身分,請執行下列指令:
    /usr/krb5/bin/kinit adam
    您需要指定 adam的 Kerberos,而不是 AIX密碼。

    此範例使用 kinit 來鑑別使用者。 您可以將 AIX 配置成在系統登入期間使用 Kerberos 鑑別。 如需相關資訊,請參閱 Security中的 Authenticating to AIX Using Kerberos

  3. 現在將使用適當的 keytab 項目來配置每一個 NFS 伺服器。
    在此實務範例中,我們已配置 alpha.austin.ibm.comkeytab 項目作為範例; 將在 beta.austin.ibm.comgamma.austin.ibm.com上使用完全相同的處理程序。
    1. alpha.austin.ibm.com,執行 kadmin 指令。 然後,執行下列指令:
      ktadd nfs/alpha.austin.ibm.com
      這會建立 keytab 檔案。
    2. 接下來,設定 gssd 常駐程式,以使用您剛才使用 nfshostkey 指令建立的 keytab 檔案。
      在此實務範例中,我們執行下列:
      nfshostkey -p nfs/alpha.austin.ibm.com -f /etc/krb5/krb5.keytab
    3. 執行下列指令,將 gssd 常駐程式設定為自動啟動:
      chnfs -S -B
    針對每一個系統重複此設定。
  4. 此時, NFS 伺服器將運作,但所有使用者都會以 nobody身分出現。 建議讓所有使用者都存在於具有相同 uid 及 gid 的所有伺服器上; 任何不存在的使用者都只能以 nobody身分存取匯出的目錄。 若要讓使用者名稱適當地對映,您必須配置 NFS 登錄常駐程式。
    1. 使用 chnfsdom 指令設定網域。 在此實務範例中,已在所有 NFS 伺服器上執行下列指令,以將 austin.ibm.com 設定為網域:
      chnfsdom austin.ibm.com
    2. 設定 /etc/nfs/realm.map 檔案; 此檔案應該包含一行,網域範圍名稱後接本端網域。
      對於我們的範例網路,在所有 NFS 伺服器上,這兩個檔案應該如下所示:
      realm.map AUSTIN.IBM.COM		 austin.ibm.com
      此檔案中的領域項目不區分大小寫,因此技術上不需要此項目。
    3. 若為 zeta.austin.ibm.com(將不是 NFS 伺服器) ,請使用 chnfs -S -B 指令啟動 gssd 常駐程式。 在嘗試任何 Kerberos 用戶端作業之前,使用者必須使用 kinit 來取得有效的認證。
  5. 在此實務範例中, alpha.austin.ibm.combeta.austin.ibm.com之間有快速網路鏈結配置。 透過此鏈結, beta.austin.ibm.com 會將 alpha.austin.ibm.com 視為 fast_alpha.test.austin.ibm.com,而 alpha.autsin.ibm.com 會將 beta.austin.ibm.com 視為 fast_beta.test.austin.ibm.com。 因為 nfs/fast_alpha.test.austin.ibm.comnfs/fast_beta.test.austin.ibm.com 都不是有效的主體,所以它們將無法使用此鏈結進行裝載。

    若要更正此問題,將使用 nfshostmap 指令,該指令將對映主體以處理此狀況。

    1. alpha.austin.ibm.com上,我們已執行下列指令:
      nfshostmap -a beta.austin.ibm.com fast_beta.test.austin.ibm.com
      這會告知 alpha.austin.ibm.com fast_beta.test.austin.ibm.com的主體適用於 beta.austin.ibm.com
    2. 在測試版上,我們已執行下列指令:
      nfshostmap -a alpha.austin.ibm.com fast_alpha.test.austin.ibm.com

    伺服器可以有多個主機主體。 假設 fast_alpha 的 IP 位址是 10.0.0.1 ,而 fast_beta 的 IP 位址是 10.0.0.2,請完成下列步驟來新增多個主機主體:

    1. nfs/fast_alpha.test.austin.ibm.comnfs/fast_beta.test.austin.ibm.com 主體新增至適當的 keytab 檔。
    2. alpha 伺服器上執行 nfshostkey 指令,如下所示:
      nfshostkey -a -p nfs/fast_alpha.test.austin.ibm.com -i 10.0.0.1
    3. beta 伺服器上執行 nfshostkey 指令,如下所示:
      nfshostkey -a -p nfs/fast_beta.test.austin.ibm.com -i 10.0.0.2