Sun ONE logo     上一章      目錄      索引      下一章     
Sun ONE Directory Server 5.2 安裝和調整指南



第 5 章   調整作業系統

預設的系統與網路設定值並不適合高效能的目錄服務。調整系統使 Directory Server 效能最佳化至少包括檢查系統是否已安裝最新的建議修補檔案、強制執行基本的安全措施以及變更一些系統與網路設定值。本章討論這些調整問題。

本產品隨附的 idsktune 公用程式 (在 Solaris 封裝版本中為 /usr/sbin/directoryserver idsktune) 可幫助您診斷基本的系統組態缺失。此公用程式會針對支援高效能的目錄服務提供系統調整建議。但此公用程式並不會真正執行所提供的任何建議事項。應由合格的系統管理員來執行各項調整建議事項。

檢查平台支援

表 1-1 指定此版本所支援的平台及相關硬體結構。如需更新的支援平台清單,請參閱產品版本資訊。

安裝 Windows 系統時,請指定電腦是獨立伺服器,而不是任何現有網域或工作群組的成員,以減少網路安全服務的依存度。

修補系統

為維護系統整體的安全性,並確保 Sun ONE Directory Server 5.2 的適當安裝與作業,請安裝最新的建議系統修補檔案、Service Pack 或修正。表 5-1 建議可尋找必要修補檔案的位置。

表 5-1    取得修補檔案的位置,按平台區分 

平台

瀏覽...

Sun Solaris 作業環境

http://sunsolve.sun.com/

Hewlett Packard HP-UX

http://www.hp.com/support/

IBM AIX

http://www.ibm.com/support/

Microsoft Windows

http://support.microsoft.com/

Red Hat Linux

http://www.redhat.com/

強制執行基本安全性

本節中所建議的事項並無法消除所有風險。事實上,這些建議事項只是簡短的檢查清單,幫助您管制一些最顯而易見的安全性風險。

隔離系統

如有可能,請用網路防火牆將執行 Directory Server 的系統與公用網際網路隔離開來。在必須防範 IP 式攻擊的 Windows 平台上執行 Directory Server 時,將系統隔離顯得尤其重要。

無雙重開機系統

在執行 Directory Server 的系統上,請勿使用雙重開機系統或執行其他作業系統。其他系統可能會允許存取另一個系統中受限制的檔案。

強性密碼

請使用長度至少 8 個字元的超級使用者或系統管理員密碼,並包含標點符號或其他非字母字元。在 Windows 平台上執行 Directory Server 時,使用強性密碼尤其重要。

如果您選擇使用較長的作業系統密碼,則可能必須設定系統處理密碼的方式。如需指令,請參閱作業系統的說明文件。

(Windows) 本機安全性原則

請執行 Windows 伺服器的本機安全性原則,以鎖定登入嘗試失敗的使用者。啟用並設定事件記錄,為部署管理適當大小的記錄檔。此外,也啟用登入嘗試的稽核記錄。請考慮將系統管理員的帳戶重新命名,讓帳戶更難被猜測到。

如需詳細資料,請參閱 Windows 說明。

(UNIX 平台) 使用者與群組

基於安全性的理由,請勿以超級使用者權限執行 Directory Server 或 Administration Server。例如,您可以建立沒有登入權限的使用者與群組,然後以此使用者及群組安裝及執行伺服器。如果將使用者與群組加入到本機檔案,則 /etc/passwd 項目可能如下例所示:

server:x:61001:Server User:/dev/null:/dev/null

對應的 /etc/group 項目可能如下例所示:

servers::61001:

為了便於除錯,您可以選擇允許此使用者與群組身份執行的處理序,能夠使用 Solaris 系統上的 coreadm (1M) 等公用程式傾印核心。

如果特定部署需要與其他伺服器 (如郵件伺服器) 共用 Directory Server 檔案,請考慮用同一個使用者與群組執行那些伺服器。

如果必須以超級使用者身份執行 Administration Server,請考慮在不用時停止服務。

停用不需要的服務

為獲得最高效能與最低風險,請將系統保留供 Directory Server 專用。執行額外的服務 (尤其是網路服務) 會對伺服器效能及調整性產生負面影響,也可能增加安全性風險。

請儘可能停用各種網路服務。Directory Server 只用到 TCP/IP,不需要檔案共用及其他服務。請停用 IP 路由、郵件、NetBIOS、NFS、RAS、網頁發佈及 Windows Network Client 等服務。尤其在 Windows 上,請停止並停用所有服務,只留下事件記錄檔、隨插即用、受保護的存放裝置、安全性帳戶管理員 (SAM)、Sun ONE Administration Server、Sun ONE Directory Server、遠端程序呼叫 (RPC) 及 SNMP。請考慮停用 telnetftp

telnetftp 跟許多網路服務一樣具有安全性風險。這兩種服務尤其危險,因為它們會在網路上以純文字傳送使用者密碼。您可以改用 Secure Shell (ssh) 與 Secure FTP (sftp) 等用戶端來代替 telnetftp

如果 Directory Server 實例本身不提供網路的名稱服務,請考慮啟用系統的名稱服務。Sun ONE Server Console 等遠端管理工具必須依靠名稱服務才能執行某些作業,例如 IP 位址與主機名稱之間的轉譯。

如需有關停用網路服務的詳細資料,請參閱作業系統的說明文件。

保持正確時間

確定系統時鐘與其他系統的時鐘適度地同步,以輔助不同系統間記錄檔中日期與時間戳記的複寫作業與相互關聯。請考慮使用網路時間通訊協定 (NTP) 用戶端來設定正確的系統時間,尤其是在 Windows 系統上。

系統失敗後重新啟動

如有可能,請依照「Sun ONE Directory Server 管理指南」所述停止 Directory Server。如果不是適當關機,而是在系統關機時突然停止,則資料庫毀損可能導致 Directory Server 啟動速度變慢。可能需要一段時間來回復資料庫。

(Solaris  Packages) 在安裝與組態程序中,設定適當的指令檔,以在開機時重新啟動。

(Windows) 將 Windows 設為系統失敗後會自動重新啟動。如需詳細資料,請參閱 Windows 說明。

至於其他平台,請參閱作業系統的說明文件,以了解開機時啟動服務的詳細資訊。

產生基本的調整建議

使用 idsktune 公用程式、Solaris 封裝版本的 /usr/sbin/directoryserver idsktune 或位於內含產品二進位檔案碼之目錄內其他版本的 idsktune,以產生非 Windows 平台上的基本調整建議。

在您以超級使用者身份執行此公用程式時,它會收集系統的相關資訊,並顯示通知、警告、錯誤以及建議的更正動作。例如,此公用程式會檢查:

  • 此版本是否支援作業系統與核心的版本。
  • 可用記憶體與磁碟空間是否符合一般用途的最小需求。
  • 系統資源限制是否符合一般用途的最小需求。
  • 是否已安裝需要的修補檔案或 Service Pack。


  • 注意

    在做為實際執行用途的系統上安裝 Directory Server 軟體之前,請至少修正所有 ERROR 狀況。



個別部署的需求可能高於最小需求。您可以選擇提供多於 idsktune 公用程式所指明為最小系統需求的資源。

如需關於此公用程式的詳細資料,請參閱 Sun ONE Directory Server Resource Kit 說明文件。您可以依照「下載目錄伺服器工具」中的說明,取得 Sun ONE Directory Server Resource Kit。

調整系統設定值

您可以使用 idsktune 工具,讀取目前的系統設定值及建議的變更。一般而言,不論是專門執行 Directory Server 的系統,或執行額外應用程式的系統,都可因執行建議事項而獲得最佳效能。

執行特定建議事項之前,請先考量本機的網路狀況與其他應用程式。如需其他網路調整提示,請參閱作業系統的說明文件。

表 5-2    部署前要檢查的組態檔 

平台

檔案

說明

Solaris 作業環境

/etc/init.d/inetinit

加入 ndd 陳述式以進行調整

/etc/system

檢查系統限制

/etc/vfstab

確定檔案位於本機

HP-UX

/etc/rc.config.d/nddconf

加入 ndd 陳述式以進行調整

或者,使用 sam (1M)。

Red Hat Linux

/etc/fstab

確定檔案位於本機

/etc/security/limits.conf

加入 nofile 強制性限制指示詞

/etc/sysctl.conf

檢查、設定核心參數

/proc/sys/fs/file-max

檢查檔案描述項限制

(Windows) 延遲程序呼叫

Windows 預設以延遲程序呼叫 (DPC) 來處理延遲的中斷要求,以管理從多處理器系統中傳入的網路流量,這種方式可能對效能產生負面影響。事實上,成為 DPC 的延遲中斷可能會從一個處理器重新排程到另一個處理器,因而產生可觀的額外負荷。為避免這些 DPC 額外負荷的問題,請將位於下列登錄機碼下的 ProcessorAffinityMask 值設定為 0

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NDIS\Parameters

檔案描述項

Directory Server 在處理用戶端同時連線時會使用檔案描述項。若系統可用或處理序可用之檔案描述項數目的最大值太低,則可能因而限制同時連線的數目。因此,與檔案描述項數目相關的建議事項便與系統上 Directory Server 所能夠處理的同時連線數目有關。

在 Solaris 系統上,可用的檔案描述項數目是透過 rlim_fd_max 參數來設定,如 /usr/sbin/directoryserver idsktune (封裝版本) 或 idsktune (無封裝軟體) 的輸出所述。如需有關修改可用檔案描述項數目的進一步說明,請參閱作業系統的說明文件。

修改系統可用之檔案描述項數目的最大值後,請參閱表 9-2 了解有關設定 Directory Server 以使用可用檔案描述項的資訊。

(HP-UX) 大型檔案支援

有些 HP-UX 系統預設為不支援大型檔案。如需有關在要安裝 Directory Server 的檔案系統上啟用大型檔案支援的說明,請參閱 HP-UX 產品說明文件。idsktune 公用程式的輸出中也提供相關說明。

(HP-UX) 執行緒擱置逾時

在一些 HP-UX 系統上,執行緒擱置逾時的最大值設定可能不適當,如 idsktune 公用程式所指示。如需有關增加執行緒擱置逾時之最大值的說明,請參閱 HP-UX 說明文件。idsktune 公用程式的輸出中也提供相關說明。

(HP-UX) 每個處理序的執行緒

在一些 HP-UX 系統上,每個處理序的執行緒數目最大值可能太低,如 idsktune 公用程式所指示。如需有關增加每個處理序的執行緒最大值說明,請參閱 HP-UX 說明文件。idsktune 公用程式的輸出中也提供相關說明。

傳輸控制通訊協定 (TCP) 設定值

特定的網路設定取決於平台。在一些系統上,可能藉由修改 TCP 設定來增強 Directory Server 效能。本節討論 idsktune 有關 TCP 設定值之各項建議背後的理由。

處於 TIME-WAIT 狀態的已關閉連線

有些系統允許您設定 TCP 連線在關閉後仍然保留在核心表中的時間長度。連線若處於保留狀態,便可以快速重新開啟。當設定太高時,系統可能會花相當長的時間追蹤核心表格中大量的連線,而減少 Directory Server 可用的連線數目。對於大部分部署,若將此參數值設成 30 秒 (30,000 毫秒),可使 Directory Server 能夠有更多的同時連線。

在 Solaris 系統上,這個時間間隔是透過 tcp_time_wait_interval 參數來設定,如 /usr/sbin/directoryserver idsktune (封裝版本) 或 idsktune (無封裝軟體) 的輸出所述。

連線擱置接受

有些系統允許您設定 TCP 聆聽程式 (如 Directory Server) 的 TCP 連線擱置接受數目。當設定太低時,會限制 Directory Server 可接受的擱置連線數目。對於大部分部署,若將此參數值至少設成 1024,可使 Directory Server 能夠處理更多的同時連線要求。

在 Solaris 系統上,允許的擱置連線數是透過 tcp_conn_req_max_q 參數來設定,如 /usr/sbin/directoryserver idsktune (封裝版本) 或 idsktune (無封裝軟體) 的輸出所述。請考慮將 tcp_conn_req_max_q0 增加到 2048。

延遲認可

有些系統允許您對不直接與系統連線的主機設定 TCP 認可延遲的時間長度。如表 9-2 中所述,將 cn=config 上的 nsslapd-nagle 設定為 off,而不是直接設定延遲時間。

非作用中連線

有些系統允許您設定傳送持續作用封包之間的間隔。此設定值可決定在 TCP 連線沒有作用且可能已經中斷的情況下仍保持連線的時間長度。當設定太高時,持續作用間隔可能導致系統使用不必要的資源為已經中斷連線的用戶端保留持續作用的連線。對於大部分部署,若將此參數值設成 600 秒 (600,000 毫秒 = 10 分鐘),可使 Directory Server 能夠有更多的同時連線。

在 Solaris 系統上,此時間間隔是透過 tcp_keepalive_interval 參數來設定,如 /usr/sbin/directoryserver idsktune (封裝版本) 或 idsktune (無封裝軟體) 的輸出所述。

傳入連線

有些系統允許您設定系統等候未傳送認可之傳入連線的時間長度。當設定太高時,可能在偵測連線失敗時造成過長的延遲。對於建構在快速、可靠網路上的內部網路部署,若將此參數值設成 600 秒 (600,000 毫秒 = 10 分鐘),可能會提高效能。

在 Solaris 系統上,此時間間隔是透過 tcp_ip_abort_interval 參數來設定,如 /usr/sbin/directoryserver idsktune (封裝版本) 或 idsktune (無封裝軟體) 的輸出所述。

傳出連線

有些系統允許您設定系統等候建立傳出連線的時間長度。當設定太高時,在與無法快速回應的目標伺服器 (例如複寫伺服器) 建立傳出連線時,會造成過長的延遲。對於建構在快速、可靠網路上的內部網路部署,若將此參數值設成 10 秒,可能會提高效能。

在 Solaris 系統上,此時間間隔是透過 tcp_ip_abort_cinterval 參數來設定,如 /usr/sbin/directoryserver idsktune (封裝版本) 或 idsktune (無封裝軟體) 的輸出所述。

重新傳輸逾時

有些系統允許您設定封包重新傳輸之間初始的時間間隔。此設定會影響重新傳輸未認可的封包之前等候的時間。當設定太高時,用戶端可能會一直等候已遺失的封包。對於建構在快速、可靠網路上的內部網路部署,若將此參數值設成 500 毫秒,可能會提高效能。

在 Solaris 系統上,此時間間隔是透過 tcp_rexmit_interval_initial 參數來設定,如 /usr/sbin/directoryserver idsktune (封裝版本) 或 idsktune (無封裝軟體) 的輸出所述。

Windows 可實現 Van Jacobson TCP 快速重傳與復原演算法,在收到 ACK 時快速重新傳輸遺漏的區段,而不必等到重新傳輸計時過期。若要執行 Van Jacobson 演算法,請編輯登錄機碼:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters

加入具有 REG_DWORD 類型的 TcpMaxDupAcks。將數值設成 ACK 的個數。範圍介於 1-3 之間,預設值是 2。

序號

有些系統允許您設定系統處理初始序號產生的方式。對於外部網路與網際網路部署,請將此參數設成依據 RFC 1948 的初始序號產生,以防止序號攻擊。

在 Solaris 系統上,此運作方式是透過 tcp_strong_iss 參數來設定,如 /usr/sbin/directoryserver idsktune (封裝版本) 或 idsktune (無封裝軟體) 的輸出所述。


上一章      目錄      索引      下一章     
版權所有 2003 Sun Microsystems, Inc. 保留所有權利。