共用方式為


IIS 安全性

此主題說明 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 如何藉助下列安全機制:

  • IIS 驗證
  • IIS 授權
  • IIS 加密

IIS 驗證

設定 SQL Server Compact Edition 伺服器代理程式時,可指定用戶端在連接到 SQL Server Compact Edition 伺服器代理程式時是否必須執行 Microsoft Internet Information Services (IIS) 驗證。IIS 驗證有三種形式:

  • 匿名存取
  • 基本驗證
  • 整合式 Windows 驗證

大部分的網際網路應用程式會使用基本驗證及安全通訊端層 (SSL) 加密。

匿名存取

使用匿名存取時,IIS 不會執行用戶端驗證。SQL Server Compact Edition 伺服器代理程式代表用戶端執行的所有工作,是以網際網路來賓帳戶的身分執行。依照預設,網際網路來賓帳戶是 IUSR_computername,但您可指定不同的 Windows 使用者帳戶做為網際網路來賓帳戶。

基本驗證

使用基本驗證時,SQL Server Compact Edition 用戶端必須提供有效的 Windows 帳戶使用者名稱及密碼。IIS 會嘗試以用戶端提供的使用者名稱及密碼登入。如果登入嘗試成功,SQL Server Compact Edition 伺服器代理程式執行的所有工作是以指定的 Windows 使用者帳戶身分執行。如果登入嘗試失敗,會拒絕用戶端的要求。基本驗證可用於網際網路與 Intranet 應用程式。基本驗證要求每個用戶端有一個有效的 Windows 帳戶及對應的使用者名稱及密碼。

重要事項:
依照預設,基本驗證使用 base64 編碼經由網路傳遞使用者名稱及密碼。如果有人竊聽密碼交換會有安全性風險,因為 base64 編碼很容易解碼。為了保護使用者密碼,使用基本驗證時永遠應使用安全通訊端層 (SSL) 加密。如需詳細資訊,請參閱<設定 SSL 加密>。

整合式 Windows 驗證

整合式 Windows 驗證的運作方式與基本驗證類似。SQL Server Compact Edition 用戶端必須提供有效的 Windows 帳戶使用者名稱及密碼。IIS 會嘗試以該使用者名稱及密碼登入。如果登入嘗試成功,SQL Server Compact Edition 伺服器代理程式執行的所有工作是以該 Windows 使用者帳戶的身分執行。如果登入嘗試失敗,會拒絕用戶端同步處理的要求。整合式 Windows 驗證優於基本驗證的主要優點為:有別於基本驗證,整合式 Windows 驗證不會以未加密形式透過網路傳送用戶端的使用者名稱及密碼。這可免除密碼遭人攔截的風險。整合式 Windows 驗證最適合用於內部網路應用程式。而且整合式 Windows 驗證鮮少用於網際網路應用程式,因為它無法在 Proxy 伺服器或防火牆上作業。

附註:
由於 Microsoft Windows CE 4.2 不支援摘要式驗證,所以 SQL Server Compact Edition 連接解決方案不支援這種驗證格式。

IIS 授權

在驗證 IIS 用戶端後,IIS 授權會決定用戶端是否能叫用 SQL Server Compact Edition 伺服器代理程式。透過控制可存取 SQL Server Compact Edition 伺服器代理程式的用戶端,便可控制誰能執行 SQL Server Compact Edition 連接。

IIS 提供下列存取控制機制:

  • 首先 IIS 會檢查用戶端的位址是否違反任何已設定的 IP 位址限制。您可設定 Web 伺服器,以防止特定電腦、電腦群組或整個網路存取 SQL Server Compact Edition 伺服器代理程式。當用戶端初始嘗試存取 SQL Server Compact Edition 伺服器代理程式時,IIS 會檢查用戶端電腦的 IP 位址是否違反伺服器上設定的 IP 位址限制。如果該 IP 位址被拒絕存取,則會拒絕用戶端的同步處理要求,並顯示下列訊息:「403 禁止存取」。
  • 如果 IIS 設定為需要驗證,IIS 會檢查用戶端是否具有如本文「IIS 驗證」一節所述的有效 Windows 使用者帳戶。如果使用者帳戶無效,則會拒絕用戶端的同步處理要求,並顯示下列訊息:「403 禁止存取」。
  • IIS 接下來會檢查 Web 權限。本 IIS 安全性檢查與 SQL Server Compact Edition 連接解決方案無關。
  • 然後,IIS 會檢查 SQL Server Compact Edition 伺服器代理程式的 NTFS 權限,以確保連接的使用者具有適當權限。
附註:
雖然 IIS 也可搭配 FAT 檔案系統使用,但強烈建議您使用 NTFS。NTFS 可以使用存取控制清單 (ACL) 來授予或拒絕存取 SQL Server Compact Edition 伺服器代理程式,以及 IIS 系統上的輸入和輸出訊息檔案。

IIS 加密

設定 SQL Server Compact Edition 伺服器代理程式時,可以指定 SSL 加密。指定 SSL 加密之後,SQL Server Compact Edition 用戶端代理程式與 SQL Server Compact Edition 伺服器代理程式之間的所有通訊都會加密。如需詳細資訊,請參閱<設定 SSL 加密>。

下列情況下應該使用 SSL 加密:

  • 如果設定 IIS 使用基本驗證。
    為了保護使用者的網際網路密碼,這是必要的。依照預設,基本驗證使用 base64 編碼經由網路傳輸使用者名稱及密碼。如果有人竊聽密碼交換會有安全性風險,因為 base64 編碼很容易解碼。為了保護使用者的網際網路密碼,使用基本驗證時永遠應使用 SSL 加密。
  • 僅適用 RDA:如果應用程式指定內含密碼的 OLEDBConnectionString 參數。
    RDA 的 Pull、Push 及 SubmitSQL 方法需要 OLEDBConnectionString 參數。此連接字串是以純文字的方式在網路上傳送,如果有人竊聽密碼交換會有安全性風險。
  • 僅針對複寫:如果 SQL Server 發行者或散發者依賴 SQL Server 驗證。

如果 DistributorSecurityMode 屬性指定 DB_AUTHENTICATION,散發者將使用 SQL Server 驗證。如果 PublisherSecurityMode 屬性指定 DB_AUTHENTICATION,發行者將使用 SQL Server 驗證。使用 SQL Server 驗證時,DistributorPassword 及 PublisherPassword 是以純文字的方式在網路上傳送。如果有人竊聽密碼交換會有安全性風險。為了保護 DistributorPassword 及 PublisherPassword 安全,使用 SQL Server 驗證時務必使用安全通訊端層 (SSL) 加密。

請參閱

概念

SQL Server 安全性
保護資料庫 (SQL Server Compact Edition)

說明及資訊

取得 SQL Server Compact Edition 協助