Download PDF
Download page .NETエージェント用SSLの有効化.
.NETエージェント用SSLの有効化
Related pages:
このページでは、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管理コンソールの証明書スナップインを使用して、信頼されたルート証明書機関の証明書をインポートする方法を示しています。
中間 CA によってコントローラの証明書が署名された場合、中間 CA の証明書に署名したルート CA の証明書に加えて中間 CA の証明書をインポートする必要があります。パブリックアクセスが可能なコントローラの場合、証明書チェッカーを使用してトラストチェーンの完成に必要な証明書を識別できます。
次の例は、Intermediate Certification Authorities ストアを示しています。
証明書管理のヒント
- ルートまたは中間CAの証明書をインポートした場合、インポートした証明書ストアを確認します。これらを Certificates (Local Computer) にインポートします。
- 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 設定を更新できます。
- AppDynamics エージェント構成ユーティリティを使用する、または
- config.xml で設定を直接編集する
.NETエージェント用SSLを有効化すると、自動的に.NETマシンエージェント用SSLが有効化されます。
AppDynamicsエージェント構成ユーティリティを使用したSSLの構成
- AppDynamicsエージェント構成ユーティリティを起動します。
- [Controller Configuration] で、[Port Number] をコントローラの SSL ポートに設定します。
- SaaS コントローラの場合は、[Port Number] を
443
に設定します。 - オンプレミスコントローラの場合は、[Port Number] をオンプレミス SSL ポートに設定します。デフォルトは [
8181
] です。
- SaaS コントローラの場合は、[Port Number] を
- [Enable SSL] をクリックします。
- SSL を有効化すると、エージェントはアプリケーションで
ServicePointManager.SecurityProtocol
に設定されたプロトコルを使用してコントローラへの通信を保護します。 - デフォルトで構成ユーティリティは TLS 1.2 を有効化するため、安全なプロトコルリストの最初の選択肢になっています。これは AppDynamics コントローラへの要求だけでなく、アプリケーションからの安全な通信すべてに影響します。TLS 1.2 を無効にするには、クリックして、このオプションの選択を解除します。
- SSL を有効化すると、エージェントはアプリケーションで
- [Next] をクリックし、その他のペインに進んで構成を完了します。
- インストゥルメント化されたアプリケーション(IIS アプリケーションやアプリケーションプール、Windows サービス、またはスタンドアロン アプリケーション)を再起動します。
自動ティア構成を使用する場合は、IISを再起動します。たとえば、コマンドプロンプトを開き、次のように入力します。
iisreset
再起動時にエージェントが SSL を通じてコントローラに接続します。
config.xmlを使用したSSLの構成
- 管理者として config.xml ファイルを開く。「.NETエージェントの管理」を参照してください。
- 以下のSSL設定の更新:
- コントローラポート属性:オンプレミス SSL ポートに設定。デフォルトは [
8181
] です。「コントローラポート属性」を参照してください。 - コントローラ SSL 属性:
true
に設定します。「コントローラ SSL 属性」を参照してください。SSL を有効化すると、エージェントはアプリケーションでServicePointManager.SecurityProtocol
に設定されたプロトコルを使用してコントローラへの通信を保護します。 - コントローラ enable TLS 1.2 属性:必要に応じて、
true
に設定して TLS 1.2 をプロトコルリストの最初のオプションとして追加します。これはコントローラへの要求だけでなく、アプリケーションからの安全な通信すべてに影響します。
- コントローラポート属性:オンプレミス SSL ポートに設定。デフォルトは [
- 変更を保存します。
AppDynamics.Agent.Coordinator
サービスを再起動します。- インストゥルメント化されたアプリケーション(IIS アプリケーションやアプリケーションプール、Windows サービス、またはスタンドアロン アプリケーション)を再起動します。
自動構成を使用する場合は、IISを再起動してください。たとえば、コマンドプロンプトを開いて以下を実行します。
iisreset
再起動時にエージェントが 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>
オンプレミス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>
問題のトラブルシューティング
すべての前提条件を確認しても通信問題が解決しない場合、Windows サーバでデフォルト暗号が有効になっていることを確認します。
次のレジストリキーを確認します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\
サブキーが存在する場合、オペレーションズチームが特定の暗号を無効化している可能性があります。