Sun ONE Calendar Server 6.0 管理員指南 |
第 9 章
配合使用 SSL 與 Calendar ServerSun ONE Calendar Server 6.0 支援安全套接層 (SSL) 協定,以加密行事曆用戶端一般使用者與 Calendar Server 之間的資料。為支援 SSL,Calendar Server 使用 Netscape 安全服務 (NSS) 的 SSL 程式庫,Sun ONE Messaging Server 也使用這些程式庫。
您可以在 ics.conf 檔案中將 Calendar Server 配置為僅加密 Calendar Server 登入與密碼或加密整個行事曆階段作業。
本章描述以下主題:
為 Calendar Server 配置 SSLCalendar Server SSL 配置是「自備」的,不需要 Delegated Administrator。
若要為 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/bin
程式庫路徑變數
使用 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
- 產生預設的自我簽署的 root 使用者證書授權機構證書。例如:
# ./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 {} \;
請求與匯入來自 Root 使用者證書授權機構 (CA) 的證書
以下步驟會產生一個證書請求,並將其提交至公開密鑰基礎架構 (PKI) 網站,然後匯入該證書。
請求與匯入來自 root 使用者證書授權機構的證書
- 以超級使用者的身份登入或成為超級使用者 (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 網路伺服器請求一個測試證書。複製 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 檔案中設定特定的參數。本節描述以下內容:
SSL 配置參數
程式碼範例 9-1 顯示 SSL 配置參數。如果這些參數有不在 ics.conf 檔案中的,請將其新增至該檔案。設定這些參數之後,請重新啟動 Calendar Server 以使這些值生效。如需有關這些 SSL 參數的說明,請參閱 SSL 配置。
小心 Calendar Server 不啟用遠端管理。請勿變更 service.admin.port 參數,因為 Calendar Server 已將其設定為需要的值。否則,csadmind 程序可能無法正確執行。
Calendar Server 登入或整個行事曆階段作業的加密
透過設定以下參數,您可以將 Calendar Server 配置為僅加密 Calendar Server 登入與密碼或加密整個行事曆階段作業:
疑難排解 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。