古いサーバのBMC Remote Console/Console Redirectionに接続できない場合の対処

 

免責事項

本記事内は通常運用ではリスクのある設定変更について記述しています。

もし本記事を参考にする場合は変更内容の意味やリスクを十分に把握したうえで、必要な場合のみにご利用ください。

本記事内で紹介している変更手順を実施したことによる損害については一切責任を負えません。

 

 

関連ブログ

本記事は以下の過去ブログと類似のナレッジです。

https://itorwar.blogspot.com/2023/08/idracjava.html

 

 

 

事象

古いサーバの再利用のために、BMCからRemote Console/Console RedirectionJava)を起動しようとしたらセキュリティ関連のエラーで起動ができませんでした。

古いサーバは利用するSSL証明書やSSLチェーン内のCA証明書の期限が切れていたり、すでにサポートされていない暗号化やハッシュのプロトコルを利用していることがあり、その場合は最新の環境ではセキュリティエラーでアプリケーションが起動しないことがあります。

 

 

やったこと一覧

BMCでのSSL証明書再作成

端末側のJavaのセキュリティ設定の変更

端末側のJava例外リストに登録

端末側のJavaでの 「署名付きコード証明書失効チェック」を無効化

 

 

 

BMCでのSSL証明書再作成

古い場合はBMC側で持っているSSL証明書が期限切れの場合があります。

ブラウザによってはRemote Console/Console Redirectionの起動に必要なjnlpファイルのダウンロードを許可しない場合もありますので、

BMC側で証明書更新の手順が準備されている場合、まずはSSL証明書の更新をしたほうが良いです。

手順はBMCの機能に依存するため、手順紹介は省きます。

私の環境ではBMC GUIにログインしてからConfiguration -> SSL から証明書の更新が可能でした。

GUIの機能で自己署名証明書を再生成して更新できる場合もあれば、自身で作成した証明書をアップロードするパターンもあります。

自己署名証明書の作成方法はググればたくさん出てくると思いますが、例としてOpensslを利用する手順を紹介しているページを一つ載せておきます。

OpenSSL SSL 自己証明書を発行する手順 | (oscasierra.net)

 

 

 

 

端末側のJavaのセキュリティ設定の変更

古いサーバのBMCCipher Suiteが古く、最新の端末環境からはアクセスできない場合があります。

Cipher Suiteについては以下の説明が端的でわかりやすいと思います。

暗号スイート(サイファースイート)とは - 意味をわかりやすく - IT用語辞典 e-Words

 

古いサーバ側で新しいCipher Suiteに対応できればそれが一番ですが、それが困難なケースも多いです。

その場合はクライアント端末側でセキュリティ設定を変更することで接続できるようになる場合があります。

BMCRemoteConsole/Console Redirectionは、古いものであればJavaを利用(jnlpファイルの実行)しているケースがほとんどと思いますので、

Javaのセキュリティ設定を編集することで接続できるようになる場合があります。

私の環境では以下の設定を変えることで古いCipher Suiteでの接続が可能になりました。

 

※以下の設定は端末のセキュリティ機能を低下させる非推奨な設定となります。リスクを把握したうえで自己責任で実施ください。

 

C:\Program Files\Java\<version>\lib\security\java.security をエディタで開いて以下の部分をコメントアウト(連続した項目ではありません。)

 

#jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \

#    RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224, \

#    include jdk.disabled.namedCurves, \

#    SHA1 usage SignedJAR & denyAfter 2019-01-01

 

------------------------------

 

#jdk.security.legacyAlgorithms=SHA1, \

#    RSA keySize < 2048, DSA keySize < 2048

 

 

------------------------------

 

 

#jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \

#      DSA keySize < 1024, include jdk.disabled.namedCurves, \

#      SHA1 denyAfter 2019-01-01

 

 

------------------------------

 

 

#jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \

#    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \

#    include jdk.disabled.namedCurves

 

環境によっては過不足があると思いますので実際の環境に合わせていろいろとお試しください。

 

 

 

 

 

端末側のJava例外リストに登録

 

古いサーバのBMC Remote Console/Console Redirection は信頼されないアプリケーションとして、Javaのセキュリティ設定が「高」もしくは「非常に高い」になっている場合は接続ができない場合があります。

その場合はセキュリティ設定を「中」にする必要がありますが、最近のJavaのバージョンでは「中」の選択肢がありません。

その場合はJavaの例外リストにBMCURLを登録します。

 

※以下の設定は端末のセキュリティ機能を低下させる非推奨な設定となります。リスクを把握したうえで自己責任で実施ください。

 

Javaの例外リストはJavaのコントロールパネルから設定ができます。





 

 

登録サイトが多い場合は例外サイトの設定ファイルを直接設定するほうが簡単です。

私の環境では以下の場所にありました。

C:\Users\<ユーザ名>\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites

 

以下のように1URL1行として記載すればOKです。

Http httpsかはサイトに依存しますが、どちらか分からない場合は両方のパターンで書いておけばどちらもカバーされます。

ファイルにはURLのみを記載し、不要な改行などは入れないほうが無難と思います。



 

 

 

 

端末側のJavaでの 「署名付きコード証明書失効チェック」を無効化

Remote Console/Console Redirectionのアプリが署名されている場合、その証明書の失効チェックがなされる場合があります。

その時に古いサーバのBMCの場合は失効チェックが失敗してアプリが起動できない場合があります。

その場合は下記の記事にもあるように署名付きコード証明書失効チェック」を無効化することで該当のチェックをスキップできます。(全文閲覧にはログインが必要)

参考: アーティクル - CS248570 - Windchill アプレットが Windchill PDMLink で「証明書が取り消されました」というエラーでロードに失敗する (ptc.com)

 

 

※以下の設定は端末のセキュリティ機能を低下させる非推奨な設定となります。リスクを把握したうえで自己責任で実施ください。

 

 

以下の図のようにJavaのコントロールパネルのAdvanced設定から該当項目で Do not checkを選択してください。

 

 

おわりに

本記事では古いサーバを再利用する際に発生した問題の回避策について紹介させていただきました。

紹介した設定の多くはセキュリティを低下されることにつながりますので、もし実施する場合はリスクを把握したうえで自己責任でお願いします。

古いセキュリティのプロトコルやCipher SuiteしかサポートしていないサーバやOSなどは、現在では保守が切れていると思いますし、何かしらのセキュリティ脆弱性を内包していると考えたほうが良いです。

決して本番環境や公開環境で利用することなく、攻撃を受ける心配のない安全な環境での再利用が必要になります。

その点にご留意いただきつつ、本記事の内容名が何らかのお役に立てば幸いです。

 

 

コメント

このブログの人気の投稿

vSwitchにSTPが不要な理由

ESXi に DNS サーバを何個まで登録できるか

障害でVDSから切断されたVCSAの復旧方法