.NETエージェントとAzure App Service

  • 更新

エージェントインストールガイド

概要

ここでは、Azure App Serviceの環境でContrastの.NET Frameworkエージェントまたは.NET Coreエージェントを使用する方法について紹介します。本項を参考にご利用の環境に合わせた方法で、アプリケーションにContrastエージェントをインストールし、必要に応じてチーム内で共有してください。

本項では主に、Azure App Serviceで.NET Frameworkまたは.NET CoreアプリケーションにContrastエージェントを組み込み、Contrastでセキュリティデータを確認するための最も一般的な方法について説明します。

 

主な手順

  1. Contrastエージェントの設定を指定
  2. Contrastの認証情報を追加
  3. Azure App ServiceにContrast .NET Coreまたは.NET Frameworkエージェントを追加
  4. Contrastエージェントを有効にしてアプリケーションを起動

サポート対象のテクノロジ

作業を開始する前に、.NET Frameworkまたは.NET Coreでご利用中のツールや環境がContrastでサポートされていることを確認してください:
.NET Frameworkエージェントのサポート対象テクノロジ
.NET Coreエージェントのサポート対象テクノロジ

 

本項では以下を前提としております:

既知の問題

サイト拡張機能は、Azure Portal(Webインターフェイス)、ポリシー、およびREST APIのみで標準にサポートされています。本項での例は、自動化が可能なアプリケーションにエージェントを組み込む方法に限定しています。 

 

手順

まず、アプリケーションにContrastエージェントの設定を指定します。

 


1. Contrastエージェントの設定

Contrastエージェントの設定を指定するために、さまざまな値を使用できます。設定する値には有効になる優先順位があります。各レベルは、上位のレベルが指定された場合に無効になります。優先順位は以下のとおりで、最も優先されるのが1です。

  1. 企業の基準(例、期限切れのライセンスは、assess.enableより優先)
  2. 環境変数の値
  3. YAML設定ファイルの値
  4. Contrast UIで指定した値
  5. デフォルトの値

優先順位の詳細については、以下を参照してください:
エージェントの設定の優先順位

Contrastエージェントの設定には、最低限以下の値を設定することをお勧めします。使用する.NETエージェントの設定ファイルに、これらのキーと値をペアにして追加します。

(.NET Frameworkエージェント)

CORECLR_ENABLE_PROFILING: 1
CORECLR_PROFILER: {EFEB8EE0-6D39-4347-A5FE-4D0C88BC5BC1}
CORECLR_PROFILER_PATH_32: D:\\home\\SiteExtensions\\Contrast.NET.Azure.SiteExtension\\ContrastAppService\\ContrastProfiler-32.dll
CORECLR_PROFILER_PATH_64: D:\\home\\SiteExtensions\\Contrast.NET.Azure.SiteExtension\\ContrastAppService\\ContrastProfiler-64.dll

(.NET Coreエージェント)

CORECLR_ENABLE_PROFILING: 1
CORECLR_PROFILER: {8B2CE134-0948-48CA-A4B2-80DDAD9F5791}
CORECLR_PROFILER_PATH_32: D:\\home\\SiteExtensions\\Contrast.NetCore.Azure.SiteExtension\\ContrastNetCoreAppService\\contrast\\runtimes\\win-x86\\native\\ContrastProfiler.dll
CORECLR_PROFILER_PATH_64: D:\\home\\SiteExtensions\\Contrast.NetCore.Azure.SiteExtension\\ContrastNetCoreAppService\\\contrast\\runtimes\\win-x64\\native\\ContrastProfiler.dll

 


2. 認証情報を追加

.NET Coreまたは.NET Frameworkエージェントの設定を完了するには、以下の環境変数をアプリケーションに渡す必要があります。これらの環境変数は、Contrastサーバに対してContrastエージェントを認証するための情報となります。

CONTRAST__API__URL=https://app.contrastsecurity.com/Contrast
CONTRAST__API__API_KEY={Your API KEY}
CONTRAST__API__SERVICE_KEY={Your Service key}
CONTRAST__API__USER_NAME={Your agent user}

APIの値(エージェントキー)は、Contrast UIから取得するか、Contrastエージェント(.NET Coreか.NET Frameworkエージェント)のYAMLファイルをダウンロードすることで取得できます。詳細は、Contrastのドキュメントを参照:エージェントキーの検索

API_KEY、SERVICE_KEY、USER_NAMEは機密データとなりますので、取り扱いにはご注意ください。 

 


3. Contrast .NET Coreまたは.NET Frameworkエージェントを追加

App ServiceにContrastエージェントを追加するには:

  • Azure PortalでApp Serviceにアクセスします。
  • App Serviceの「構成」を選択します。 
  • 上記で示したすべての設定値と認証情報を、設定名/値のペアにして追加します。.NET Frameworkエージェントと.NET Coreエージェントでは、必要な値が異なることに注意してください。


4. アプリケーションでContrastエージェントを有効にして起動

これで、Contrastを有効にしてアプリケーションを実行できます。アプリケーションの監視を開始するために、Contrastエージェントをサイト拡張として追加します。

  • Azure PortalでApp Serviceにアクセスします。
  • App Serviceの「拡張機能」を選択します。
  • 検査するアプリケーションの種類に応じて、.NET Frameworkか.NET CoreのContrast Extensionを検索して選択します。
  • ライセンス条項に同意します。
  • OKをクリックして、Contrastエージェントをサイト拡張として追加します。

拡張機能が追加されると、インストールされたContrastエージェントの一覧がAzure Portalで以下のように表示されます。

AzureExtension.png

App Service内で実行されているアプリケーションが自動的に検査され、Contrastでデータを確認できるようになります。

ログを確認して、Contrastが実行されていることを確認することもできます。手順は、以下のとおりです。 

  1. Azure PortalのApp Serviceで「高度なツール」にアクセスします。
  2. 「移動」をクリックします。
  3. 表示される「Kudu」ツール画面で、上部の「Debug console」メニューをクリックし「CMD」を選択します。
  4. LogFilesディレクトリを選択します。
  5. Contrastディレクトリを選択します。
  6. 「dotnetcore」ディレクトリ内の「dotnet」ディレクトリを選択します。
  7. Module_ROOT_<appservice名>_<タイムスタンプ>.logという名前のエージェントログがあるはずです。
  8. 最新のログで鉛筆アイコンを選択して、ログの内容を表示します。
  9. ログの内容は、以下のようになります。
2020-08-14 07:07:54.1207 INFO   10772:12            NLogManager Replaying buffered logs (0 events were discarded)...
2020-08-14 07:07:44.4929 INFO  10772:12          ConfigFileFinder No 'contrast_security.yaml' file could be located, so no configuration file will be sourced.
2020-08-14 07:07:44.9816 INFO  10772:12          Global          TLS Version not set in configuration. Using default: (Tls|Tls11|Tls12).
.
.
.
2020-08-14 07:07:46.1023 INFO  10772:12          Global          Sending server startup with environment = PRODUCTION, version = 20.8.2.0, tags =
2020-08-14 07:07:47.5873 INFO  10772:5           Global          Received Server Config from TeamServer for Azure WebGoat.NET Production Pipeline - 'Azure Web App'
2020-08-14 07:07:47.9932 INFO  10772:12          Global          TeamServer connected

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています

他にご質問がございましたら、リクエストを送信してください