COM+ SOAP 服務安全性考慮

COM+ SOAP 服務取決於 IIS 網頁伺服器的安全性。 即使在客戶端啟用的物件模式,COM+ RPC 也不會傳輸用戶端身分識別,因此無法利用角色型安全性或任何其他 DCOM 所提供的安全性功能。 如果您想要協助保護傳送至 XML Web 服務及從 XML Web 服務傳輸的數據隱私權,或協助保護 XML Web 服務免於未經授權的存取,您可以設定 IIS 來限制根據用戶端 IP 位址存取 XML Web 服務,或要求用戶端出示數位證書來驗證其身分識別。 如果您不限制存取,任何可以與網頁伺服器通訊的用戶端都可以存取您的 XML Web 服務。

您可以使用公鑰加密 SSL 或 TLS 通訊協定,設定 IIS 來加密與用戶端的 XML Web 服務通訊。 如果您未加密 SOAP 通訊,則第三方可以觀察到用戶端與伺服器之間交換的數據,且可存取 SOAP 通訊所傳輸的任何網路;視網路拓撲而定,這可能是小型 LAN,也可能是因特網。

根據預設,未加密的 SOAP 通訊會在 HTTP 連接埠 (80) 接收,而加密的 SOAP 通訊則會在 HTTPS 連接埠 (443) 接收。 若要讓用戶端成功存取 XML Web 服務,用戶端與伺服器之間的任何防火牆都必須設定為允許 TCP SYN 封包到達適當的伺服器埠。 相反地,若要限制 XML Web 服務的存取,防火牆系統管理員可以選擇關閉這些埠。

公開為 XML Web 服務之 COM 元件的預設安全性設定會根據安裝的 Microsoft .NET Framework 版本而有所不同。 如果已安裝 1.0 版,XML Web 服務預設為不安全;所有呼叫都已接受,且不會使用加密。 如果已安裝 1.1 版或更新版本,XML Web 服務預設為安全;呼叫端必須經過驗證,而且需要加密。

安全的 XML Web 服務不支援透過 WSDL 存取 WKO。 相反地,已安裝 .NET Framework 1.1 版的用戶端可以在 CAO 模式中呼叫它。 如果第三方用戶端需要透過 WSDL 存取 XML Web 服務,您必須允許匿名存取。

公開為 XML Web 服務的 COM 元件預設會以匿名使用者的許可權執行(而非其呼叫者的許可權)。 您可以將 IIS 設定為以不同的使用者身分執行 XML Web 服務;這有時可能是必要的,因為您的元件會使用匿名用戶沒有存取權的檔案或其他資源。 不過,您應該一律嘗試以最少的許可權執行您的元件,以限制惡意呼叫端可能造成的損害。

注意

因為您透過 XML Web 服務公開的方法可能會公開給惡意呼叫端,所以您一律應該一律驗證其相依的任何輸入參數。

 

如需如何設定特定 XML Web 服務安全性設定的詳細指示,請參閱 保護 XML Web 服務

將安全的SOAP應用程式轉換成不安全的SOAP應用程式

  1. 開啟 網際網路資訊服務 (IIS) 管理工具。
  2. 找出應用程式的虛擬目錄,然後開啟 [ 屬性 ] 對話框。
  3. 取 [文件] 索引標籤上的 [啟用預設內容] 頁面
  4. 從 [目錄安全性] 索引標籤中,按兩下 [匿名存取和驗證控制] 底下的 [編輯]。
  5. 取 [匿名存取 ] 以啟用匿名存取,然後按兩下 [ 確定]。
  6. 按兩下 [安全通訊] 底下的 [編輯]。
  7. 取消核取 [ 需要安全通道 (SSL)] 複選框。

COM+ SOAP 服務概觀