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

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

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