Skip to main content

コンテナを使用して.NET Frameworkエージェントをインストール

インストールを行う前に

本項では、Dockerを例として、コンテナ化されたアプリケーションにContrast .NET Frameworkエージェントをインストールするための一般的な手順について説明します。

コンテナや関連ソフトウェアの仕組みを基本的に理解している必要があります。必要に応じて、お客様の環境に合わせて手順を調整してください。

手順 1:エージェントをインストール

コンテナイメージにアプリケーションを追加する前でも後でもインストールすることができます。推奨される方法は、名前を付けたマルチステージビルドを使用することです。 例:

FROM mcr.microsoft.com/dotnet/framework/sdk:4.8

# Hidden for brevity...

# Copy the required agent files from the official Contrast agent image.
COPY --from=contrast/agent-dotnet-framework:latest C:\Contrast C:\Contrast

この例では、最新の.NET Frameworkエージェントをコピーしています。 利用可能なタグはDockerHubで確認してください。

手順 2:エージェントを設定

Contrastエージェントは、複数のソースからの設定を受け入れますが、設定の優先順位は優先順位セクションに記載されています。

設定方法を組み合わせて利用することをお勧めします。

  • YAMLファイルを使用して、複数のアプリケーションで共有する共通の設定を指定します。

  • アプリケーション固有の設定値や、YAMLファイルで指定した値を上書きする場合や、実行時に組み込む機密情報などには、環境変数を使用します。

YAMLファイルの設定:

YAMLファイルを使用してエージェントを設定する場合に、環境変数のCONTRAST_CONFIG_PATHを使用して、YAMLファイルがコンテナ内のどこにあるかを指定することもできます。

例えば、contrast_security.yamlという名前のYAML設定ファイルがDockerのビルドコンテキストに存在するとします。

agent:
  logger:
    path: /var/tmp
    level: WARN

環境変数CONTRAST_CONFIG_PATHを使用して、以下のようにコンテナイメージにエージェント YAMLファイルを追加することができます。

FROM mcr.microsoft.com/dotnet/framework/sdk:4.8

# Hidden for brevity...

# Add the Contrast agent to the image.
COPY --from=contrast/agent-dotnet-framework:latest C:\Contrast C:\Contrast

# Copy the contrast_security.yaml file from Docker build context.
COPY ./contrast_security.yaml /contrast_security.yaml

# Finally configure configure the agent to use the YAML file previously copied.
ENV CONTRAST_CONFIG_PATH=/contrast_security.yaml

環境変数の設定:

アプリケーション固有の設定を指定するために、環境変数を使用します。以下は、一般的によく使用される設定オプションです。

項目

用途

環境変数

アプリケーション名

Contrastサーバに報告されるアプリケーション名を指定します。

CONTRAST__APPLICATION__NAME

アプリケーショングループ

オンボード時にこのアプリケーションと関連付けるアクセスグループを指定します。

注記

この変数を使用する前に、Contrastでアプリケーションアクセスグループを作成してください。

CONTRAST__APPLICATION__GROUP

アプリケーションのタグ

アプリケーションにタグを追加します。

CONTRAST__APPLICATION__TAGS

サーバ名

Contrastに報告されるサーバ名を指定します。

CONTRAST__SERVER__NAME

サーバの環境

アプリケーションを実行する環境を指定します。このオプションで有効な値:Development、QA、Production

CONTRAST__SERVER__ENVIRONMENT

サーバのタグ

サーバにタグを追加します。

CONTRAST__SERVER__TAG

手順3:プロファイル変数と認証情報を追加

アプリケーションに.NETエージェントを組み込んで検査を行うには、さらに環境変数が必要です。COR_CLR変数はエージェントをロードし、CONTRAST_ 変数はContrastサーバに対するエージェントの認証用です。

前述のDockerfileの例を使用すると、以下のようになります。

FROM mcr.microsoft.com/dotnet/framework/sdk:4.8

COPY --from=contrast/agent-dotnet-framework:latest C:\Contrast C:\Contrast

ENV COR_ENABLE_PROFILING=1 \
    COR_PROFILER={EFEB8EE0-6D39-4347-A5FE-4D0C88BC5BC1} \
    COR_PROFILER_PATH_32=C:\Contrast\runtimes\win-x86\native\ContrastProfiler.dll \
    COR_PROFILER_PATH_64=C:\Contrast\runtimes\win-x64\native\ContrastProfiler.dll

さらに、サーバに対するエージェント認証のために、以下の環境変数が必要です。

CONTRAST__API__URL=https://app.contrastsecurity.com/Contrast
CONTRAST__API__API_KEY={APIキーを指定}
CONTRAST__API__SERVICE_KEY={サービスキーを指定}

APIの値(エージェントキー)はContrast Webインターフェイスで確認するか、.NET Frameworkエージェント用のYAMLファイルをダウンロードすることで取得できます。

こちらのGitHubリポジトリで、設定が完了したコードの例を参照できます。特に、以下のASP.NETアプリケーションのサンプルなどを参考にしてください。

関連項目

Contrastサポートポータル:KubernetesでのContrastエージェント

Contrastサポートポータル:AWS FargateとContrastエージェント