サイト内の現在位置を表示しています。

Cluster WebUIにOpenSSL 3.0/3.1を利用してHTTPSで接続する方法(Windows/Linux)

CLUSTERPRO オフィシャルブログ ~クラブロ~

はじめに

CLUSTERPRO Xでは、管理GUIであるCluster WebUIの通信方式としてHTTPS接続を選択することが可能です。
HTTPS接続を利用する場合に必要となるOpenSSLにはバージョンとして1.1.1、3.0、3.1等がありますが、このうちバージョン1.1.1は2023年9月11日にサポートが終了しています。現在もサポートが継続しているOpenSSLへの対応としては、CLUSTERPRO Xの最新バージョンであるX 5.1がOpenSSL 3.0に対応していましたが、2023年11月17日にリリースされたアップデートにより、過去のバージョンも含めOpenSSL 3.1への対応が行われました。
OpenSSL 3.1への対応が行われたアップデートは以下のとおりです。
  • 入手にはPP・サポートサービスの契約が必要です。
  • CLUSTERPRO X 5.1の標準アップデート(内部バージョン:5.1.2-1/13.12)
  • CLUSTERPRO X 4.3(内部バージョン:4.3.0-1~4.3.4-1/12.30~12.34)向けの追加アップデート
  • CLUSTERPRO X 3.3(内部バージョン:3.3.5-1/11.35)向けの追加アップデート

OpenSSL 3.0/3.1ではライブラリのファイル名などがOpenSSL 1.1.1以前と異なるため、以前のpopupWindows向けの記事popupLinux向けの記事とは設定内容が一部異なります。そのため、今回はCLUSTERPRO X 5.1(内部バージョン:5.1.2-1/13.12)環境を例として、OpenSSL 3.0/3.1を利用してCluster WebUIにHTTPS接続するための設定方法を紹介します。

この記事の内容

1. OpenSSLのインストール

Cluster WebUIでHTTPS接続を利用するためにOpenSSLを導入します。

1.1 OpenSSLのインストール(Windows)

Windows環境ではOpenSSLを別途ダウンロードしてインストールする必要があります。 今回ご紹介する手順ではOpenSSL 3.1を導入する手順としていますが、同様の手順で3.0も導入可能です。

HAクラスターを構成する全てのサーバーにOpenSSLをインストールします。Cluster WebUIが対応するOpenSSLのバージョンについては以下のFAQもご参照ください。

今回は、popupWin32/Win64 OpenSSL Installer for Windows - Shining Light Productionsより「Win64 OpenSSL v3.1.X Light」(Xには数字が入ります)のファイルをダウンロードし、サーバーに配置してインストールします。今回利用するWin64 OpenSSLのインストールには「Microsoft Visual C++ 2019 Redistributable (64-bit)」が必要となりますので、インストールを求められた場合は表示される手順に従ってインストールしてください。
OpenSSLのインストーラー実行後はインストールウィザードの案内に従って進めていきますが、本手順ではインストール先をデフォルト設定のまま、DLLの格納場所をbin配下とするように設定しています。

OpenSSLのインストール先

今回紹介したサイト以外のWindows向けOpenSSLバイナリを公開しているサイトについては、以下のOpenSSL公式Wikiに掲載されています。各サイトのOpenSSLバイナリを利用した際のCLUSTERPRO観点での動作は未確認ですが、参考情報として紹介します。

1.2 OpenSSLのインストール(Linux)

Linux環境では、ディストリビューションが予め用意したOpenSSLを利用することが出来ます。今回ご紹介する手順ではOSとしてRed Hat Enterprise Linux 9.2を利用していますが、同環境ではminimalインストール時にOpenSSL 3.0が導入されています。

2. 秘密鍵とサーバー証明書の作成と配置

HTTPS接続で利用する秘密鍵とサーバー証明書の作成と配置を行います。
今回、サーバー証明書は自己署名証明書として作成したものを利用します。
  • 本手順においてコマンドで指定するオプションは参考値であり、実際に各種ファイルを作成する際は要件に合わせてオプションを変更してください。

2.1 秘密鍵とサーバー証明書を格納する場所を作成

OpenSSLをインストールしたサーバーで秘密鍵とサーバー証明書を作成、及び格納する場所を作成します。

■Windowsの場合
今回は「C:\ssl」として作成します。 コマンドプロンプト等からフォルダを作成し、フォルダへ移動します。
また以降の手順実施のため、一時的にPath環境変数にOpenSSLインストールフォルダを設定します。

> mkdir C:\ssl
> cd C:\ssl
> set Path=%Path%;C:\Program Files\OpenSSL-Win64\bin


■Linuxの場合
今回はファイルを作成するための一時ディレクトリとして「/tmp/ssl」を作成し、ディレクトリへ移動します。

# mkdir /tmp/ssl
# cd /tmp/ssl

2.2 秘密鍵を作成

OpenSSLコマンドを利用して秘密鍵を作成します。
今回はファイル名を「clp_server.key」として作成します。

■Windowsの場合

> openssl.exe genrsa -out clp_server.key 2048


■Linuxの場合

# openssl genrsa -out clp_server.key 2048

2.3 証明書署名要求(CSR)を作成

OpenSSLコマンドを利用して証明書署名要求(CSR)を作成します。
今回はファイル名を「clp_server.csr」として作成します。コマンドを実行すると「Country Name」などの情報を対話形式で入力することを求められますので、環境に合わせて設定してください。

■Windowsの場合

> openssl.exe req -new -key clp_server.key -out clp_server.csr


■Linuxの場合

# openssl req -new -key clp_server.key -out clp_server.csr

2.4 サーバー証明書(CRT)を作成

OpenSSLコマンドを利用してサーバー証明書(CRT)を作成します。
今回はファイル名を「clp_server.crt」として作成します。また、証明書の有効期間を3650日として作成します。

■Windowsの場合

> openssl.exe x509 -req -in clp_server.csr -signkey clp_server.key -out clp_server.crt -days 3650


■Linuxの場合

# openssl x509 -req -in clp_server.csr -signkey clp_server.key -out clp_server.crt -days 3650

2.5 秘密鍵とサーバー証明書をクラスター構成サーバーに配布

作成した秘密鍵とサーバー証明書(CRT)を、HAクラスターを構成する全てのサーバーに配布します。
このとき、秘密鍵とサーバー証明書のパスが全てのサーバーで同じパスとなるようにします。今回は以下のディレクトリ配下に秘密鍵とサーバー証明書を格納します。

■Windowsの場合

秘密鍵:C:\ssl\clp_server.key
サーバー証明書:C:\ssl\clp_server.crt


■Linuxの場合

秘密鍵:/etc/pki/tls/private/clp_server.key
サーバー証明書:/etc/pki/tls/certs/clp_server.crt

3. CLUSTERPROの設定

Cluster WebUIから、HTTPS接続を利用するための設定を行います。

Cluster WebUIの設定モードで「クラスタのプロパティ」を選択します。

「クラスタのプロパティ」の「WebManager」タブを選択し、通信方式として「HTTPS」を選択します。

「クラスタのプロパティ」の「暗号化」タブを選択し、証明書ファイルなどのパスを設定します。

■Windowsの場合

証明書ファイル:C:\ssl\clp_server.crt
秘密鍵ファイル:C:\ssl\clp_server.key
SSLライブラリ:C:\Program Files\OpenSSL-Win64\libssl-3-x64.dll
Cryptoライブラリ:C:\Program Files\OpenSSL-Win64\libcrypto-3-x64.dll

■Linuxの場合

証明書ファイル:/etc/pki/tls/certs/clp_server.crt
秘密鍵ファイル:/etc/pki/tls/private/clp_server.key
SSLライブラリ:/usr/lib64/libssl.so.3
Cryptoライブラリ:/usr/lib64/libcrypto.so.3

設定が完了したら、設定反映を行います。
通信方式の変更により設定反映時に「WebManagerサービス再起動」等の実行を確認されるため、OKを選択します。

4. 動作確認

WebManagerサービスの再起動完了後は、Cluster WebUIにHTTPでは接続できずHTTPSで接続することになります。表示更新が行われるタイミングでエラーが表示されますので、接続URLを「https://<サーバーのIPアドレス>:29003」に変更して接続し直してください。Cluster WebUIを表示できれば設定変更は完了です。
  • サーバー証明書に自己署名証明書を利用しているため、接続時に証明書に関する警告が表示されます。これは意図したものですので、そのまま接続を進めてください。
もし、ファイル配置や設定に不備がありHTTPS接続が利用不可な場合、WebManagerサービスはHTTP接続が可能な状態として起動します。その場合、ファイルを配置し直した後にWebManagerサービスを再起動する、設定内容を修正の上で設定反映を行う等の対処を行ってください。

まとめ

今回は、OpenSSL 3.0/3.1を利用したCluster WebUIへのHTTPS接続の設定方法をご紹介しました。Cluster WebUIへの接続を暗号化したい場合は、本記事の内容を参考にHTTPSの設定を有効にしてください。

本記事の構成をご検討の際は、CLUSTERPROのpopup試用版を用いて検証した後、ご提案・構築ください。

お問い合わせ

本記事に関するお問い合わせは、popupお問い合わせ窓口までお問い合わせください。