セキュリティで保護されたインストールの作成に関するガイドライン

Windows インストーラー パッケージを作成する際に、以下のガイドラインを遵守することで、インストール中にセキュリティで保護された環境を維持することができます。

  • 管理者は、管理者以外のユーザーが変更権限または修正権限を持たないターゲット インストール フォルダーにマネージド アプリケーションをインストールする必要があります。
  • ユーザーが設定するすべてのプロパティをパブリック プロパティにします。 プライベート プロパティは、ユーザーによるユーザー インターフェイスからの操作では変更できません。 詳細については、「プロパティについて」を参照してください。
  • セキュリティで保護する必要があるパスワードやその他の情報には、プロパティを使用しないでください。 インストーラーは、Property テーブルに作成されたプロパティの値、または実行時に作成されたプロパティの値を、ログまたはシステム レジストリに書き込む場合があります。 詳細については、「機密情報がログ ファイルに書き込まれないようにする」を参照してください。
  • インストーラーを使用したインストールに "昇格された" 特権を使用する必要がある場合は、制限付きパブリック プロパティを使用して、ユーザーが変更できるパブリック プロパティを制限します。 インストーラーを使用したインストールに "昇格された" 特権を使用する必要がある場合、セキュリティで保護された環境を維持するために一般的に必要な制限もあります。
  • セキュリティ データがログまたはシステム レジストリに書き込まれる可能性があるため、特定のユーザーの特権を借用するサービスをインストールしないでください。 こうすると、セキュリティの問題、パスワードの競合、またはシステムの再起動時に構成データが失われる可能性を生み出すことになります。 詳細については、「ServiceInstall テーブル」を参照してください。
  • LockPermissions テーブルMsiLockPermissionsEx テーブルを使用して、ロックダウン環境でサービス、ファイル、レジストリ キー、作成されたフォルダーをセキュリティで保護します。
  • インストールにデジタル署名を追加して、ファイルの整合性を確保するします。 詳細については、「デジタル署名と Windows インストーラー」および「完全に検証された署名付きインストールの作成」を参照してください。
  • ユーザーがリソースへのアクセスを拒否された場合、セキュリティで保護された環境を維持する方法でセットアップが失敗するように、Windows インストーラー パッケージを作成します。 インストールを開始する前に、ユーザーのアクセス特権を確認し、十分なディスク領域があるかどうかを確認します。 一般的に、インストーラーは、現在のユーザーが管理者である場合、またはインストールに "昇格された" 特権が必要ない場合にのみ、参照ダイアログ ボックスを表示するようにします。 詳細については、「ソースの回復性」を参照してください。
  • セキュリティで保護された変換を使用して、ユーザーのコンピューター上のローカルにあるセキュリティで保護されたファイル システムにトランスフォームを格納します。 これにより、ユーザーがトランスフォームに書き込みアクセスすることができなくなります。
  • マネージド アプリケーションのメディア ソースをセキュリティで保護する方法については、「ソースの回復性」を参照してください。
  • Security Summary プロパティを使用して、パッケージを読み取り専用として開く必要があるかどうかを指定します。 このプロパティは、インストール データベースでは読み取り専用を推奨に、トランスフォームまたはパッチでは読み取り専用を強制に設定する必要があります。
  • インストーラーは、システムに対するカスタム アクションのアクセスを制限するために、既定でユーザー権限でカスタム アクションを実行します。 マネージド アプリケーションのインストールを行っている場合、またはシステム ポリシーで昇格された特権が指定されている場合は、インストーラーで "昇格された" 特権でカスタム アクションが実行されることがあります。 詳細については、「カスタム アクションのセキュリティ」を参照してください。
  • DisablePatch ポリシーを使用して、パッチの適用を制限する必要がある環境をセキュリティで保護します。
  • AppId テーブルを使用して、DCOM オブジェクトの一般的なセキュリティ設定と構成設定を登録します。
  • 関連情報については、「カスタム アクションのセキュリティ保護に関するガイドライン」を参照してください。
  • 関連情報については、「ロックダウンされたコンピューターでのパッケージのセキュリティ保護に関するガイドライン」を参照してください。
  • Windows インストーラー 3.0 以降では、ユーザー アカウント制御 (UAC) のパッチ適用により、管理者以外のユーザーもコンピューターごとのコンテキストでインストールされたアプリケーションにパッチを適用できるようになります。 UAC のパッチ適用は、MsiPatchCertificate テーブルに署名者証明書を指定し、同じ証明書を使用してパッチに署名することで有効になります。
  • サービス、ファイル、作成されたフォルダー、レジストリ エントリに対するアクセス許可を設定する Windows インストーラー 5.0 の機能は、インストール アプリケーションの安全性を高めるのに役立ちます。 詳細については、「リソースのセキュリティ保護」を参照してください。