PowerFlexプレゼンテーション サーバーのWeb UIがロードに失敗する

Summary: 証明書に複数のサブジェクト代替名(SAN)拡張機能が存在するため、プレゼンテーション サーバーのWeb UIのロードに失敗します。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

問題が発生するバージョン

  • PowerFlex 3.5.x
  • PowerFlex 3.6.0.x

プレゼンテーション サーバー サービスは開始されますが、Webページの初期ログイン画面のロードに失敗します。
[root@host1 .config]# systemctl status mgmt-server.service
● mgmt-server.service - Scaleio MGMT Server
   Loaded: loaded (/etc/systemd/system/mgmt-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-1-09 05:30:03 EST; 11s ago
Main PID: 29700 (java)
   CGroup: /system.slice/mgmt-server.service
    
        └─29700 /bin/java -Xmx4g -Dlog4j2.formatMsgNoLookups=true -Djna.tmpdir=/opt/emc/scaleio/mgmt-server/tmp -Djava.io.tmpdir=/opt/emc/scaleio/mg...
Dec 09 05:30:08 host1 java[29700]: at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:320)
...
Dec 09 05:30:08 host1  java[29700]: at java.lang.Thread.run(Thread.java:750)


プレゼンテーション サーバー /opt/emc/scaleio/mgmt-server/logs/scaleio.log には、次のエラーが表示されます。

Suppressed: com.google.common.util.concurrent.ServiceManager$FailedService: HttpdService [FAILED]
Caused by: java.lang.IllegalStateException: KeyStores with multiple certificates are not supported on the base class org.eclipse.jetty.util.ssl.SslContextFactory. (Use org.eclipse.jetty.util.ssl.SslContextFactory$Server or org.eclipse.jetty.util.ssl.SslContextFactory$Client instead)
    at org.eclipse.jetty.util.ssl.SslContextFactory.newSniX509ExtendedKeyManager(SslContextFactory.java:1288)
    at org.eclipse.jetty.util.ssl.SslContextFactory.getKeyManagers(SslContextFactory.java:1270)
    at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:372)
    at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:243)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:321)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
    at org.eclipse.jetty.server.Server.doStart(Server.java:401)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
    at com.emc.vxflexos.webui.backend.httpd.HttpdService.startUp(HttpdService.java:31)
    at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
    at com.google.common.util.concurrent.Callables$4.run(Callables.java:119)
    at java.lang.Thread.run(Thread.java:750)


次のコマンドを実行して、プレゼンテーション サーバーが複数のSANエントリーを使用しているかどうかを確認します。これは、複数のSAN拡張エントリーを持つお客様が更新または置き換える証明書に対して実行できます。

[root@host1 /]# openssl x509 -noout -text -in  | grep -A1 -i 'Subject Alternative Name'
            X509v3 Subject Alternative Name:
                DNS:host1, DNS:host1.cn

 

Cause

プレゼンテーション サーバー(管理サーバーとも呼ばれる)は、複数のサブジェクト代替名(SAN)拡張エントリーの処理をサポートしていない。この問題は、複数のSAN拡張エントリーを備えた管理サーバーの証明書が、影響を受けるバージョンで更新または置き換えられる場合に発生する可能性があります。
 

影響
管理サーバーのWeb UIをロードしないと、ユーザー インターフェイス(UI)を使用してPowerFlexクラスターを管理できなくなる。これにより、PowerFlexシステムの管理が困難になります。 

 

根本原因
この問題は、Jettyフレームワークの基本クラス org.eclipse.jetty.util.ssl.SslContextFactory がキーストア内の複数の証明書を処理しようとすると発生します。これは、処理するように設計されていない操作です。
影響を受けるプレゼンテーション サーバーのバージョンでは、複数のサブジェクト代替名(SAN)拡張エントリーを含む証明書を管理する機能がありません。
これにより、このような証明書が検出された場合に障害が発生します。 

Resolution

    この動作は、PowerFlex 3.6.1以降で修正されています。


    対策

    1. 単一のサブジェクト代替名(SAN)拡張エントリーを含む証明書を使用します。これは、管理サーバーの現在の制限事項に合わせて調整されます。通常の動作を許可する必要があります。
    2. 管理サーバーをバージョン3.6.1にアップグレードします。このバージョンには、複数のSAN拡張エントリーのサポートが強化されており、証明書を調整する必要はありません。
    Article Properties
    Article Number: 000215758
    Article Type: Solution
    Last Modified: 14 Sep 2023
    Version:  4
    Find answers to your questions from other Dell users
    Support Services
    Check if your device is covered by Support Services.