![]() | |
Sun Java(TM) System Directory Server 5.2 2005Q1 管理指南 |
附錄 A
使用 Sun Crypto 加速板本附錄提供有關結合使用 Directory Server 與 Sun Crypto 加速板,以增強連線效能的指令,此連線使用的是基於憑證之驗證的安全通訊端階層 (SSL) 協定。
開始前表 A-1 所涵蓋的項目,必須在嘗試使用 Sun Crypto 加速板以增強 SSL 連線效能之前完成。
表 A-1 使用介面卡的先決條件
先決條件
說明
介面卡安裝
當您在主機上安裝硬體、驅動程式、修補檔案和管理公用程式時,請參閱介面卡所提供的產品文件。
Directory Server 安裝
請參閱 Java Enterprise System 安裝指南中的說明。
伺服器憑證 (PKCS#12 格式)
取得 Directory Server 的伺服器憑證作為 .p12 檔案
CA 憑證 (PEM 格式)
取得憑證授權單位 (CA) 的 CA 憑證作為隱私權增強型郵件 (PEM) 格式檔案。
請參閱第 11 章「管理驗證和加密」中有關 SSL 協定本身和 SSL 憑證的討論,以及如何透過 Server 主控台結合使用協定與支援管理之 Sun Java System 伺服器的指令。
建立 TokenDirectory Server 使用 Token 和密碼來存取加速板上的適當密碼金鑰資料。Token 採用 user@realm 的格式,其中 user 是使用加速板形式的使用者 (密碼金鑰資料的擁有者),而 realm 是使用加速板形式的範圍 (使用者及其金鑰資料的邏輯分割區)。加速板 user 不需與系統上的使用者帳戶有任何關係。此變數只供介面卡使用。如需使用者和範圍的進一步說明,請參照加速板產品文件。
您可以使用系統所提供介面卡適用的 secadm(1M) 公用程式來建立 Token 的使用者和範圍。加速板也允許建立多個 slot 來管理多個應用程式的 Token。此處假設因為效能的緣故,您將主機指定給 Directory Server 並因此只使用了一個插槽 (預設值)。如需使用配備多個軟體應用程式之介面卡的詳細資訊,請參閱加速板產品文件。
請執行下列步驟建立 Token 的使用者與範圍以存取預設的插槽。
- 啟動 secadm 公用程式。
$ CryptoPath/bin/secadm
預設的 CryptoPath 為 /opt/SUNWconn/crypto。
- 建立 Token 的範圍。
secadm> create realm=dsrealm
System Administrator Login Required
Login: super-user
Password:
Realm dsrealm created successfully.- 設定要建立使用者的範圍。
secadm> set realm=dsrealm
secadm{dsrealm}> su
System Administrator Login Required
Login: super-user
Password:
secadm{root@dsrealm}#- 建立使用者 nobody 為使用預設的插槽,並在重新啟動已配置 SSL 的 Directory Server 時輸入密碼。
secadm{root@dsrealm}# create user=nobody
Initial password: password
Confirm password: password
User nobody created successfully.
secadm{root@dsrealm}# exit此時您已經建立 Token nobody@dsrealm 的使用者和範圍,並提供重新啟動 Directory Server 時所要使用的密碼。
產生介面卡的連結加速板連結必須使用您所產生的外部安全模組形式,這樣 Directory Server 才能與介面卡連結。請執行下列步驟,使外部安全模組與可支援多個 SSL 演算法之 Directory Server 憑證資料庫之間產生連結。
- 使用 modutil 之前,請設定 LD_LIBRARY_PATH。
$ set LD_LIBRARY_PATH=ServerRoot/lib ; export LD_LIBRARY_PATH
- 建立安全模組資料庫 (如果沒有的話)。
$ cd ServerRoot/shared/bin
$ ./modutil -create -dbdir ../../alias -dbprefix "slapd-serverID"- 將外部安全模組加入安全模組資料庫中。
$ ./modutil -add "Crypto Mod" -dbdir ../../alias -nocertdb \
-libfile CryptoPath/lib/libpkcs11.so \
-mechanisms "RSA:DSA:RC4:DES" -dbprefix "slapd-serverID"預設的 CryptoPath 為 /opt/SUNWconn/crypto。
- 列出安全模組以確定加入成功。
$ ./modutil -list -dbdir ../../alias -dbprefix "slapd-serverID"
您應該會看到在步驟 3 中所加入之 Crypto Mod 的項目。
- 將外部安全模組設定成 RSA、DSA、RC4 和 DES 的預設值。
$ ./modutil -default "Crypto Mod" -dbdir ../../alias \
-mechanisms "RSA:DSA:RC4:DES" -dbprefix "slapd-serverID"這應該會成功地變更預設的安全模組。
此時,您已經產生加速板的連結並且可以匯入憑證。
匯入憑證在配置 SSL 之前,您必須匯入所取得的伺服器以及 CA 憑證,如表 A-1 中所述。執行下列步驟以匯入憑證。
- 匯入伺服器憑證 .p12 檔。
$ cd ServerRoot/shared/bin
$ ./pk12util -i ServerCert.p12 -d ../../alias -P "slapd-serverID" \
-h "nobody@dsrealm"
Enter Password or Pin for "nobody@dsrealm": password
Enter Password for PKCS12 file: password- 匯入 CA 憑證。
$ ./certutil -A -n "Crypto CA Cert" -t CT -i CACert.txt \
-d ../../alias -P "slapd-serverID" -h "nobody@dsrealm"- 列出與 Token 相關的憑證以確定匯入成功。
$ ./certutil -L -d ../../alias -P "slapd-serverID" \
-h "nobody@dsrealm"此時您已經匯入憑證,並且可以配置 Directory Server 以偵聽 SSL 連線。
配置 SSL利用您建立的 Token 和密碼、在外部安全模組和 Directory Server 憑證資料庫之間產生的連結、以及所匯入的憑證,便可以將 Directory Server 配置為在安全模式中啟動。執行這些步驟來配置 SSL 並在安全模式中重新啟動 Directory Server。
- 建立修改的 ssl.ldif 檔,變更與 SSL 相關的 Directory Server 配置項目。
程式碼範例 A-1 修改為使用介面卡來啟用 SSL (ssl.ldif)
dn:cn=RSA,cn=encryption,cn=config
changetype:add
objectclass:top
objectclass:nsEncryptionModule
cn:RSA
nsSSLToken:nobody@dsrealm
nsSSLPersonalitySSL:ServerCertNickname1
nsSSLActivation:on
dn:cn=encryption,cn=config
changetype:modify
replace:nsSSL3
nsSSL3:on
-
replace:nsSSLClientAuth
nsSSLClientAuth:allowed
-
replace:nsSSL3Ciphers
nsSSL3Ciphers:-rsa_null_md5,+rsa_rc4_128_md5,+rsa_rc4_40_md5,
+rsa_rc2_40_md5,+rsa_des_sha,+rsa_fips_des_sha,+rsa_3des_sha,
+rsa_fips_3des_sha,+fortezza,+fortezza_rc4_128_sha,
+fortezza_null,+tls_rsa_export1024_with_rc4_56_sha,
+tls_rsa_export1024_with_rc4_56_sha,
+tls_rsa_export1024_with_des_cbc_sha
-
replace:nsCertfile
nsCertfile:alias/slapd-serverID-cert8.db
-
replace:nsKeyFile
nsKeyFile:alias/slapd-serverID-key3.db
dn:cn=config
changetype:modify
replace:nsslapd-secureport
nsslapd-secureport:port
-
replace:nsslapd-security
nsslapd-security:on
1此暱稱包含在 Directory Server 的憑證中。
此處的 port 是 nsslapd-secureport 的值,為 Directory Server 在安全模式中啟動後偵聽 SSL 連線的連接埠。
- 套用修改以變更 Directory Server 配置。
$ ldapmodify -p currPort -D "cn=directory manager" -w password -f ssl.ldif
其中 currPort 為 Directory Server 目前偵聽用戶端要求的連接埠號碼。
- 在安全模式中重新啟動 Directory Server。
$ ServerRoot/slapd-serverID/restart-slapd
Enter PIN for nobody@dsrealm: password此處的 password 為建立 Token nobody@dsrealm 時提供給 nobody 的使用者密碼。
此時,Directory Server 透過您指定的連接埠偵聽 SSL 流量。您可以配置 Sun Java System Administration Server 和用戶端應用程式以透過該連接埠存取有 SSL 機制的 Directory Server。如需詳細資訊,請參閱第 11 章「管理驗證和加密」。