.NET Coreエージェントの標準インストール

.NET Coreエージェントをインストールするには:

[en] Before you begin, check the system requirements and supported technologies to be sure installation will work and ensure best performance.

注記

[en] Installing within containers can be complex, and these steps might not work for your situation. Read more about installing with Docker.

  1. Contrast Webインターフェイスから.NET Coreエージェントをダウンロードします。

  2. Webサーバで、ダウンロードしたzipアーカイブ(例えば、Contrast.NET.Core_1.0.1.zip)を、アプリケーションが十分なアクセス権限を持つディレクトリに展開します。 

  3. アプリケーションのプロセスに以下の環境変数を設定します。特定のアーキテクチャの正しいCORECLR_PROFILER_PATH設定を以下の表で確認してください。

    • [en] Windows

      環境変数

      CORECLR_PROFILER_PATH_64

      runtimes\win-x64\native\ContrastProfiler.dll

      CORECLR_PROFILER_PATH_32

      runtimes\win-x86\native\ContrastProfiler.dll

      CORECLR_PROFILER

      {8B2CE134-0948-48CA-A4B2-80DDAD9F5791}

      CORECLR_ENABLE_PROFILING

      1

      CONTRAST_CONFIG_PATH

      \contrast_security.yaml ロードパスの詳細について確認してください。

      重要

      [en] If you are running the .NET Core agent and the .NET Framework agent on the same server, the CONTRAST_CONFIG_PATH option applies to the load path for both agents. To apply distinct paths for each agent, use these options to set the data directory:

      • [en] CONTRAST_CORECLR_DATA_DIRECTORY

      • [en] CONTRAST_DATA_DIRECTORY

    • [en] Linux

      環境変数

      CORECLR_PROFILER_PATH_64

      runtimes\linux-x64\native\ContrastProfiler.so

      CORECLR_PROFILER

      {8B2CE134-0948-48CA-A4B2-80DDAD9F5791}

      CORECLR_ENABLE_PROFILING

      1

      CONTRAST_CONFIG_PATH

      \contrast_security.yaml ロードパスの詳細について確認してください。

  4. アプリケーションのランタイムユーザが以下のパスにアクセスできることを確認してください。

    パス

    用途

    カスタマイズ可能

    権限

    contrast_security.yamlへのパス

    エージェントの設定

    可。環境変数CONTRAST_CONFIG_PATHを設定

    読取り

    {{解凍されたディレクトリのルート}}

    ルート「インストール」ディレクトリ。エージェントバイナリを格納

    不可

    読取り

    • Windows: %ProgramData%\Contrast\dotnet-core\logs

    • Linux: /var/tmp/contrast/dotnet-core/logs

    Contrastエージェントログ用ディレクトリ。このディレクトリがない場合は作成される

    可。環境変数CONTRAST_CORECLR_LOGS_DIRECTORYを設定

    読取り/書込み(または親ディレクトリから継承)

    注記

    IISで実行する場合、アプリケーションプールがこれらのパスにアクセスできることを確認してください。

    例えば、デフォルトのID ApplicationPoolIdentityを使用するDefault Web Siteという名前のアプリケーションプールの場合、ユーザのIIS AppPool\Default Web Siteに、解凍されたディレクトリのルートを読み取るための有効な権限があることを確認します。

  5. .NET Coreエージェントのcontrast_security_yamlファイルを使用して、Contrastに接続するための認証情報とプロキシの設定を行います。

  6. アプリケーションがロードされたら、アプリケーションを実行し、Contrastでサーバとアプリケーションがアクティブになっていること、および予想される脆弱性が表示されることを確認します。

ヒント

エージェントを更新するには、エージェントディレクトリのエージェントファイルを置き換え、アプリケーションを再起動します。エージェントはアプリケーションと一緒に実行されているため、自分自身を更新することができません。

ヒント

環境が正しく設定されていれば、エージェントはアプリケーションとともに自動的に起動されます。

エージェントを停止するには、アプリケーションを終了し、環境からエージェントを削除します。また、CORECLR_ENABLE_PROFILING設定を「0」に変更する方法もあります。

次に、さまざまな環境で.NET Coreエージェントをインストールするための環境変数の例をご紹介します。

IISおよびIIS Express

以下のいずれかの方法によって、環境変数を設定します:

  • アプリケーションの web.configenvironmentVariablesセクション

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <system.webServer>
            <!-- ... -->
            <aspNetCore processPath="dotnet" arguments=".\ExampleNetCoreApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
                <environmentVariables>
                    <environmentVariable name="CORECLR_PROFILER_PATH_64" value="C:\contrast\dotnetcore\runtimes\win-x64\native\ContrastProfiler.dll" />
                    <environmentVariable name="CORECLR_PROFILER_PATH_32" value="C:\contrast\dotnetcore\runtimes\win-x86\native\ContrastProfiler.dll" />
                    <environmentVariable name="CORECLR_ENABLE_PROFILING" value="1" />
                    <environmentVariable name="CORECLR_PROFILER" value="{8B2CE134-0948-48CA-A4B2-80DDAD9F5791}" />
                    <environmentVariable name="CONTRAST_CONFIG_PATH" value="C:\contrast\dotnet-core\contrast_security.yaml" />           
                </environmentVariables>
            </aspNetCore>
        </system.webServer>
    </configuration>
  • サーバのアプリケーションプール設定

Bash (Linux)

export CORECLR_PROFILER_PATH_64=/usr/local/contrast/runtimes/linux-x64/native/ContrastProfiler.so 
export CORECLR_ENABLE_PROFILING=1 
export CORECLR_PROFILER={8B2CE134-0948-48CA-A4B2-80DDAD9F5791} 
export CONTRAST_CONFIG_PATH=/etc/contrast/contrast_security.yaml 

そして、アプリケーションを実行します。

dotnet ./MyAppWithContrastAgent.dll

Powershell または Powershell Core (Windows)

$env:CORECLR_PROFILER_PATH_64 = 'C:\contrast\dotnetcore\runtimes\win-x64\native\ContrastProfiler.dll' 
$env:CORECLR_PROFILER_PATH_32 = 'C:\contrast\dotnetcore\runtimes\win-x86\native\ContrastProfiler.dll' 
$env:CORECLR_ENABLE_PROFILING = '1' 
$env:CORECLR_PROFILER = '{8B2CE134-0948-48CA-A4B2-80DDAD9F5791}' 
$env:CONTRAST_CONFIG_PATH = 'C:\contrast\dotnet-core\contrast_security.yaml' 

そして、アプリケーションを実行します。

dotnet .\MyAppWithContrastAgent.dll

起動プロファイル(dotnet.exe)

{
    "MyAppWithContrastAgent": {
        "environmentVariables": {
            "CORECLR_PROFILER_PATH_64": "C:\\contrast\\dotnetcore\\runtimes\\win-x64\\native\\ContrastProfiler.dll",
            "CORECLR_PROFILER_PATH_32": "C:\\contrast\\dotnetcore\\runtimes\\win-x86\\native\\ContrastProfiler.dll",
            "CORECLR_ENABLE_PROFILING": "1",
            "CORECLR_PROFILER": "{8B2CE134-0948-48CA-A4B2-80DDAD9F5791}",
            "CONTRAST_CONFIG_PATH": "c:\\contrast\\config\\MyApp\\contrast_security.yaml"
        }
    }
}

そして、アプリケーションを実行します。

dotnet run --launch-profile MyAppWithContrastAgent