予期しないサーバーエラーのため SEPM コンソールにログインできない
search cancel

予期しないサーバーエラーのため SEPM コンソールにログインできない

book

Article ID: 279456

calendar_today

Updated On:

Products

Endpoint Protection

Issue/Introduction

管理者が Symantec Endpoint Protection Manager  (SEPM) コンソールにログインしようとすると「予期しないサーバーエラー」が発生してログインできない。

 

<SEPM インストールフォルダ>\tomcat\logs\scm-server-x.log には、次のエラーが繰り返し記録されている。

java.sql.SQLException: Cannot create PoolableConnectionFactory (ドライバーが SSL (Secure Sockets Layer) 暗号化による SQL Server への安全な接続を確立できませんでした。エラー: "NotAfter: <日時> ". ClientConnectionId:xxxxxxxxxxxxxxxxxxxxxxx)

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: ドライバーが SSL (Secure Sockets Layer) 暗号化による SQL Server への安全な接続を確立できませんでした。エラー: "NotAfter: <日時> ". ClientConnectionId:xxxxxxxxxxxxxxxxxxxxxxxx

Environment

  • 埋め込みの SQL Server Express をデータベースとして使用している SEPM 14.3 RU1 以降

Cause

  • SQL サーバーの証明書の有効期限 (上記エラーの [NotAfter] に記載された日時) が切れたため

Resolution

念のため Endpoint Protection のディザスタリカバリのベストプラクティス の [ディザスタリカバリに備えるための高レベルの手順] に記載の各種バックアップを取得後、SQL サーバーの証明書の問題を修正するために、以下の手順のいずれかを実施してください。

サーバーのシステム日付を変更できない場合

  1. SQL Server 2017 Configuration Manager を起動します。
  2. [SQL Server Network Configuration] - [Protocols for SQLEXPRESSSYMC] を右クリックして [プロパティ] を選択します。
  3. [Flag] タブの [Force Encryption] を [No]  に設定し、[OK] をクリックします。
  4. [SQL Server Services] - [SQL Server (SQLEXPRESSSYMC)] を右クリックして [Restart] を選択し、サービスを再起動します。
  5. <SEPM インストールディレクトリ>\tomcat\conf\Catalina\localhost\root.xml をテキストエディタで開き、

    encrypt=true を encrypt=false
    trustServerCertificate=false を trustServerCertificate=true

    に変更します。
  6. ファイルを保存して閉じます。
  7. OS のサービス一覧で [Symantec Endpoint Protection Manager] サービスを再起動した後、SEPM コンソールにログインします。

    注: ログインするには、追加で [Symantec Endpoint Protection Manager API サービス] サービスと [Symantec Endpoint Protection Manager Web サーバー] サービスを停止する必要がある場合があります。ログイン時と、ログイン後のコンソールの上部 3 つのタブにエラーが表示される場合がありますが、先に進みます。
  8. [管理] -[サーバー] を選択し、[ローカルサイト] の下のホスト名をクリックして、タスク一覧の [サーバー証明書の管理] を選択します。

  9. サーバー証明書の管理ウィザードが起動したら [次へ] を選択します。

  10. [新しいサーバー証明書を生成する (自己署名付き)] をクリックし、[新しいキーの生成] のチェックを必ず外してから [次へ] を選択します。

    重要な注意: [新しいキーの生成] のチェックをつけたまま進めると、既存の SEP クライアントが SEPM に接続できなくなりますので、必ずチェックを外してください。

  11. [新しい証明書を生成しますか] で [はい] を選択します。

  12. [完了] をクリックしてウィザードを終了します。

  13. OS のサービス一覧で、以下の 3 つのサービスを再起動します。

    Symantec Endpoint Protection Manager
    Symantec Endpoint Protection Manager API Service
    Symantec Endpoint Protection Manager Webserver

  14. OS のスタートボタン - [Symantec Endpoint Protection Manager] - [管理サーバーの設定ウィザード] を選択します。

  15. [管理サーバーの設定ウィザード] の最初のページで、[回復ファイルを使って、前に配備したクライアントとの通信を復元します] のチェックを必ず外してから [次へ] を選択します。以降はウィザードを最後まで進めます (既定値のままで問題ありません)。ウィザードが完了すると、SEPM が使用している新しい証明書に SQL 証明書が更新され、強制暗号化が再度有効になります。

  16. SEPM にログインし、SEPM が動作していることを確認します。

注: root.xml を変更しても SEPM とデータベース間の TLS が無効にならない場合は、<SEPM ディレクトリ>\Tools\ にある SetSQLServerTLSEncryption.bat スクリプトを使用する必要があります。このツールの説明は <SEPM ディレクトリ>\Tools\SetSQLServerTLSEncryption.html に記載があります。一時的に TLS を無効にするには OFF オプションをつけて管理者権限で実行します。

サーバーのシステム日付を証明書の期限切れ前まで戻せる場合

  1. システムの日付を、証明書の有効期限が切れた日付 (エラーログの [NotAfter:] の箇所に記載された日付) より前の日付に変更します。
  2. SEPM コンソールにログインします。エラーが表示される場合がありますが、最終的にはログイン可能です。
  3. [管理] -[サーバー] を選択し、[ローカルサイト] の下のホスト名をクリックして、タスク一覧の [サーバー証明書の管理] を選択します。
  4. サーバー証明書の管理ウィザードが起動したら [次へ] を選択します。
  5. [新しいサーバー証明書を生成する (自己署名付き)] をクリックし、[新しいキーの生成] のチェックを必ず外してから [次へ] を選択します。

    重要な注意: [新しいキーの生成] のチェックをつけたまま進めると、SEP クライアントが SEPM に接続できなくなりますので、必ずチェックを外してください。

  6. [新しい証明書を生成しますか] で [はい] を選択します。
  7. [完了] をクリックしてウィザードを終了します。
  8. OS のサービス一覧で、以下の 3 つのサービスを再起動します。

    Symantec Endpoint Protection Manager
    Symantec Endpoint Protection Manager API Service
    Symantec Endpoint Protection Manager Webserver

  9. OS のスタートボタン - [Symantec Endpoint Protection Manager] - [管理サーバーの設定ウィザード] を選択します。
  10. [管理サーバーの設定ウィザード] の最初のページで、[回復ファイルを使って、前に配備したクライアントとの通信を復元します] のチェックを必ず外してから [次へ] を選択します。以降はウィザードを最後まで進めます(既定値のままで問題ありません)。
  11. ウィザード完了後、システムの日付を現在の日付に戻します。
  12. システムを再起動します。
  13. 現在の日付の状態で、SEPM コンソールにログインし、SEPM が動作していることを確認します。