Re:シルの日々の戯言。

散財が生き甲斐になりかけている、デジタルガジェット大好き自称黄色いネズミの戯言。

VMware ESXiのパッチを充ててみた

先日調達した2代目ThinkPad T440p、いい具合にESXiサーバとして動いてくれています。
sylve.hatenablog.jp


そんな中、何やらVMware製品で緊急の脆弱性で早急なアップデートを・・・と言うニュースが駆け巡っています。
news.mynavi.jp

Q:VMware ESXiを2代目ThinkPad T440pに入れた日は?
A:2020年6月20日(戯言日記公開日)

Q:パッチ提供日は?
A:2020年6月25日(上記のマイナビニュース掲載日)

VMware ESXiのパッチ充てなきゃ・・・

なんと驚き、インストールして数日でパッチが提供されました。しかも「ただちにアップデート」とか言われているパターンです。

割と企業内では放置されがちなモノではありますが(!?)*1私の場合は一般のご家庭でインターネット接続が可能な環境下にESXiをぶら下げていることから早急にアップデートを行わないと駄目なパターンかと思います。・・・いえ、普通にルーター噛ませてFWも然るべき設定していますが、そうは言ってもパソコンの大先生の単純思考では考えられないような手法で*2攻撃されてしまったら目も当てられませんので・・・。

とは言うものの、過去にESXiで遊んでいましたがパッチを充てたことは1回くらいしか*3無かったりするので、改めてESXiのパッチ適用方法を学習しておく必要があります・・・。

パッチの入手方法

とりあえず調べていくと、パッチ自体はMy VMwareからダウンロードが可能なようです。
https://my.vmware.com/group/vmware/patch

ESXiダウンロードのために登録したアカウントでログインし・・・

  1. Select a Product→ESXi(Embedded and Installable)
  2. (グレーアウトしている)Select Version→7.0.0(または利用中のバージョン)
  3. (下部に表示される)SEARCHボタン

このオペレーションでパッチが出てきます。
今回はRelease Dateが06/23/2020のパッチをダウンロードします。・・・リリース日観点でもISOファイルダウンロード日以降の日付でどのみち入れなきゃ駄目か・・・。

パッチ適用方法

適用方法については先駆者によるESXi 6.7向けの手順がそのまま使えるのでそちらを参照。
redj.hatenablog.com

ただ、個人的な手法としては以下の感じです。

  1. ESXiのWebコンソールに接続する。
  2. ESXi上の仮想マシンを一通りシャットダウンする。
  3. ストレージ→データストアのデータストアブラウザ経由でパッチファイル(ZIPファイル)をアップロードする。
    1. 任意の場所だが、データストアのルートにPATCHなり何なり適当なディレクトリ作成
    2. 作成したディレクトリにパッチファイル(ZIPファイル)のアップロード
  4. ホスト→アクション→メンテナンスモードへの切り替えでメンテナンスモードに移行する。
  5. ホスト→アクション→サービス→SSHの有効化をクリックする。(デフォルト無効)
  6. SSH経由でESXiサーバにログインする。*4
  7. コマンド叩きまくる。
    1. esxcli software source profile list -d /vmfs/volumes/(データストアのストレージ名称)/(パッチ格納ディレクトリ名)/パッチファイル(ZIPファイル)
    2. esxcli software profile update -d /vmfs/volumes/(データストアのストレージ名称)/(パッチ格納ディレクトリ名)/パッチファイル(ZIPファイル) -p ESXi-7.0b-xxxxxxxx-standard*5
    3. reboot
  8. ESXiのWebコンソールに接続する。
  9. (再起動するとデフォルト状態に戻るので)ホスト→アクション→サービス→SSHの有効化をクリックする。
  10. SSH経由でESXiサーバにログインする。
  11. esxcli software profile get
  12. 先程指定したイメージプロファイル名に変更されたことを確認する。
  13. ホスト→アクション→メンテナンスモードへの切り替えでメンテナンスモードを解除する。
  14. 停止した仮想マシンを順次起動させる。

全部コマンドラインでも可能ですが、Webコンソールメインでの操作となっています。またSSHコンソールは標準だと無効化されているので毎回有効化操作が必要です。・・・まぁ、(サーバ側の)コンソールで設定すればデフォルト有効も可能ですが・・・。
あと本来であれば最後に現在の適用バージョンを確認するプロセスが入ると思いますが、面倒臭いので個人環境なのでとりあえずブチ込み、当たったねハイ終わり・・・とIT技術者らしからぬ適当さで対応しています。

こんなに・・・面倒だったっけ?

Windows/macOSを触れていると、勝手に「パッチ出たよ!充てて!」とメッセージが出たり、近年のLinuxだとSSHログイン時に「新しいパッチあるで!」と*6お知らせが出たりしますが、ESXiはそんな便利機能は無いようで、自分で情報を収集して自分でダウンロードを済ませて自分で適用させると、若干面倒です。

とは言え、充てなければ悪い意味での踏み台に使われたり、ぶっ壊されたり、ろくな事はないので早々にパッチは充ててしまいましょう。
ちなみに「ESXiとか企業ベースでしか使わねーよwww」とか思われそうですが、残念なことにESXiを導入するまでは無いけど個人ユースでも利用する機会のあるVMware Fusion(Mac向け有償の仮想マシンツール)/Workstation(Win向けPlayerは無料の仮想マシンツール)も対象になってますので、GEEKな皆様はお早めに提供パッチの適用を。

*1:えぇ、過去携わったプロジェクトでも基本的に放置してます・・・。クローズドなネットワークと言うのが理由ですが・・・。

*2:全部が全部終えてませんし、構築エンジニアでセキュリティに特化した技術者では無いのでセキュリティ的に突っ込んだコトをされると一生懸命ぐぐるくらいしか対応出来ないので・・・。

*3:確かIE以外のブラウザで接続するとエラー吐きまくる。ESXi 6.0かそれ以前のバージョンだったか・・・。

*4:TeraTermを利用する場合は、認証方式として「キーボードインタラクティブ認証」にチェックを付ける。

*5:xxxxxxxxには、先のコマンドで出てくるイメージプロファイル名。ちなみにESXi7.0の場合は7.0b=セキュリティパッチ+バグフィックス、7.0bs=セキュリティパッチのみらしい。

*6:UbuntuSSH経由でログインするとログインメッセージとしてお知らせが出てくれます。