編輯存取控制設定

您可以透過數種安全性服務與機制 (包括認證、授權和存取控制) 保護 Web 伺服器中的資源。

認證是確認識別的程序。授權表示將存取受限資源的權限授予某個身份識別,並由存取控制機制強制執行這些限制。許多安全模型與服務都能強制執行認證與授權。

以下小節說明了所選配置的安全性設定配置程序。

編輯認證資料庫

認證資料庫 (也稱為 auth-db) 代表已知使用者的資料庫,認證用戶端請求的機制就是以該資料庫為基準。伺服器可同時配置多個 auth-db 項目,且這些項目可以為相同的類型、不同的類型或任意類型結合。auth-db 使用者資料庫由 ACL 引擎使用。請注意,伺服器還支援另一種類型的使用者資料庫,稱為 Java 範圍。

  1. LDAP — 使用者資料儲存在任何 LDAP 目錄伺服器 (包含 Sun Java System Directory Server) 中。

  2. 檔案 — 使用者資料儲存在磁碟檔案中。對於不使用 (或不需要) 集中使用者管理的開發或小型部署來說,此 auth-db 尤其方便。檔案 auth-db 支援數種不同的檔案格式︰

  3. PAM — PAM 是 Sun Java System Web Server 7.0 支援的新 auth-db。PAM auth-db 將認證委託給 Solaris PAM 堆疊,以使 Web 伺服器系統上的現有 Solaris 使用者也能夠通過 Web 伺服器認證。 請注意,僅 Solaris 9 和 Solaris 10 (或更高版本) 支援 PAM auth-db,且 Web 伺服器實例必須以超級使用者身份執行。

編輯使用者和群組

Administration Server 可讓您編輯 LDAP 和檔案 auth-db 類型的使用者帳號、群組清單、存取權限、組織單位以及其他使用者特定資訊和群組特定資訊。

使用者和群組資訊以文字格式儲存在平面檔案中,或儲存在目錄伺服器 (例如 Sun Java System Directory Server) 中,支援 簡易目錄存取協定 (LDAP)。LDAP 是透過 TCP/IP 執行的開放式目錄存取協定,可延伸至全域大小和數百萬個項目。

金鑰檔案是一個文字檔案,其中包含雜湊格式的使用者密碼以及該使用者所屬群組的清單。金鑰檔案中儲存的使用者和群組僅由 file 範圍用於進行授權和認證;他們與系統使用者和群組無任何關係。

增加使用者

  1. 選取配置。

    從配置清單中選取配置。按一下 [配置] 標籤以取得清單。

  2. 按一下 [存取控制] > [使用者] 標籤。

  3. 按一下 [新增] 按鈕。

  4. 增加使用者資訊。

    輸入使用者 ID 與密碼。選擇性地輸入使用者所屬的群組。使用者 ID 必須唯一。如果是基於 LDAP 的認證資料庫,則管理伺服器將從搜尋基底 (基底 DN) 向下搜尋整個目錄,以查看使用者 ID 是否處於使用中狀態,確保使用者 ID 的確是唯一。但請注意,如果使用 Directory Server ldapmodify 指令行公用程式 (如果可用) 建立使用者,則無法確保使用者 ID 為唯一一個。

增加群組

  1. 選取配置。

    從配置清單中選取配置。按一下 [配置] 標籤以取得清單。

  2. 按一下 [存取控制] > [群組] 標籤。

  3. 按一下 [新增] 按鈕。

  4. 輸入群組名稱。

  5. 在 [將使用者增加至群組中] 區段中搜尋,並將現有使用者增加至群組中。


    備註 – 在 keyfile 或 digestfile 之類的認證資料庫中建立群組時,至少需要指定一個使用者。


刪除使用者

  1. 選取配置。

    從配置清單中選取配置。按一下 [配置] 標籤以取得清單。

  2. 按一下 [存取控制] > [使用者] 標籤。

  3. 選取您需要從中刪除使用者的認證資料庫。

  4. 在 [搜尋使用者] 文字方塊中輸入使用者 ID,然後按一下 [搜尋] 按鈕。

  5. 從 [使用者 ID] 欄中選取使用者,然後按一下 [刪除] 按鈕。


    注意 注意 – 如果刪除使用者後,群組中就沒有任何成員,則刪除 keyfile/digestfile 認證資料庫中的使用者時也會刪除關聯的群組。其原因是 keyfile/digestfile 認證資料庫不允許群組中無成員。


刪除群組

  1. 選取配置。

    從配置清單中選取配置。按一下 [配置] 標籤以取得清單。

  2. 按一下 [存取控制] > [群組] 標籤。

  3. 選取您需要從中刪除群組的認證資料庫。

  4. 在 [搜尋使用者] 文字方塊中輸入使用者 ID,然後按一下 [搜尋] 按鈕。

  5. 從 [使用者 ID] 欄中選取使用者,然後按一下 [刪除] 按鈕。


    備註 – 刪除群組並不會刪除屬於該群組的使用者。您必須手動刪除使用者或重新指定群組。


編輯存取控制

伺服器使用儲存在本機上的存取控制清單 (ACL) 來支援認證與授權,這些清單說明使用者對資源具有哪些存取權限。例如,ACL 中的某項目可授予名為 John 的使用者對特定資料夾 miscread 權限。

本節說明了限制存取您網站上檔案或目錄的程序。您可以為所有伺服器設定全域存取控制規則,也可以為特定的伺服器進行個別設定。例如人力資源部門可以建立 ACL,允許所有經過認證的使用者檢視其自己的薪資資料,但是僅允許負責薪資的人力資源人員更新資料。

伺服器支援的核心 ACL 是三種類型的認證: 基本認證、SSL 認證以及摘要認證。

若要編輯存取控制設定,請執行以下作業:

  1. 按一下 [配置] 標籤,然後選取配置。

  2. 按一下 [存取控制] 標籤 > [存取控制清單] 子標籤

  3. 按一下 [新增] 按鈕以增加新的 ACL,或按一下現有 ACL 以編輯設定。

增加新的 ACL

以下小節說明將新的 ACL 增加至配置的程序。

  1. 按一下 [配置] 標籤,然後選取配置。

  2. 按一下 [存取控制] 標籤 > [存取控制清單] 子標籤

  3. [新增] 按鈕,增加新的 ACL。

下表說明了 [新增 ACL] 頁面中的欄位。

表 18 欄位說明 > 增加 ACL

欄位

說明

資源

已命名/URI/路徑

選取您需要設定存取限制和指定值的資源類型。

URI 資源範例 — “/sales”

路徑資源範例 — “/usr/sun/server4/docs/cgi-bin/*”

認證資料庫

認證資料庫可讓您選取伺服器將用於認證使用者的資料庫。

預設為 keyfile

認證方法

  1. 基本 — 使用 HTTP 基本方法從用戶端取得認證資訊。僅當在伺服器上啟用 SSL 時,才會透過網路對使用者名稱和密碼進行加密。

  2. SSL — 使用用戶端憑證進行使用者認證。若要使用此方法,必須為伺服器啟用 SSL。啟用加密後,您可以結合使用「Basic」和「SSL」方法。

  3. 摘要 — 使用認證機制,使得瀏覽器能夠根據使用者名稱和密碼進行認證,而無須傳送明文格式的使用者名稱和密碼。瀏覽器利用使用者的密碼和 Web 伺服器提供的某些資訊,透過 MD5 演算法來建立摘要值。請注意,若要使用摘要,基本認證資料庫必須也支援摘要。 這表示僅當已安裝摘要認證外掛程式時,檔案 auth-db 才使用 digestfile 或 LDAP auth-db。

  4. 其他 — 使用透過存取控制 API 建立的自訂方法。

提示進行認證

[提示進行認證] 選項可讓您輸入顯示在認證對話方塊中的訊息文字。您可以使用此文字來說明使用者需要輸入的內容。基於瀏覽器不同,使用者將看到該提示中大概前 40 個字元。

通常,Web 瀏覽器會快取使用者名稱和密碼,並將其與提示文字相關聯。當使用者存取具有相同提示的伺服器的檔案和目錄時,不需要再次輸入使用者名稱和密碼。如果您要讓使用者針對特定檔案和目錄再次進行認證,則只需變更該資源上 ACL 的提示。

拒絕的存取回應

指定存取資源遭拒絕時所採取的回應動作。

1. 使用預設訊息回應 — 選取此選項,以顯示來自伺服器的標準存取拒絕訊息。

2. 使用 URL 回應 — 選取此選項,以將請求轉寄至其他外部 URL 或錯誤頁面。

另請參閱增加新的 ACE

增加新的 ACE

本節說明為所選配置增加新存取控制項目 (ACE) 的程序。

  1. 按一下 [配置] 標籤,然後選取配置。

  2. 按一下 [存取控制] 標籤 > [存取控制清單] > [新增] 按鈕

  3. 在 [存取控制項目] 下,按一下 [新增] 按鈕以增加新的 ACE。

下表說明了 [新增 ACE] 精靈頁面中的欄位。

表 19 欄位說明 > 增加新的 ACE

欄位

說明

動作

  • 允許表示使用者或系統可以存取請求的資源

  • 拒絕表示使用者或系統不能存取該資源

    伺服器將檢查整個存取控制表示式 (ACE) 清單,以確定存取權限。

使用者

1. 任何人 — 無認證。授予每個人存取權。

2. 認證資料庫中的所有使用者 — 對認證資料庫中指定的所有使用者授予存取權。

3. 僅認證資料庫中的以下使用者 — 僅限於認證資料庫中所選使用者存取。

您可以根據一般屬性 (如名字、姓氏和電子郵件位址) 來查詢認證資料庫。

群組

使用群組認證時,會提示使用者輸入使用者名稱和密碼,然後使用者才能存取在存取控制規則中指定的資源。

使用此選項限制對特定群組的存取。

從主機

您可以根據請求的來源電腦限定對管理伺服器或您的網站的存取。

  • [任何位置] 允許存取所有使用者和系統

  • [僅來自] 僅允許對特定主機名稱或 IP 位址進行存取

如果選取 [僅來自] 選項,請在 [主機名稱] 或 [IP 位址] 欄位中輸入萬用字元樣式或以逗號分隔的清單。依主機名稱進行限定比依 IP 位址進行限定更為靈活: 使用者的 IP 位址發生變更時,您不需要更新此清單。但是,依 IP 位址進行限定更可靠: 如果某個連線用戶端的 DNS 查找失敗,將無法使用主機名稱限制。

您只能在萬用字元樣式中使用 * 萬用字元表示法,以比對電腦的主機名稱或 IP 位址。例如,若要允許或拒絕特定網域內的所有電腦,請輸入與該網域內所有主機相符的萬用字元樣式,例如 *.sun.com。您可以為存取管理伺服器的超級使用者設定不同的主機名稱和 IP 位址。

對於主機名稱,* 必須替代名稱中的整個部分。亦即,*.sun.com 有效,但 *users.sun.com 無效。* 出現在主機名稱中時,必須是最左側的字元。

例如,*.sun.com 有效,但 users.*.com 無效。對於 IP 位址,* 必須替代位址中的整個位元組。例如 198.95.251.* 有效,但 198.95.251.3* 無效。* 出現在 IP 位址中時,必須是最右側的字元。例如 198.* 有效,但 198.*.251.30 無效。

權限

存取權限可限制對您的網站上檔案和目錄的存取。除了允許或拒絕所有存取權限外,您還可以指定一個允許或拒絕部分存取權限的規則。例如,您可以授予使用者對您擋案的唯讀存取權限,這樣他們可以檢視資訊,但不能變更檔案。

  • [所有存取權限] 是預設設定,將允許或拒絕所有權限

  • [僅限以下權限] 允許您選取要允許或拒絕的權限組合:

    • 讀取可供使用者檢視檔案,包括 HTTP 方法 GET、HEAD、POST 與 INDEX

    • 寫入可讓使用者變更或刪除檔案,包括 HTTP 方法 PUT、DELETE、MKDIR、RMDIR 與 MOVE。若要刪除檔案,使用者必須同時具有寫入和刪除權限

    • 執行可讓使用者執行伺服器端應用程式,例如 CGI 程式 、Java applet 以及代理程式

    • 刪除可讓還具有寫入權限的使用者刪除檔案或目錄。

    • 清單可讓使用者存取目錄中不包含 index.html 檔案的檔案清單。

    • 資訊可讓使用者接收有關 URI 的資訊,例如 http_head

繼續

伺服器將檢查整個存取控制表示式 (ACE) 清單以確定存取權限。例如,第一個 ACE 通常會拒絕所有使用者。如果將第一個 ACE 設定為「繼續」,伺服器將檢查清單中的第二個 ACE,如果它們相符,則會使用下一個 ACE。

如果核取「繼續」,則將拒絕所有使用者存取資源。伺服器將繼續檢查清單,直至找到某個不相符的 ACE,或者找到某個相符但未設定為繼續的 ACE。最後一個相符的 ACE 將確定是允許還是拒絕存取。

另請參閱增加新的 ACL