8

巨大なアプリケーションを Windows Azure に移行する必要があります。アプリケーションは、ロール インスタンス ファイルシステムの特別なバイナリ ファイルに格納されているアクティベーション キーを必要とするサードパーティ ライブラリに依存しています。

明らかに、そのキーはロール パッケージに含めるか、ロールがフェッチできる場所に格納する必要があります。アクティベーション キーはマシンにバインドされないため (クラウド内でロールが実行される正確な場所がわからないため)、誰でもそれを使用してそのライブラリのコピーを機能させることができます。

Azure のロールは私たちの管理下にない場所で実行されているため、キーが盗まれて広く利用可能になることについて、私はやや妄想的です。

Azure ロールに含まれるバイナリ ファイルを盗む可能性を評価するにはどうすればよいですか? そのようなリスクを軽減するにはどうすればよいですか?

4

2 に答える 2

2

セキュリティに関する限り、あなたのチームがこの分野で非常に有能でない限り、既定の常にアップグレードされたAzure OS は、おそらく自己構成されたホストよりもはるかに安全です。少なくとも、これは私たち (別名、私の会社、Lokad) が Windows Azure に完全に移行してから 2 年の状況を、以前の自己ホスト型の状況と比較して評価する方法です。

次に、ライセンス キーなどの資格情報がある場合、それらを配置する最も論理的な場所は、役割のバイナリではなく、役割の構成ファイルです。必要に応じて VM 内で特別なファイルを自然に再生成できますが、この方法では、バイナリ バージョンをアーカイブするときに資格情報が内部的にあちこちに分散することはありません。

于 2011-06-02T12:44:19.237 に答える
2

このような質問をするときは、攻撃者を区別する必要があります。

  • A2) 不正なインターネット ハッカー
  • A3) あなたの組織の開発者
  • A4) 展開を行う組織内の人

ロール バイナリは A2 からはアクセスできませんが、A3 と A4 からは非常にアクセス可能です。

別の回答で述べたように、シークレットをロール構成ファイルに保存できます。ただし、これらのシークレットには、A4 (ポータルにアクセスできるすべてのユーザー) が引き続きアクセスできます。

A4 を防御するには、ロール バイナリまたはロール構成に存在しないキーを使用して、ロール構成ファイル内のシークレットを暗号化します。次に、ロール バイナリで、復号化キーを使用して、暗号化されたロール設定を復号化します。

シークレットの暗号化に使用するキーは、Azure SDK によってインストールされる証明書です。Azure の証明書の設定に関する投稿は、こちら にあります

要約すると、展開を行う/構成ファイルにアクセスできる組織内の人物から防御する必要があるシークレットについては、次のようにします。

信頼できる関係者に次のことを依頼してください。

  • 証明書/秘密鍵の生成
  • シークレットを証明書で暗号化し、暗号化された設定を構成ファイルに保存します
  • 証明書/秘密鍵をサービスにアップロードします。

次に、サービスを次のように変更します。

  • サービス モデルに Certificate/PrivateKey をインストールさせる
  • アプリケーションに、秘密を解読するための秘密鍵をロードさせます
  • アプリケーションでロール構成から暗号化された設定を読み込み、秘密鍵で復号化します。
于 2011-06-04T06:15:24.870 に答える