web-dev-qa-db-ja.com

Webサーバー上のASP.NETアプリケーションが別のサーバー上の共有フォルダーにアクセスするためのアクセス許可

Webアプリケーションが展開されているWebサーバー(ASP.NETを使用するIIS)があります。 Webアプリケーションのユーザーは、これを使用してファイルをアップロードできます。 Webアプリケーションは、Windows共有を使用してファイルを別のサーバーに保存する必要があります。次に、ウイルススキャンエンジンがWindows共有にアクセスして、アップロードされたファイルのウイルスをスキャンします。 Windows共有はウイルススキャンマシン上にあります。

問題:Webサーバーもウイルススキャンマシンも同じドメイン上にありません。実際、これらはドメインの一部ではありません。したがって、Webサーバーが書き込みできるように共有を設定することは困難です。

Webサーバーとウイルススキャンマシンの共有の間に信頼関係を確立して、Webサーバーがウイルススキャンマシンの共有に書き込むことができるようにするための最良の方法は何ですか?

(PSWebアプリケーションはNETWORKSERVICEとして実行されています。これも変更できる可能性があります。)

1
Trumpi

これがあなたがそれをすることができる1つの方法です:

  • Webサービスを実行するためのアカウントをWebサーバーに作成します。
  • ウイルススキャンマシンで同じユーザー名とパスワードでアカウントを作成します。
  • 共有フォルダーのNTFSアクセス許可で、作成したアカウントにフォルダーへの書き込み権限を付与します。
  • 共有フォルダの共有権限で「Everyone/FullControl」を設定します。
  • Webサーバーと共有フォルダーをホストしているマシンの間で適切な名前解決が行われていることを確認してください。

編集:

私は、スパークが彼の答えで言及している「なりすまし」機能を使用したことがありません。スタンドアロンマシンが別のスタンドアロンマシン(または偽装マシンがメンバーではないドメイン)からアカウントを偽装する方法がないことを考えると、これはとにかくあなたが望むことをするつもりはないと思います)。

1
Evan Anderson

ウイルススキャンマシンへのWebサーバーマシンの認証済みアクセスが必要な場合は、共有と共有が配置されているファイルシステムに対する適切な権限を持つウイルススキャンマシンのアカウントが必要です。

アプリケーションは、書き込み操作を実行しているときに、正しい資格情報を使用して共有に接続する必要があります。

Webサーバーがウイルススキャンマシンからの資格情報を使用してIISプロセスを実行できないことを考えると、説明したように、認証されたアクセスをサポートするためにアプリケーションを変更する必要があります。 。資格情報を明示的に指定するためのAPIサポートがやや不足しているため、.NETアプリケーションの場合はプレーンオールドSMB以外のものを使用することをお勧めします。FTPまたはSSHが適している可能性があります。

または、セキュリティ要件によっては、ウイルススキャン共有への匿名の書き込み専用アクセスを許可するだけで、Webサーバーが認証されていない状態で共有できる場合があります。ファイアウォールルールまたはその他のメカニズムを使用して、匿名アクセスを許可しないようにここでの露出を制限できます。

0
David Archer