2017-02-14 14 views
1

私は最近、ネットワークサービスまたはローカルシステムの代わりにIIS AppPool IDを使用しようとしています。dcomcnfgのAppPoolローカルアクティベーション許可システムワイドに大きなセキュリティリスクがあるのですか?

はそのように私はマシンのデフォルト権限設定が持つCOMサーバーアプリケーションのローカルアクティブ化 許可を与えていない

醜いエラーに出くわしたCLSID {6E46607A-7347-471B-A98C-BC9E49B07248}アプリケーションコンテナで実行されている(LRPC使用) アドレスLocalHostというより ユーザIIS APPPOOL \ MyAppPool SID (S-1-5-82-476059244-1685105758-59475158-1390954050-72429515) 使用不可SID(使用不可にし、APPIDは利用不可)。このセキュリティアクセス許可は、コンポーネントサービス管理ツールを使用して に変更できます。

このエラーで私のAPPIDが見つからないことがあるので、レジストリを検索してどのコンポーネントが(デバッグによっても)見つかった。

これは、Webサーバーからの要求を処理するVC++アウトプロセスOLE/COMサーバーです。 (ええ、1990年代と呼ばれる)。なぜこれにDCOMが関係するのか、VSAMのデフォルトのMFC/OLEサーバーテンプレートの偶然や人為的な影響によって、設計上、「分散」されているものは何もありません。

私は、このコンポーネントのdcomcnfg設定を変更して、IIS AppPool \ MyAppPoolユーザーにローカルアクティベーション許可(実際にすべて試しました!)を許可し、w3wpを確認する典型的なルートに従っています。 exeは同じアイデンティティーとして実行されています。

また、このexeがそのユーザーによって読み取り可能/実行可能であることを確認しました。

ただし、エラーは引き続き発生します。

(個々のコンポーネントノードの代わりにマイコンピュータノード経由で)同じアクセス許可を設定するだけで、コンポーネントが正しく読み込まれました。 これは大きなセキュリティリスクのように感じます。それは...ですか?

問題が発生した場合、プロセスモニタを使用してレジストリキーまたはファイルアクセスの問題を特定したり、アクセスが必要な他のコンポーネントを特定したりしてみました。しかし何もその頭を育てなかった。

DCOMアクセス許可システム全体を設定すると、問題が解決されることがわかっています。アクセス許可を設定する必要がある別のDCOMコンポーネントまたはサービスがあると思いますが、わかりません。

だから )この問題をさらに診断する方法はありますか? DCOMが決定を下すのはどうか?アクセス許可を設定する必要があるセントラルDCOMブローカはありますか?デバッグ/プロセスモニタは役に立ちません。 b)AppPoolローカルアクティベーションポリシーをワイドマシンに設定することはできますか?

私は正しい決定を下すのに役立つ人に多くの感謝をします。

+0

私はこれを見つけたが、残念ながら、ログファイルには、診断するために、Microsoftの内部ツールが必要です! https://blogs.msdn.microsoft.com/distributedservices/2009/06/19/tracing-in-com-and-complus/ – GilesDMiddleton

答えて

1

Q1。 App PoolアカウントにDCOMのアクティベーション権限をコンピュータ全体に与えることは悪い習慣ですか?

A1:はい、それは悪いです。ブックSecure DCOM Best Practices

によると、デフォルト 値

Q2からこれらの権限を緩めるために、良いアイデアではありません:なぜコンポーネントがまだ失敗していますか?

A2:これは問題の組み合わせだった:

  1. プロセスモニタ私のアプリケーションプールのIDがキーHKEY_CLASSES_ROOT\WOW6432Node\AppID\{C33D7656-D310-4684-9482-A486787E4E3B}レジストリを読み取ることができませんでした問題をピックアップしました。私のAppPoolのIDに対する読み取り許可を有効にすると、さらに一歩進んでくれました。

  2. 利用できないAppIDに関するイベントログメッセージはヒントでした。要求されているクラスのAppID REG_SZエントリはありませんでした。そのため、セキュリティの設定は取り上げられていませんでした。私は、次のキーが存在することを確認するために必要な:MSDNのドキュメントAppID 1としてHKEY_CLASSES_ROOT\WOW6432Node\CLSID\{6E46607A-7347-471B-A98C-BC9E49B07248} with String Value AppID={C33D7656-D310-4684-9482-A486787E4E3B}

、およびWhat is AppID

+1

良い発見は、これと闘っています。 – koreus737

関連する問題