2009-06-10 1 views
4

HI人、 この質問が以前に尋ねられたかどうかはわかりません。 しかし、私はweb.config内の接続文字列を暗号化したい。私のアプリケーションはWebファームにデプロイされます。ウェブファームのweb.configを暗号化しています

私はこれについていくつかのブログを読んでみましたが、混乱しました。 誰かが実際に試して譲られたリンクを教えてもらえますか?

答えて

2

the RSA Protected Configuration providerを使用します。そのページは軽い読書ではありませんが、必要なものを持っています。

私は(記事の例)のようなコマンドをお勧めします。 "のconnectionStrings" C -pef

Aspnet_regiis.exeに:プロジェクト\ MachineRSA

+0

ウェブファームでこれを試しました – alice7

+0

はい、インポート/エクスポートのキーはありません。インスタンスごとに暗号化を実行します。それにもかかわらず、記事の要約では、「Aspnet_regiis.exeツールを使用して、Web.configファイルとMachine.configファイルに保持されている接続文字列などの機密データを暗号化できます。これにより、RSA暗号化は、Webファーム内の複数のサーバーで使用される構成ファイルを暗号化するのに特に効果的です。 – lance

+0

簡単な質問です。ウェブファームのシナリオでキーをインポート/エクスポートする必要があることをどのように知っていますか。それはオプションですか? 私に何かシナリオを教えてもらえますか? – alice7

1

\接続文字列を暗号化する前に、あなたが何であるかを考えますそれらを暗号化して保護しようとしています。アプリケーションはクリアテキスト接続文字列に順番にアクセスする必要があるため、そのキーにアクセスする必要があります。したがって、ASP.Netアプリケーションを侵害する攻撃者は、キーと保護された接続文字列を盗む可能性があります。だから、暗号化は本当に多くの利点を追加していません。

暗号化の代わりに、運用担当者がそのファイルをどのように処理するか、運用環境で適用されるファイルのアクセス許可に焦点を当てます。アプリケーションが実行されるASP.Netワーカープールアカウントへの読み取りアクセスのみを許可します。

+0

悲しいことに、いくつかのビジネス規制は論理的な考え方ではなく、この種の問題に対処しなければなりません。 – Justin

2

あなたはこれを考慮しているかもしれませんが、そうでない場合、RSAProtectedConfigurationProviderはマシンレベルまたはユーザレベルのいずれかのキーを使用して暗号化できます。デフォルトはマシンレベルです。つまり、web.configを一度暗号化してWebファームのすべてのマシンに展開することはできません。暗号化と復号化の鍵はそのマシンにのみ存在するため、各マシンで暗号化する必要があります。

あなたはユーザーレベルのキーを使用するか、すべてのWebファームマシン間でキーを共有することにより、この問題を回避することができます

関連する問題