Enterprise Manager Web サーバの HTTPS 用の設定
目次
apmdevops97jp
目次
Enterprise Manger Web サーバを HTTPS 用に設定するには、Jetty 設定ファイルを使用します。Jetty ファイルは詳細な構成のために提供されており、
<EM_Home>/
config ディレクトリにあります。このファイルをアクティブにするには、IntroscopeEnterpriseManager.properties ファイルの introscope.enterprisemanager.webserver.jetty.configurationFile プロパティのコメント化を解除します。
構成の詳細については、以下のトピックを参照してください。
- 詳細については、Jetty Web サイト(https://wiki.eclipse.org/Jetty/Howto/Configure_SSL)にアクセスしてください。
HTTPS の動作の仕組みの理解
Enterprise Manager Web サーバは、SSL の HTTP トンネリングをサポートしています。このセキュリティ対策を実装するには、Enterprise Manager に組み込まれている Jetty Web サーバ用にオプションの Jetty XML 設定ファイルを導入します。
起動時に、Enterprise Manager は Jetty 設定ファイルをロードします。このファイルは、ポート 8444 にセキュアなリスナを設定します。このセキュアなリスナによって、Workstation とエージェントが Enterprise Manager Web サーバ経由で HTTPS トンネルを使用して Enterprise Manager にアクセスできます。デフォルトの Jetty 設定ファイルは em-jetty-config.xml です。
Jetty 設定ファイルの名前および場所は、IntroscopeEnterpriseManager.properties ファイルの introscope.enterprisemanager.webserver.jetty.configurationFile プロパティを使用して設定できます。
introscope.enterprisemanager.webserver.port プロパティは、IntroscopeEnterpriseManager.properties ファイルにある introscope.enterprisemanager.webserver.port プロパティと共に動作します。Enterprise Manager は、Enterprise Manager が Jetty 設定ファイルをロードしたときに、introscope.enterprisemanager.webserver.port プロパティで定義されているセキュアでないリスナを作成しません。ただし、Jetty 設定ファイルにはセキュアでないリスナを設定できます。
警告:
em-jetty-config.xml ファイル内の introscope.enterprisemanager.webserver.jetty.configurationFile プロパティおよびセキュアでないリスナ ポートの両方のコメント化を解除すると、CA APM のセキュリティに問題が発生することがあります。これらの設定を一緒に行う前に、組織のアプリケーション セキュリティ担当者に通知してください。デフォルトの Jetty 構成ファイル
デフォルトの em-jetty-config.xml ファイルは <
EM_Home
>/config ディレクトリにあります。em-jetty-config.xml ファイルの変更
em-Jetty-config.xml ファイル内の SSL の多くのコンポーネントを変更できます。
Jetty の詳細については、https://wiki.eclipse.org/Jetty/Howto/Configure_SSL を参照してください。
- HTTPS ポートをデフォルトの 8444 から変更するには、以下の例のように、port属性の値を変更します。<Set name="port">8444</Set>
- introscope.config システム プロパティは、config ディレクトリの場所を指定します。この場所は設定可能です。Enterprise Manager Web サーバは、起動時に introscope.config システム プロパティを設定します。
- デフォルトで、SSL リスナは、/internal/server/keystoreにあるキーストアを使用するよう設定されます。これはconfigディレクトリを基準にした相対パスです。このキーストアには、信頼されない自己署名証明書が入っています。キーストアを、承認された認証局(CA)が署名した証明書が含まれるキーストアと置き換えます。
- デフォルトのキーストアパスワードは password です。em-jetty-config.xml および webview-jetty-config.xml 内のクリア テキスト パスワードはデフォルトでは難読化されます。難読化されたパスワードは、OBF: で始まります。OBF: を取り除くことで、プレーン テキスト パスワードになります。詳細については、https://wiki.eclipse.org/Jetty/Howto/Configure_SSL を参照してください。
- デフォルトでは、SSL は自己署名証明書を受け入れるように設定されます。SSL は、クライアントの URL 内のホスト名がデジタル証明書のホスト名に一致することを検証しません。これは SSL が、何も設定しなくても、デフォルトのキーストアの信頼されない証明書を使って動作するようにするためです。安全性の高い認証を必要とする場合は、信頼できる証明書を含むキーストアを作成します。その後、XML 内の以下の属性を設定し、デフォルトのキーストアを独自のキーストアに置き換えます。<Set name="validateCertificates">true</Set> <Set name="verifyHostnames">true</Set> <Set name="keystore"><SystemProperty name="introscope.config" default="./config" />/internal/server/keystore</Set> <Set name="password">password</Set>
- さらに、クライアント認証を要求する場合は、クライアント証明書を含むトラストストアを作成し、これらの属性を XML に設定し、デフォルトのトラストストアを独自のトラストストアに置き換えます。<Set name="needClientAuth">true</Set> <Set name="truststore"><SystemProperty name="introscope.config" default="./config" />/internal/server/keystore</Set> <Set name="trustPassword">password</Set>
- クライアント認証が必要な場合、エージェントと Workstation は、Enterprise Manager Web サーバによって信頼された証明書を含むキーストアを使って構成する必要があります。有効な暗号スイートを設定するには、cipherSuites属性を暗号スイートのリストに設定します。<Set name="cipherSuites"> <Array type="java.lang.String"> <Item>SSL_DH_anon_WITH_RC4_128_MD5</Item> </Array> </Set>SSL を使用するには、エージェントと Workstation の暗号スイートが有効で、Enterprise Manager と共通のものである必要があります。以下のアクションに対して、有効な暗号スイートを制限することができます。
- 弱い暗号スイートの脆弱性の防止
- 匿名接続の許可
- データの非暗号化
- Enterprise Manager は maxThreads プロパティを使用して、Enterprise Manager が処理できる HTTPS エージェント接続の数を制限します。十分なスレッドがない場合、Enterprise Manager は、接続されたエージェントやエージェントからのプロセス メトリックを認識しません。HTTPS を使用する場合、Enterprise Manager は maxThreads プロパティで設定されたエージェント数のみを処理します。許可されているエージェント接続の数は、apm-events-thresholds-config.xml ファイルの introscope.enterprisemanager.agent.connection.limit プロパティで設定されます。maxThreads の値が introscope.enterprisemanager.agent.connection.limit の値以上であることを確認します。エージェントが HTTPS を介して接続するように設定されている場合、スレッドが不足すると、一部の HTTPS エージェントがクライアントに表示されないか、メトリックをレポートしない可能性があります。注:maxThreads プロパティで Enterprise Manager が処理するエージェントの数を制限している場合、Enterprise Manager およびエージェント ログには処理対象外のエージェントに関するエラー、警告、またはメッセージは含まれません。
デフォルト ヘッダ サイズをリセットするための em-Jetty-config.xml の変更
CEM コンソールへのアクセス時に空白のページが表示されることがあるような場合は、要求ヘッダ サイズ制限のデフォルト値(4 KB)をリセットすることができます。ヘッダ サイズ制限のリセットは、em-jetty-config.xml ファイルで行います。
以下の手順に従います。
- MOM 上の em-jetty-config.xml ファイルの場所に移動し、テキスト エディタで開きます。
- 以下の行を含むセクションを見つけます。<New class="com.wily.webserver.NoNPESocketConnector">
- "NoNPESocketConnector" を以下の値に変更します。<set name="headerBufferSize">8192</Set>" <Set name="RequestBufferSize">16384</Set>"
- ファイルを保存して閉じます。
- 各 MOM およびコレクタ上の IntroscopeEnterpriseManager.properties ファイルの場所に移動します。
- 以下の行のコメント化を解除します。introscope.enterprisemanager.webserver.jetty.configurationFile=em-jetty-config.xml
- IntroscopeEnterpriseManager.properties ファイルを保存して閉じます。