Sun Java System Calendar Server 管理指南 |
第 7 章
配置 SSLCalendar Server 支援安全套接層 (SSL) 協定,以加密行事曆用戶端一般使用者與 Calendar Server 之間的資料。為支援 SSL,Calendar Server 使用 Netscape 安全服務 (NSS) 的 SSL 程式庫,Sun Java System Messaging Server 也使用這些程式庫。
您可以在 ics.conf 檔案中將 Calendar Server 配置為僅加密 Calendar Server 登入與密碼或加密整個行事曆階段作業。
本章說明以下主題:
為 Calendar Server 配置 SSL若要為 Calendar Server 配置 SSL,請執行以下步驟:
建立 SSL 證書資料庫
用於 Calendar Server 的 SSL 實現需要證書資料庫。證書資料庫必須定義認證機構 (CA) 和用於 Calendar Server 的證書。
Mozilla 工具
本發行版本包含以下 Mozilla 工具:
- 證書資料庫工具 (certutil),用於建立與管理證書資料庫。如需相關資訊,請參閱以下網站:
http://mozilla.org/projects/security/pki/nss/tools/certutil.html
- 安全模組資料庫工具 (modutil),用於顯示有關可用安全模組的資訊。如需相關資訊,請參閱以下網站:
http://mozilla.org/projects/security/pki/nss/tools/modutil.html
這些公用程式位於以下目錄中:
/opt/SUNWics5/cal/lib
或從網站下載最新版本。
程式庫路徑變數
使用 Mozilla 工具之前,請適當設定您的 LD_LIBRARY_PATH 變數。例如:
setenv LD_LIBRARY_PATH /opt/SUNWics5/cal/lib
範例檔案與目錄
本章中的範例使用以下檔案與目錄:
建立證書資料庫
- 以超級使用者的身份登入或成為超級使用者 (root)。
- 在 /etc/opt/SUNWics5/config/sslPasswordFile 中為 certutil 指定證書資料庫密碼。例如:
# echo password > /etc/opt/SUNWics5/config/sslPasswordFile
其中 password 為您的特定密碼。
- 建立證書資料庫 alias 目錄。例如:
# cd /var/opt/SUNWics5
# mkdir alias
- 移至 bin 目錄並產生證書資料庫 (cert7.db) 與金鑰資料庫 (key3.db)。例如:
# cd /opt/SUNWics5/cal/bin
# ./certutil -N -d /var/opt/SUNWics5/alias
-f /etc/opt/SUNWics5/config/sslPasswordFile
註
當您必須執行 certutil 公用程式時,請完全依照範例,或者查閱 certutil 說明頁面以瞭解語法。
例如,在這種情況下,沒有指定 -d /file 資訊,請勿執行帶有 -N 選項的此公用程式。
- 產生預設的自我簽署的根認證機構證書。例如:
# ./certutil -S -n SampleRootCA -x -t "CTu,CTu,CTu"
-s "CN=My Sample Root CA, O=sesta.com" -m 25000
-o /var/opt/SUNWics5/alias/SampleRootCA.crt
-d /var/opt/SUNWics5/alias
-f /etc/opt/SUNWics5/config/sslPasswordFile -z
/etc/passwd
- 產生用於主機的證書。例如:
# ./certutil -S -n SampleSSLServerCert -c SampleRootCA -t "u,u,u"
-s "CN=hostname.sesta.com, O=sesta.com" -m 25001
-o /var/opt/SUNWics5/alias/SampleSSLServer.crt
-d /var/opt/SUNWics5/alias -f /etc/opt/SUNWics5/config/sslPasswordFile
-z /etc/passwd
其中 hostname.sesta.com 為伺服器主機名稱。
- 驗證證書。例如:
# ./certutil -V -u V -n SampleRootCA -d /var/opt/SUNWics5/alias
# ./certutil -V -u V -n SampleSSLServerCert -d /var/opt/SUNWics5/alias
- 列出證書。例如:
# ./certutil -L -d /var/opt/SUNWics5/alias
# ./certutil -L -n SampleSSLServerCert -d /var/opt/SUNWics5/alias
- 使用 modutil 列出可用的安全模組 (secmod.db)。例如:
# ./modutil -list -dbdir /var/opt/SUNWics5/alias
- 變更 alias 檔案的所有者為 icsuser 與 icsgroup (或 Calendar Server 執行時將使用的使用者與群組身份)。例如:
# find /var/opt/SUNWics5/alias -exec chown icsuser {} \;
# find /var/opt/SUNWics5/alias -exec chgrp icsgroup {} \;
請求與匯入來自根認證機構 (CA) 的證書
以下步驟會產生一個證書請求,並將其提交至公開金鑰基礎架構 (PKI) 網站,然後匯入該證書。
請求與匯入來自根認證機構的證書
- 以超級使用者的身份登入或成為超級使用者 (root)。
- 移至 bin 目錄:
# cd /opt/SUNWics5/cal/bin
- 使用 certutil 根據認證機構或公開金鑰基礎架構 (PKI) 網站來產生證書請求。例如:
# ./certutil -R -s "CN=hostname.sesta.com, OU=hostname / SSL Web Server, O=Sesta, C=US" -p "408-555-1234" -o hostnameCert.req -g 1024
-d /var/opt/SUNWics5/alias
-f /etc/opt/SUNWics5/config/sslPasswordFile
-z /etc/passwd -a其中 hostname.sesta.com 為主機名稱。
- 向認證機構或公開金鑰基礎架構 (PKI) 網站為 SSL Web 伺服器請求一個測試證書。複製 hostnameCert.req 檔案的內容,並將其貼入證書請求中。
當您的證書被簽署並可取得時,您會收到通知。
- 將認證機構證書鏈與 SSL 伺服器證書複製至文字檔案中。
- 將認證機構證書鏈匯入證書資料庫以建立授權鏈。例如:
# ./certutil -A -n "GTE CyberTrust Root" -t "TCu,TCu,TCuw"
-d /var/opt/SUNWics5/alias -a -i /export/wspace/Certificates/CA_Certificate_1.txt
-f /etc/opt/SUNWics5/config/sslPasswordFile# ./certutil -A -n "Sesta TEST Root CA" -t "TCu,TCu,TCuw"
-d /var/opt/SUNWics5/alias -a -i /export/wspace/Certificates/CA_Certificate_2.txt
-f /etc/opt/SUNWics5/config/sslPasswordFile- 匯入已簽署的 SSL 伺服器證書:
# ./certutil -A -n "hostname SSL Server Test Cert" -t "u,u,u"
-d /var/opt/SUNWics5/alias -a -i /export/wspace/Certificates/SSL_Server_Certificate.txt
-f /etc/opt/SUNWics5/config/sslPasswordFile- 列出證書資料庫中的證書:
# ./certutil -L -d /var/opt/SUNWics5/alias
- 在 ics.conf 檔案中將 SSL 伺服器暱稱配置為已簽署的 SSL 伺服器證書,例如:"hostname SSL Server Test Cert"。
注意 ics.conf 檔案中用於 service.http.calendarhostname 與 service.http.ssl.sourceurl 參數的主機名稱應符合 SSL 證書上的主機名稱 (假定您的系統擁有數個別名)。例如:calendar.sesta.com
在 ics.conf 檔案中配置 SSL 參數
若要將 SSL 與 Calendar Server 配合實現,必須在 ics.conf 檔案中設定特定的參數。如果 ics.conf 檔案中沒有表格 7-1 中列出的某些參數,則請在該檔案中增加這些參數,並指定其值。由於 ics.conf 在系統啟動時 (發出 start-cal 時) 處於唯讀狀態,因此新值將在 Calendar Server 重新啟動後才會生效。如需有關這些 SSL 參數的說明,請參閱 SSL 配置。
註
透過設定以下參數,您可以將 Calendar Server 配置為僅加密 Calendar Server 登入與密碼或加密整個行事曆階段作業:service.http.ssl.securelogin 和 service.http.ssl.securesession。
如果您要加密登入與階段作業,則必須將 "yes" 指定為這兩個參數的值。
疑難排解 SSL首先,請定期備份您的證書資料庫,以免發生無法回復的問題。如果您的 SSL 發生問題,可以考量以下一些內容:
檢查 cshttpd 程序
SSL 要求 Calendar Server cshttpd 程序正在執行。若要確定 cshttpd 是否正在執行,請在 Solaris 作業系統上使用以下指令:
# ps -ef | grep cshttpd
驗證證書
若要列出證書資料庫中的證書並檢查其有效日期,請在 Solaris 作業系統上使用以下指令:
# ./certutil -L -d /var/opt/SUNWics5/alias
查閱 Calendar Server 日誌檔
檢查 Calendar Server 日誌檔,以找出所有的 SSL 錯誤。如需更多資訊,請參閱「監視 Calendar Server 日誌檔」。
連線至 SSL 連接埠
使用瀏覽器和以下 URL 連線至 SSL 連接埠:
https://server-name:ssl-port-number
其中:
server-name 為執行 Calendar Server 的伺服器之名稱。
ssl-port-number 為 ics.conf 檔案中 service.http.ssl.port 參數指定的 SSL 連接埠號。預設為 443。