[z/OS]

IBM HTTP Server for z/OS 5.3 版:第 4 部分:基本配置

IBM® HTTP Server for z/OS® 5.3 版中的各種功能可用於 IBM HTTP Server,但實作方式不同。瞭解這兩種 Web 伺服器的基本配置主要差異。

此部分和章節對應於 IBM HTTP Server for z/OS 5.3 版之 z/OS HTTP Server 規劃、安裝及使用手冊(出版品號碼 SC34-4826-09)中的部分和章節。

如何提供檔案

IBM HTTP Server 可以提供靜態檔案或執行 CGI Script 檔案。這些檔案可以在預設目錄中,或是您指定的目錄中。您可以使用各種指引來提供這些檔案。請使用 Directory 區段將指引集合在一起,並指定其套用至特定目錄。

依預設,靜態檔案位在 install_root/htdocs 目錄中。您可以在 Alias 指引上指定替代目錄,以將替代目錄對映至網址字首。然後,您可以建立或複製 Directory 區段,並將其指向替代目錄。例如,您可以複製指定 install_root/htdocs 預設目錄的 Directory 指引,並從預設目錄切換至 install_root/static 目錄。

依預設,CGI Script 會從 install_root/cgi-bin/ 目錄執行。您可以在 ScriptAlias 指引上指定替代目錄,以將替代目錄對映至網址字首。然後,您可以建立或複製 Directory 區段,並將其指向替代目錄。例如,您可以複製指定 install_root/cgi-bin/ 預設目錄的 Directory 指引,並從預設目錄切換至 install_root/cgi2 目錄。

如需指引的相關資訊,請參閱 Apache HTTP Server 說明文件。

如何提供目錄清單

因為預設 httpd.conf 檔案中的 DirectoryIndex 指引設為 index.html,所以 IBM HTTP Server 會為目錄要求提供 index.html 的目錄索引檔。您可以將 DirectoryIndex 指引設為其他檔案,讓 IBM HTTP Server 提供。您也可以將 Options 指引搭配 Indexes 引數加入新建或現有的 Directory 區段中,以便 Web 伺服器傳回該目錄的資訊。如果您在 Indexes 引數前面加上 +,Directory 區段就會繼承其他 Options 指引上設定的引數。如果 DirectoryIndex 和 Options 指引皆未設定,Web 伺服器就會傳回 403 錯誤。

如需指引的相關資訊,請參閱 Apache HTTP Server 說明文件。

如何配置伺服器

您只能藉由更新 EBCDIC 配置檔來管理 IBM HTTP Server

預設 IBM HTTP Server 配置檔為 install_root/conf/httpd.conf。如果您想要檢閱或回復原廠預設值,可以在 install_root/conf/httpd.conf.default 檔案中找到這些值。

要備份的檔案

請定期備份下列檔案:
  • 配置檔,預設為 install_root/conf/httpd.conf 檔案
  • 環境變數檔,也就是 install_root/bin/envvars 檔案
  • Secure Sockets Layer (SSL) 檔案,例如下列檔案:
    • 金鑰資料庫檔案,副檔名為 kdb
    • 隱藏檔案,副檔名為 sth
    • 要求資料庫檔案,副檔名為 rdb
    • 憑證撤銷清冊檔案,副檔名為 crl
    • 憑證檔案,副檔名為 arm
  • 指令的輸出(例如 install_root/bin/htpasswd 指令),可用於存取控制
  • 手動編輯的群組清單
  • HTTP 要求中提供的任何內容,例如 HTML 檔案、影像、Java™ Script、階式樣式表和 CGI Script。

加密支援

美國政府和美國國外的政府針對用於加密的產品有所規範,除非嚴格限制其金鑰大小,否則禁止輸出。隨著美國政府更新其輸出法律,以及美國國外的政府更新其輸入規則,可支援的金鑰長度和密碼規格也會隨之變更。

IBM HTTP Server 支援 SSL 密碼規格主題中所列出的 SSL 密碼。

硬體加密

您可以使用硬體加密來增進用戶端與伺服器之間的 SSL 階段作業效能。對 Web 伺服器而言,效能提升最多的顯然是在 SSL 信號交換。信號交換使用非對稱金鑰和功能。Web 伺服器使用 RSA 技術來實作非對稱功能。如果您實作 SSL 而未使用硬體加密,非對稱功能會比對稱功能慢很多。因此,當您以 Web 伺服器來實作硬體加密時,務必妥善設定非對稱主要金鑰。您可以使用「整合加密服務機能 (ICSF)」軟體,以充分利用效能提升的好處。非對稱主要金鑰與 Web 伺服器的 RSA 金鑰不同。

「資料加密標準 (DES)」密碼規格和「三重 DES 演算法」密碼規格會使用對稱金鑰來處理資料傳輸。資料傳輸在硬體中不一定會比較快。資料傳輸在硬體或軟體中比較快,取決於資料串流的大小。SSL 應該會傳送相對較小的資料串流,通常會在 4K 位元組以下。較小的資料串流在軟體中比較快。中等串流可能在硬體或軟體中比較快。非常大的串流在硬體中比較快。

當您實作硬體加密時,請記住以下幾點:
  • Web 伺服器會使用 RSA 技術來處理 SSL 信號交換。信號交換是非對稱功能,並且使用 RSA 公開私密金鑰組。您可以在軟體或硬體中產生 RSA 金鑰。
  • 如果是在軟體中產生 RSA 金鑰,您可以使用 RACF® 指令或 gskkyman 公用程式。
  • 定義 RACF 指令,以允許使用者 ID 和 Web 伺服器 ID 使用 CSFSERV 一般資源類別中的設定檔。CSFSERV 一般資源類別可控制 ICSF 軟體的使用。

如需有關如何實作硬體加密的詳細資訊,請參閱適當的手冊。例如,您可以參閱 IBM 支援中心入口網站上的 z/OS 處理器資源/系統管理規劃手冊。此外,您也可以參閱 z/OS 網際網路文件庫中的 z/OS 加密服務 ICSF 管理者手冊z/OS 加密服務 ICSF 系統程式設計師手冊

如何檢查硬體加密是否用於 Web 伺服器加密

ICSF 是對加密硬體的軟體介面。您可以使用下列核對清單來判斷您的 Web 伺服器是否使用硬體加密。
  • 驗證使用者 ID 和 Web 伺服器 ID 有權存取 ICSF。
  • 確定 ICSF 啟動的工作在作用中。
  • 透過 ICSF TSO 畫面來執行下列其中一項作業,或兩項都執行,以確定 ICSF 正常運作中:
    • 確定 ICSF 已定義「PKA 主要金鑰」。
    • 順利產生「PKA 主要金鑰」。

用於設定安全伺服器的核對清單

如果要啟用「傳輸層安全 (TLS)」,請使用 conf/httpd.conf.default 檔案中的 SSL 虛擬主機範例。 此範例中包含啟用 TLS 所需的元素,包括 Listen 指引、SSLEnable 指引和 mod_ibm_ssl 模組。

IBM HTTP Server 使用 CMS SSL 金鑰儲存庫檔(副檔名為 kdb)。您可以使用 gskkyman 公用程式或 RACF RACDCERT 指令來建立及管理金鑰儲存庫檔。
小心: 請勿在 z/OS 與分散式平台之間共用這些金鑰儲存庫檔。

如何變更 Web 伺服器使用的加密等級預設順序

您可以使用 SSLCipherSpec 指引來控制加密等級的順序。IBM HTTP Server 一律會施行喜好設定的次序。請參閱 SSL 指引相關主題中的 SSLCipherSpec 指引。

如何為伺服器資源設定保護機制

下列步驟位於 IBM HTTP Server for z/OS 5.3 版的 z/OS HTTP Server 規劃、安裝及使用手冊中。與各步驟相關聯的資訊,就是在 IBM HTTP Server 中執行步驟時所需的資訊。
  • 步驟 1. 在伺服器上啟用保護機制。

    您在此步驟不需要執行任何動作,因為 IBM HTTP Server 預設會載入限制存取資源的一般模組。

  • 步驟 2. 指定您要伺服器接受的要求。

    使用配置區段來含括與保護相關的配置指引。請參閱 Apache HTTP Server 說明文件中的配置區段。

    若為階層式檔案系統 (HFS) 中的資源,請使用 <Directory> 和 <DirectoryMatch> 指引來含括保護指引。若為不在 HFS 中的其他資源(例如外掛程式提供的那些資源),則使用 <Location> 和 <LocationMatch> 指引。

  • 步驟 3. 決定要使用哪些保護選項。
    IBM HTTP Server 有提供一些不同的保護機制可供您選擇:
    • 透過 mod_authz_host 模組的主機型存取控制。mod_authz_host 模組可允許或拒絕個別 IP 位址或子網路。
    • 各種模組交互作業,以提供使用者 ID 和密碼鑑別。這些功能包括適用於檔案資料庫和 LDAP 的 HTTP 基本鑑別、HTTP 摘要鑑別,以及 SSL 用戶端憑證鑑別。
    • 各種模組交互作業,以提供授權。這些功能包括群組、輕量型目錄存取通訊協定 (LDAP) 和 SSL 用戶端憑證。
    伺服器在處理要求時,會先檢查主機型存取控制,然後再檢查鑑別和存取控制。 如果 Satisfy 指引設為 any,則要求只必須符合主機型存取控制或授權需求。 只要符合 Require 授權指引,即容許存取。不過,無法因為符合多個 Require 指引而授與存取權。
    注意:
    您可以使用 <Limit> 和 <LimitExcept> 指引,將保護方法限制為個別 HTTP 要求方法,但請小心測試這個方法。
  • 步驟 4. 建立保護設定。

    您可以對照使用者和群組密碼檔來檢查 IBM HTTP Server 密碼。不過,如果您想要針對本端系統來檢查 IBM HTTP Server 密碼,則指定 AuthBasicProvider SAF 指引。 您可以選擇性地指定 SAFRunAs 指引,以變更用來處理要求的 SAF 使用者 ID。

    如果您想要依據虛擬主機來要求 SSL 用戶端鑑別,則指定 SSLCLientAuth required 指引。使用 SSLClientAuthRequire 指引來指定屬性值或屬性值群組,必須針對用戶端憑證來驗證這些屬性值之後,伺服器才能容許存取受保護的資源。

    使用下列範例來引導您建立保護設定:

    • 使用 Order、allow 和 deny 指引來控制對資源的存取權:
      Alias /my-app /opt/my-app/htdocs
      
      <Directory /opt/my-app/htdocs>
         # Allow requests that match the allow directives. Then, deny requests that match the deny directives. 
         # Then, deny requests that do not match the allow or deny directives.
         Order allow,deny
         # Allow access only to those users from the local host.
         Allow from 127.0.0.1
      </Directory>
    • 使用 order、allow 和 deny 指引來控制對資源的存取權。此外,您也可以使用基本鑑別,讓使用者提供使用者 ID 和密碼來存取資源。指定包含使用者 ID 和密碼的檔案。
      <Directory /opt/my-app/htdocs/members-only>
           Order allow,deny
           Allow from 127.0.0.1
           # Add HTTP basic authentication.
           AuthType Basic
           AuthBasicProvider file
           AuthName "Login with your example.com user ID."
           # Use the htpasswd utility in the <install_root>/bin/htpasswd file to maintain the passwords.
           # Store the userid and password file in a directory other than the one that it is protecting.
           AuthUserFile /opt/my-app/users.passwd
           Require valid-user
        </Directory>
    • 僅容許 administrator 的使用者 ID 存取資源。
      <Directory /opt/my-app/htdocs/admin>
           ...
           Require user administrator
        </Directory>
    • 僅容許 admins 的使用者群組存取資源。指定包含使用者群組的檔案。
      <Directory /opt/my-app/htdocs/admin>
           ...
           # text file with multiple group-name: member1 member2... lines
           # Store the group file in a directory other than the one that it is protecting.
           AuthzGroupFile /auth/groups
           Require group admins
        </Directory>
    • 容許本端主機像管理者般存取資源。
        <Directory /opt/my-app/htdocs/admin>
           ...
           Require group admins
           Satisfy any
           Order allow,deny
           Allow from 127.0.0.1
        </Directory>
  • 步驟 5. 限制對個別檔案的存取權。

    您可以將 <Files> 指引或 <FilesMatch> 指引放在 <Directory> 指引或 <DirectoryMatch> 指引的巢狀結構中,以限制使用者存取的檔案。

用來指定使用者名稱、群組名稱和位址範本的規則

您必須撰寫自己的 Apache 模組來進行授權,才能依據使用者名稱和位址的組合(例如 bob@192.168.1.1 和 steve@192.168.2.2)來容許存取。

在保護設定中使用群組檔案

IBM HTTP Server 中的群組檔案,只是從群組名稱到使用者清單的對映。其中不會有巢狀定義,也不會包含位址規格。

存取控制清單檔案

IBM HTTP Server 沒有存取控制清單檔案。您可以使用 .htaccess 檔案來限制存取資源。不過,如果您可以更新 httpd.conf 檔案,請避免使用 .htaccess 檔案,因為使用 .htaccess 檔案會使伺服器變慢。另一種方法,是將指引併入 <Directory> 指引中,並將所有指引放在 httpd.conf 檔案中。


指出主題類型的圖示 參照主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=ihs-dist&topic=rihs_dgwbconfig
檔名:rihs_dgwbconfig.html