撰寫安全安裝的指導方針

撰寫 Windows Installer 套件有助於在安裝期間維護安全環境時,遵循下列指導方針:

  • 系統管理員應該將受控應用程式安裝到非系統管理員使用者沒有變更或修改許可權的目標安裝資料夾中。
  • 將使用者設定的任何屬性設為公用屬性。 與使用者介面互動的使用者無法變更私用屬性。 如需詳細資訊,請參閱 關於屬性
  • 請勿將屬性用於密碼或其他必須保持安全的資訊。 安裝程式可能會將撰寫的屬性值寫入 Property 資料表,或在執行時間建立到記錄或系統登錄中。 如需詳細資訊,請參閱 防止機密資訊寫入記錄檔
  • 當安裝需要安裝程式使用 提高 的許可權時,請使用 [限制公用屬性 ] 來限制使用者可以變更的公用屬性。 安裝需要安裝程式使用 提高 的許可權時,通常必須有一些限制才能維護安全的環境。
  • 避免安裝模擬特定使用者許可權的服務,因為這可能會將安全性資料寫入記錄或系統登錄。 這會在重新開機系統時,造成安全性問題、密碼衝突或遺失設定資料的可能性。 如需詳細資訊,請參閱 ServiceInstall 資料表
  • 使用 LockPermissions 資料表MsiLockPermissionsEx 資料表 來保護鎖定環境中的服務、檔案、登錄機碼和已建立的資料夾。
  • 將數位簽章新增至安裝,以確保檔案的完整性。 如需詳細資訊,請參閱數位簽章和 Windows Installer 和撰寫完整驗證的簽署安裝
  • 撰寫您的 Windows Installer 套件,讓使用者無法存取資源,安裝程式會以維護安全環境的方式失敗。 檢查使用者的存取許可權,並判斷安裝開始之前是否有足夠的磁碟空間。 通常,如果目前的使用者是系統管理員,或安裝不需要 提高 的許可權,安裝程式應該只會顯示流覽對話方塊。 如需詳細資訊,請參閱 來源復原
  • 使用 安全轉換 ,將轉換儲存在使用者電腦上的安全檔案系統中。 這可防止使用者擁有轉換的寫入權限。
  • 如需如何保護受控應用程式的媒體來源的詳細資訊,請參閱 來源復原
  • 使用 [安全性摘要 屬性] 指出封裝是否應開啟為唯讀。 此屬性應設定為安裝資料庫的唯讀建議,並針對轉換或修補程式強制執行唯讀。
  • 安裝程式預設會以使用者權限執行自訂動作,以限制對系統的自訂動作存取。 如果已安裝受控應用程式,或系統原則已針對提高許可權指定,安裝程式可能會以 提升 的許可權執行自訂動作。 如需詳細資訊,請參閱 自訂動作安全性
  • 使用 DisablePatch 原則在必須限制修補的環境中提供安全性。
  • 使用 AppId 資料表 來註冊 DCOM 物件的一般安全性和組態設定。
  • 如需相關資訊,請參閱 保護自訂動作的指導方針
  • 如需相關資訊,請參閱 保護鎖定電腦上封裝的指導方針
  • 從 Windows Installer 3.0 開始, 使用者帳戶控制 (UAC) 修補程式 可讓非系統管理員使用者修補安裝在每部電腦內容中的應用程式。 UAC 修補是在 MsiPatchCertificate 資料表中提供簽署者憑證,並使用相同的憑證簽署修補程式來啟用。
  • Windows Installer 5.0 對服務、檔案、建立的資料夾和登錄專案設定存取權限的功能,有助於讓安裝應用程式更安全。 如需詳細資訊,請參閱 保護資源