DELLのRemote Management Controllerで仮想コンソールを開こうと思ったら、Javaのセキュリティ制限に引っかかりまくりハマったのでメモします。
久しぶりにバーチャルではない物理サーバの構築依頼を受けたのですが、渡された直後に少し設定を変え再起動したらOSが起動してこない…
こんな時はRemote Management Controllerの仮想コンソール機能の出番ですが、アプリケーションが古いのかJava8ではそのままだと動かす事ができませんでした。緊急時にこれでは困るので、対処方法を書き残しておきます。
目次
スポンサーリンク
仮想コンソールを利用するための推奨環境
まずは上手くいった時のクライアント側の環境から。極端に古かったりするとそれも問題になると思うので、同様の問題でハマっている場合はまずは手元の環境から見直してみましょう。
- OS: Windows10
- ブラウザ: IE 11.418.18362.0 または Microsoft Edge 44.18362.387.0
- Java: JRE ビルド1.8.0_231-b11
ChromeやFirefoxだとJavaアプリの関連付けが必要でした。しかし、設定したつもりだったのですが上手くいかなかったため無難なIEとかで今回はしのぎました。
仮想コンソールを起動するまでの流れ
仮想コンソールの起動順序は下記の通りです。
1. Remote Management Controllerへアクセスする
Remote Management Controllerはサーバとは別のIPが設定されていると思うので、まずはブラウザでそこにアクセスします。
すると、このようにSSL証明書のエラーが表示されますが無視して続行します。続行するためのボタンは小さく隠れているので見落とさないように注意です。
2. Console Redirectionのページで「Launch KVM」ボタンを押す
ページを開いたらボタンを押し、ブラウザでアプリを開きます。
3. Javaのセキュリティ警告を無視して仮想コンソールを開く
Javaの警告が表示されるのでチェックボックスを入れ、アプリケーションを実行します。黒いコンソール画面が開いたら成功です。
何かエラーがあるとこの警告が表示されずアプリケーションがブロックされて終わるので、遭遇したエラー内容を下記に書いていきます。
Javaの署名アルゴリズムMD5withRSAに関するエラーと対処法
古いRemote Management Controllerを使っていると?署名アルゴリズムの制限に引っかかり仮想コンソールが起動しません。その場合、下記のようなエラーが出ると思います。
次のリソースは、弱い署名アルゴリズムMD5withRSAで署名されているため、未署名として扱われます
現行のJavaのバージョンではMD5withRSAで署名したアプリは無効だよとの事ですが、どうもJavaの設定からはこの証明書アルゴリズムのチェックを無効化する方法が無いみたいです。
そこで、インストールされているJREの構成ファイルを直接編集して無理やり回避します。
Windows10の場合、デフォルトインストールすると下記のパスにセキュリティの構成ファイルが存在します。(バージョンは適時変更してください)
java.securityをメモ帳などで開き直接編集するのですが、この領域は管理者権限がないと変更できないので、「一度デスクトップにコピー、編集、元に戻す」という感じにやりました。直接、管理者権限で編集する方法がわからない…
変更箇所は簡単で、615行目付近にある “jdk.jar.disabledAlgorithms” の部分をコメントアウトするだけ。
# Operator: # <= | < | == | != | >= | > # # KeyLength: # Integer value of the algorithm's key length in bits # # Note: This property is currently used by the JDK Reference # implementation. It is not guaranteed to be examined and used by other # implementations. # # See "jdk.certpath.disabledAlgorithms" for syntax descriptions. # #jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024 # # Algorithm restrictions for Secure Socket Layer/Transport Layer Security # (SSL/TLS) processing #
これで署名アルゴリズムに関する問題は解消できます。
注意点としてはJavaのセキュリティが弱くなるので、作業が終わったら元に戻しておくのが良いでしょう。
Javaのセキュリティ制限でブロックされる問題と対処法
次にエラーが起きる可能性があるのが、自己署名付きアプリケーションがブロックされる問題です。
こちらはJavaの設定で例外リストにRemote Management Controller(へアクセスするURL)を追加してあげると解決します。
設定方法は、「コントロールパネル」→「Java」の順に開き、Javaコントロール・パネルの「セキュリティ」タブ、例外サイト・リストへ許可するURLを追加します。
Remote Management ControllerへアクセスURLが「https://192.168.0.1/」だったらそれを設定してあげます。
これらの設定はOSの再起動は不要なので、設定したらもう一度仮想コンソールを開いてみます。無事、黒いコンソールが起動したら対処完了です!
色々ハマりましたが事前にこの問題に気付けておいて良かったです。運用が開始してからアタフタしていたらアレですからね。
しかし、すっかり仮想のレンタルサーバ(クラウドとかVPS)に慣れてしまっていたので、久しぶりに不自由な思いをした気分です。
簡単ですが、仮想コンソールを起動できない時の対処方法は以上です。
普段はコメントを残すことなどしないのですが、思わず手が動いております。
FUJITSU の iRMC ビデオリダイレクションで同様の現象に悩まされておりましたところ、こちらの記事を参照して見事解決しました。ありがとうございました。
この記事が役に立ったようで良かったです!