.NET エージェントの SSL サポート

.NET エージェントがコントローラとのセキュアな(SSL)接続を確立すると、.NET エージェントは .NET フレームワークに組み込まれたデフォルトのメカニズムを使用して、ローカルの信頼ストアに依存するコントローラ(サーバー)証明書を検証します。そのため、コントローラ証明書は、公的に信頼されたいずれかの認証局によって署名される必要があります。

したがって、コントローラで以下を使用する場合、

  • 自己署名証明書、または
  • カスタム認証局によって署名された証明書

SSL 接続は、以下が完了するまで確立できません。

  • 自己署名証明書、または
  • カスタム認証局がローカルの信頼ストアに手動で追加される
注: コントローラが公的に信頼された認証局によって署名された証明書を使用する場合、追加のセットアップは必要ありません。

証明書を手動でローカルの信頼ストアに追加しない場合は、.NET エージェントを設定してコントローラの信頼されたカスタム証明書を使用し、セキュアな接続を自動的に確立できます。

Limitations

Custom trusted certificate validation is supported with these noted limitations for the .NET runtimes:

  • .NET Core >= 2.0
  • .NET Framework >= 4.7.2
  • .NET Standard >= 2.1
注: You may use applications that were complied using earlier .NET versions as long as the .NET runtime is later than or equal to the listed limitations.

If you reach a runtime limitation, then you can either:

  • Upgrade the .NET runtime to a supported version, or
  • Add a Controller custom certificate to the local Trust Store, disable the feature, and then continue using the SSL connection to a Controller based on the default validation mechanism.

サポートされる構成

コントローラの信頼されたカスタム証明書を設定するには、次のいずれかを指定します。

  • 1 つの証明書ファイルへのパス:1 つのファイルに 1 つまたは複数の有効な証明書が含まれる場合があります。証明書のフォーマットは、次のいずれかです。
    • Base-64 Encoded X.509 (.cer)
    • DER Encoded Binary X.509 (.cer)
    • PKCS 7 (.p7b)
    • PKCS 12(.pfx)

または

  • 複数の証明書ファイルを含むフォルダ:1 つのフォルダに、1 つまたは複数の証明書を含むファイルを複数含めることができます。フォルダにはサブフォルダが含まれる場合があります。フォルダ内のすべてのファイルに有効な証明書が含まれている必要があることを除き、構造上の制限はありません。有効な証明書ではないファイルが 1 つでもある場合、すべてのファイルが無視されます。

上記設定のいずれか 1 つのみを選択します。証明書ファイルと証明書フォルダの両方を設定すると、設定で証明書ファイルのみが使用されることを警告するアラートが表示されます。

注: 証明書ファイルに秘密キーを指定する必要はありません。公開キーのみ必要です。Splunk AppDynamics では、提供される証明書の機密情報を公開していません。外部ソースにファイルを提供する場合は注意してください。

スタンドアロン Windows エージェントの設定

config.json ファイルの設定:

JSON
{
	"controller": {
		"certfile": "C:\certs\certificate.crt",
		"certdir": "C:\certs\",
	}
}

スタンドアロン Windows エージェントに使用される環境変数

コマンドラインを使用して、次の環境変数を設定して config.json ファイルをオーバーライドします。

CODE
APPDYNAMICS_CONTROLLER_SSL_CERTFILE=C:\certs\certificate.crt
APPDYNAMICS_CONTROLLER_SSL_CERTDIR=C:\certs\

エージェント MSI エージェントの設定

環境変数をオーバーライドせずに config.json ファイルを設定します。

CODE
<appdynamics-agent xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <controller ssl-certificate-file = "C:\certs\certificate.crt" ssl-certificate-directory = "C:\certs\" >
    ...
  </controller>
  ...
</appdynamics-agent>

Linux .NET エージェント 20.11.x 以前とのパリティの違い

Linux .NET エージェント 20.11.x 以下との既存のパリティの違いは次のとおりです。

  • 証明書のファイル形式が拡張されました。
  • 複数の証明書がファイルでサポートされています。
  • ファイル名の制約はありません。
  • フォルダ構造の制約はありません。
  • フルフレームワークがサポートされています。
  • コントローラ証明書の完全なチェーンを提供する必要はありません。エンドリーフ証明書、カスタム認証局証明書、またはその両方を使用して .NET エージェントの信頼を設定できます。どちらの場合も便利です。