このページでは、SSL を使用してコントローラに接続されるように AppDynamics .NET エージェントを構成する方法について説明します。 

要件

エージェントを構成して SSL を有効化する前に、次の情報を収集します。

  • コントローラSSLポートを識別します。
    • SaaS コントローラの場合、SSL ポートは 443 です。
    • オンプレミスのコントローラの場合、デフォルトで SSL ポートは 8181 ですが、オンプレミスのコントローラでインストール時に他のポートが使用されるように構成できます。
  • コントローラのSSL証明書の署名メソッドを識別します。
    • パブリック証明機関(CA)が証明書に署名。これはVerisign、Thawteおよびその他の商用CAなどに適用されます。
    • 組織内部のCAが署名した証明書。一部の企業では内部の証明機関を保持し、その内部CAがドメイン内のトラストと暗号化を管理します。
    • .NET エージェントは、次の条件が満たされている場合に自己署名証明書をサポートします。
      • 証明書上のコモンネーム(CN)が、エージェントが呼び出すコントローラの URL と一致する。
      • 自己署名証明書の公開キーは、エージェントがインストールされている Windows の信頼されたルート証明機関ストアにインストールされます。

コントローラのSSL証明書の信頼性を確立

.NETエージェントはコントローラの証明書上のコモンネーム(CN)がコントローラのDNS名と一致していることを要求します。さらに、コントローラのSSL証明書に署名したルートCAの証明書がローカルコンピュータのWindowsの信頼されたルート証明機関ストア内に存在する必要があります。

パブリック証明機関が署名した証明書

DigiCert、Verisgn、Thawteやその他の商用CAなど、公的に信頼されているほとんどのCAのルート証明書は、デフォルトで信頼されたルート証明機関ストアにあります。

内部の証明機関が署名した証明書

組織内に証明書の署名を行う内部CAがある場合、内部のセキュリティ管理リソースからルートCA証明書を取得する必要があります。ルート証明書をインポートする場合は、「ローカルコンピュータで信頼されたルート証明機関ストアへの証明書の追加」を参照してください。

この例は、Microsoft管理コンソールの証明書スナップインを使用して、信頼されたルート証明書機関の証明書をインポートする方法を示しています。

Trusted Root Certification Authorities

中間 CA によってコントローラの証明書が署名された場合、中間 CA の証明書に署名したルート CA の証明書に加えて中間 CA の証明書をインポートする必要があります。パブリックアクセスが可能なコントローラの場合、証明書チェッカーを使用してトラストチェーンの完成に必要な証明書を識別できます。

次の例は、Intermediate Certification Authorities ストアを示しています。

Intermediate Certification Authorities

証明書管理のヒント

  • ルートまたは中間CAの証明書をインポートした場合、インポートした証明書ストアを確認します。これらを Certificates (Local Computer) にインポートします。
    Certificate Management
  • AppDynamics Saasコントローラは、DigiCertが署名した証明書を使用します。SaaS をご使用の場合は、DigiCert ルート証明書を Windows Trusted Root Certification Authorities ストアにインポートする必要が生じることがあります。
  • システム管理者が、外部の証明書を Third-Party Root Certification Authorities ストアにインポートすることを要求するグループポリシーを設定していることがあります。ルート CA の証明書を Windows Trusted Certification Authorities ストアにインポートできない場合は、Third-Party Root Certification Authorities ストアを試してください。

.NETエージェント用SSLの有効化

次の方法で、エージェントの SSL 設定を更新できます。

.NETエージェント用SSLを有効化すると、自動的に.NETマシンエージェント用SSLが有効化されます。

AppDynamicsエージェント構成ユーティリティを使用したSSLの構成

  1. AppDynamicsエージェント構成ユーティリティを起動します。
  2. [Controller Configuration] で、[Port Number] をコントローラの SSL ポートに設定します。
    • SaaS コントローラの場合は、[Port Number] を 443 に設定します。
    • オンプレミスコントローラの場合は、[Port Number] をオンプレミス SSL ポートに設定します。デフォルトは [8181] です。
  3. [Enable SSL] をクリックします。
    • SSL を有効化すると、エージェントはアプリケーションで ServicePointManager.SecurityProtocol に設定されたプロトコルを使用してコントローラへの通信を保護します。
    • デフォルトで構成ユーティリティは TLS 1.2 を有効化するため、安全なプロトコルリストの最初の選択肢になっています。これは AppDynamics コントローラへの要求だけでなく、アプリケーションからの安全な通信すべてに影響します。TLS 1.2 を無効にするには、クリックして、このオプションの選択を解除します。
  4. [Next] をクリックし、その他のペインに進んで構成を完了します。
  5. インストゥルメント化されたアプリケーション(IIS アプリケーションやアプリケーションプール、Windows サービス、またはスタンドアロン アプリケーション)を再起動します。

自動ティア構成を使用する場合は、IISを再起動します。たとえば、コマンドプロンプトを開き、次のように入力します。

iisreset
CODE

再起動時にエージェントが SSL を通じてコントローラに接続します。

config.xmlを使用したSSLの構成

  1. 管理者として config.xml ファイルを開く。「.NETエージェントの管理」を参照してください。 
  2. 以下のSSL設定の更新:
    • コントローラポート属性:オンプレミス SSL ポートに設定。デフォルトは [8181] です。「コントローラポート属性」を参照してください。
    • コントローラ SSL 属性:true に設定します。「コントローラ SSL 属性」を参照してください。SSL を有効化すると、エージェントはアプリケーションで ServicePointManager.SecurityProtocol に設定されたプロトコルを使用してコントローラへの通信を保護します。 
    • コントローラ enable TLS 1.2 属性:必要に応じて、true に設定して TLS 1.2 をプロトコルリストの最初のオプションとして追加します。これはコントローラへの要求だけでなく、アプリケーションからの安全な通信すべてに影響します。
  3. 変更を保存します。
  4. AppDynamics.Agent.Coordinator サービスを再起動します。
  5. インストゥルメント化されたアプリケーション(IIS アプリケーションやアプリケーションプール、Windows サービス、またはスタンドアロン アプリケーション)を再起動します。

自動構成を使用する場合は、IISを再起動してください。たとえば、コマンドプロンプトを開いて以下を実行します。

iisreset
CODE

再起動時にエージェントが SSL を通じてコントローラに接続します。

SaaS SSL config.xml構成のサンプル

<?xml version="1.0" encoding="utf-8"?>
<appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <controller host="mycompany.saas.appdynamics.com" port="443" ssl="true" enable_tls12="true">
    <application name="MyDotNetApplication" />
  </controller>
...
</appdynamics-agent>
CODE

オンプレミスSSL config.xml構成のサンプル

<?xml version="1.0" encoding="utf-8"?>
<appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <controller host="mycontroller.mycompany.com" port="8181" ssl="true" enable_tls12="true">
    <application name="MyDotNetApplication" />
  </controller>
...
</appdynamics-agent>
CODE

問題のトラブルシューティング

すべての前提条件を確認しても通信問題が解決しない場合、Windows サーバでデフォルト暗号が有効になっていることを確認します。

次のレジストリキーを確認します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\
CODE

サブキーが存在する場合、オペレーションズチームが特定の暗号を無効化している可能性があります。