.NET Frameworkエージェントを設定する

エージェントには基本の設定があり、設定値には優先順位があります。

.NET Frameworkエージェントを設定します:

ヒント

エージェント設定エディタを使用すると、YAML設定ファイルの作成やアップロード、YAMLの検証、推奨される設定値の表示などができます。

Azure App Serviceでの.NET Frameworkエージェントの設定

Azure PortalでAzure App Serviceの.NET Frameworkエージェントを設定するには、3つの方法があります。

  • Contrastエージェントの環境変数の表記規則を使用します。Azure Portalの構成画面よりアプリケーション設定セクションに、エージェントの環境変数の構文を使用して全ての設定を追加します。

  • アプリケーションのweb.configファイルに、applicationという設定オプションを指定します。web.configに指定したアプリケーションの設定をContrastエージェントに認識させるためには、これらの設定をアプリケーションのweb.configファイルのルート<configuration>のappSettingsセクション内に記述する必要があります。詳細は、web.configファイルで設定 を参照してください。

  • Azure Portalで個々のオプションを設定する代わりに、Contrastの設定を含むYAML設定ファイルを使用することもできます。まず、ファイルをアプリケーションのデプロイメントに含めるか、Kuduコンソールを使用して、Azure Webアプリケーションにこのファイルをアップロードします。次に、このファイルの場所を指す設定であるCONTRAST_CONFIG_PATHを追加します。

    例えば、アプリケーションのルートにあるcontrast_security.yamlファイルを使用する場合は、 CONTRAST_CONFIG_PATHというキーに D:\Home\site\wwwroot\contrast_security.yamlという値で、アプリケーションの設定を追加します。Azure App Serviceのアプリケーションファイルは、D:\home\site\wwwrootにデプロイされます。

.NET Frameworkエージェントをweb.configファイルで設定

エージェントの設定オプションは、アプリケーションのweb.configファイルまたはYAML設定ファイルを使用して指定できます。web.configに指定したアプリケーションの設定をContrastエージェントに認識させるためには、これらの設定をアプリケーションweb.configファイルのルート<configuration>のappSettingsセクション内に記述する必要があります。

例えば、同じアプリケーションプールにホストされている2つのアプリケーションは、各アプリケーションのweb.configファイルでappSettingscontrast.server.nameプロパティを設定すると異なるサーバとして報告されます。また、 web.configを使用して次のようにcontrast.application.nameを指定することもできます。

<configuration>
   <appSettings>
     <add key="contrast.application.name" value="MyWebAppName" />
     <add key="contrast.application.version" value="1.2.3" />
   </appSettings>
   <system.web>
     ...

その他の利用可能なプロパティの説明は、.NET FrameworkエージェントのYAMLテンプレートを参照してください。

エージェントのバージョンが21.1.4より前の場合、web.configで設定できるのは、以下のように一部のプロパティのみとなります。

プロパティ

導入された.NET Frameworkエージェントのバージョン

contrast.application.code

19.6.3

contrast.application.group

19.1.3

contrast.application.metadata

19.1.3

contrast.application.name

19.1.3

contrast.application.session_id

20.6.6

contrast.application.session_metadata

20.6.6

contrast.application.tags

19.1.3

contrast.application.version

19.1.3

contrast.assess.tags

19.1.3

contrast.inventory.tags

19.1.3

注記

contrast.application.nameが指定されていない場合、.NET Frameworkエージェントは、アプリケーションの仮想パスをアプリケーション名として使用します。アプリケーションがサイトのルートでホストされている場合(つまり、仮想パスが/の場合)、.NET Frameworkエージェントはこのサイトの名前をアプリケーション名として使用します。

重要

エージェントのバージョン21.1.4以降、ほとんどのエージェントの設定が、アプリケーションのweb.configファイル、またはアプリケーションと同じディレクトリにあるcontrast_security.yamlで指定できるようになりました。例えば、同じアプリケーションプールにホストされている2つのアプリケーションは、各アプリケーションのweb.configファイルのappSettingscontrast.server.nameを設定すると異なるサーバとして報告されます。

以下の設定オプションは、processレベルで適用され、アプリケーションごとに個別に指定できません。これらのプロパティは、web.configを使用して設定できません。別の方法(YAMLなど)で設定する必要があります。

  • agent.dotnet.app_pool_denylist

  • agent.dotnet.app_pool_allowlist

  • agent.dotnet.enable_instrumentation_optimizations

  • agent.dotnet.enable_jit_inlining

  • agent.dotnet.enable_transparency_checks

  • agent.dotnet.enable_struct_dataflow

  • assess.enable_control_detection

また、以下のキーについては、エージェントのプロファイラコンポーネントはプロセスレベルの設定を使用し、エージェントのセンサーコンポーネントはアプリケーション個別の設定(指定されている場合)を使用します。

  • agent.logger.level

  • agent.logger.stdout

.NET FrameworkエージェントのYAMLテンプレート

YAML設定ファイルを使用して、.NET Frameworkエージェントを設定します。

contrast_security.yamlファイルは、インストーラによってエージェントのデータディレクトリ にコピーされます(デフォルトでは、C:\ProgramData\Contrast\dotnet\contrast_security.yaml)。コピー先に既にYAMLファイルが存在する場合は、インストーラはYAMLファイルをコピーしません。

以下のテンプレートには、このエージェントで有効なYAMLオプションがすべてあります。例えば、このファイルを使用して.NET Frameworkエージェントによって報告されるサーバ名を設定することができます。その場合、contrast_security.yamlファイルに新しい行として以下のコードを追加してファイルを更新してから、通常通りにインストールを続けます。

server:
  name: MyServerName
https://docs.contrastsecurity.com/common-agent-config/dotnet_contrast_security.yaml
https://docs.contrastsecurity.jp/common-agent-config/dotnet_contrast_security.yaml