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

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

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

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にデプロイされます。

web.configファイルに設定を指定

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

例えば、同じアプリケーションプールにホストされている2つのアプリケーションは、各アプリケーションの web.config ファイルで、appSettingsに contrast.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ファイルに新しい行を追加して以下のコードを入力して、ファイルを更新してから、通常通りにインストールを続けます。

agent:
  auto_update:
    enable: false
https://docs.contrastsecurity.com/common-agent-config/dotnet_contrast_security.yaml