web-dev-qa-db-ja.com

Azure Rolesのコードからマルウェア対策スキャナーを呼び出す

アップロードされた画像をAzureサービス経由でスキャンする必要があります。

Azureにはすぐに使える無料のソリューションがあることがわかりました http://Azure.Microsoft.com/en-us/support/legal/endpoint-protection/

ただし、マルウェア対策を有効にするだけでは、このシナリオでは不十分です。

画像をアップロードできるWebRoleが複数あります。また、いくつかのファイルは、異なるチャネルを介してシステムに入る可能性があります

例。

  • ビジネスエンティティには、ImageUrlプロパティがあります。 URLは、インターネット、BLOBストレージ、またはその他のCDNのどこかを指します。
  • オブジェクトに更新された情報がある場合、それはさらに処理するためにキューに入れられます
  • 画像のURLを処理してダウンロードし、いくつかの作業を行うジョブがあります。最後に、それはどの企業システムでも使用されます。

すべての画像はダウンロードして処理する前に「画像処理ジョブ」を通過するため、ウイルスをチェックする必要があると考えました。ウイルスが見つかった場合、対応するエラーでジョブを失敗させ、次の画像に移動します。

ウイルススキャナーからリアルタイムのフィードバックを取得するために、ソースコードからAzureマルウェア対策を呼び出す方法を見つけることができませんでした。

4
Dorin

あなたはこれをあなたが望む方法で実装するために幾分困難な戦いを戦うことになるでしょう。何らかの理由で、ローカルのウイルス対策システムは通常、そのような相互作用のためのAPIを提供しません。私はいくつかのオプションを提供します:

1)アップロード後、ストレージサーバー上のファイルをスキャンします。次に、後でAVがそれらをZapしているかどうかを確認します。

長所:実装が簡単です。短所:マルウェアは、それをバックエンドに深くする可能性があります。

2)clamAVなどのオープンソースAVソリューションを使用して、必要なことを行う言語バインディングを探します。長所:プロセスの実行時にスキャンの結果を確認できます。短所:オープンソース。バギーの可能性があります。

3)大規模なAVベンダーに支払いを行い、ニーズに合わせてソリューションを変更します。長所:AV関係者に支払う代金は何でもします。短所:非常に高価です。

4)ファイルをハッシュ化し、ウイルスの合計などのパブリックAVプロバイダーにクエリを実行します。長所:安くて簡単。短所:カスタムマルウェアや新しいマルウェアを見つけることができない場合があります。プライバシー面でのわずかな損失。

5)ウイルスのトータルプロのような公共のAV証明者にファイルをアップロードする:安く、簡単で、効果的。ヒューリスティックスを介してカスタムマルウェアを見つける可能性が高くなります。短所:顧客のプライバシーが大幅に失われます。

6)APIを介して通信するファイルをハッシュ/スキャンする外部サービスの料金を支払い、機密性を約束します。長所:かなりうまくいきます。短所:高価。秘密の約束はプライバシーの問題を未然に防ぎません。

1
baordog