「SSLException: 利用可能な PSK がありません。 再開できません」というエラーがスローされ、Elasticsearch Monitoring/X-Pack Monitoring ウィジェットが Kibana 7.11+ で壊れています

環境

  • Liferay Enterprise Search サブスクリプション付きの Liferay DXP 7.1-7.3
  • Elasticsearch モニタリング/X-Pack モニタリング ウィジェット
  • Elasticsearch & キバナ 7.11+
  • JDK11

症状

Liferay DXP が JDK 11 で構成され、Elasticsearch および Kibana 7.11+ に接続している場合、特定の JDK 11 ディストリビューションで次のエラーが発生し、 Elasticsearch Monitoring/X-Pack Monitoring ウィジェット がレンダリングされないことがあります。

12:24:42,480 ERROR [http-nio-8080-exec-10][XPackMonitoringProxyServlet:108] javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
	at java.base/sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:526)
	at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:112)
	<truncated for clarity>
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1601) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) 12:24:42,483 ERROR [http-nio-8080-exec-4][XPackMonitoringProxyServlet:108] javax.net.ssl.SSLException: No PSK available. Unable to resume. javax.net.ssl.SSLException: No PSK available. Unable to resume. at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:129) at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:255) at java.base/sun.security.ssl.ServerHello$T13ServerHelloConsumer.consume(ServerHello.java:1224) at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(ServerHello.java:984) at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.consume(ServerHello.java:872) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:178) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:543) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:409) at

解像度

このエラーは、TLSv1.3 が使用されている場合の JDK 11 の競合状態が原因である可能性が最も高いです ( JDK-8213202を参照)。 (Kibana 7.11.0 デフォルトで TLSv1.3 に設定されている NodeJS 12 に移動されました。)

推奨される解決策は、次のいずれかの方法を使用して、Liferay DXP-Kibana スタックで TLSv1.3 を無効にすることです。

  • オプション A: X-Pack テストの実行時に、Tomcat の setenv.bat/sh (CATALINA_OPTS に追加) で -Dhttps.protocols=TLSv1.1,TLSv1.2 を設定することにより、Tomcat の送信接続に対して TLSv1.3 を無効にします。
  • オプション B: --tls-max-v1.2KIBANA_HOME/config/node.optionsに追加して、Kibana で TLSv1.3 を無効にします。

この問題がすでに修正されている JDK 11 バージョンに切り替えることもオプションです。 Liferay のテストによると、このエラーは Oracle JDK 11.0.9 でも再現できますが、OpenJDK 11.0.9 では修正されているようです。 (調査は LPS-128591で行われました。)


Elastic、Elasticsearch、および X-Pack は、米国で登録された Elasticsearch BV の商標です。 そして他の国で。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています