VMware HorizonのConnection ServerでApache Log4jの脆弱性の緩和策やってみた

# この記事について
Apache Log4jの脆弱性が大きな話題となっていますね。
調べてみると私のよく触っているVMware Horizonも対象となる場合があるようです。
すでに修正バージョンもリリースされていますが、今回はあえてVMware HorizonでApache Log4jの脆弱性の緩和策をやってみた記録です。(2021/12/21作成時点)

各種VMware製品のApache Log4jの脆弱性への対応状況はVMwareの[VMSA-2021-0028](https://www.vmware.com/security/advisories/VMSA-2021-0028.html)で確認できるようです。
また、VMware Horizonの緩和策については[KB87073](https://kb.vmware.com/s/article/87073)に記載されていました。

# 環境について

- Horizon 2111 ビルド18964782
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2412227/ed920083-13a6-aab8-09db-30ee7c7b1e07.png)

- HTML Accessをインストールしている場合、 CVE-2021-44228とCVE-2021-45046 両方に脆弱なようです。私の環境はHTML Accessをインストールしているので対象になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2412227/e909da3e-9e09-73b5-35ed-8f702a19a4ee.png)

# 緩和策について
[KB87073](https://kb.vmware.com/s/article/87073)をみるとどうやらConnection Server(およびHTML Access)の緩和策は下記の二種類あるようです。

* Connection Serverをアンインストールして、HTML Accessのチェックを外して再インストール
* もしくはBatファイルで提供されているスクリプトによる緩和策


今回はBatファイルで提供されているスクリプトを使ってみました。
[KB87073](https://kb.vmware.com/s/article/87073)からBatファイルがダウンロードできるのでサクッとダウンロードしてConnection Serverに持ってきました。
zipファイルをダウンロードするとBatファイルが1つ入っていました。わかりやすいですね。
コマンドラインで実行するようなので参照しやすい場所に移動しておきました。 (今回はCドライブ直下)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2412227/de5f64a1-f913-ecb7-3e32-9fe399f5abaa.png)

このスクリプトには3つの動作モードがあるようです。今回はResolutionモードですね。

* Reportingモード :インストール場所に脆弱なLog4jライブラリがあるかをレポート
* Resolutionモード:緩和策を適用するモード
* Restorationモード:Resolutionモードで問題が起きた時にLog4jライブラリを復元するモード

また注意点がいくつかあるようです。

* 実行する前にバックアップを実施
* スクリプトはローカル管理者として実行する。
* Connection Serverの場合サービスを停止(VMware Horizon View Connection Server *OR* VMware Horizon Connection Server)


# 実際にやってみた
## バックアップ
バックアップは環境によって取り方が異なると思うので割愛します。

## Connection Serverのサービスの停止
VMware Horizon View Connection Server、もしくはVMware Horizon Connection Serverのサービスを止めておきましょう。
私の環境ではVMware Horizon View Connection Serverでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2412227/732668e8-c54c-bfbc-d31c-96f9db233d80.png)

## コマンドプロンプトを管理者として実行
コマンドプロンプトを管理者として実行しておきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2412227/e43f1b2a-663b-a17d-1893-0576cb99967e.png)

## コマンドの実行
あらかじめ、BatファイルはCドライブ直下に置いておいたので後は実行するだけです。
[KB87073](https://kb.vmware.com/s/article/87073)によるとコマンドにはオプションがあり、実行の際はオプションをつけてモードを指定してあげるようです。今回はシンプルに[/resolve]で実行してみます。

* cve_mitigation - Executes the script in brief Reporting mode.
* cve_mitigation /verbose - Executes the script in extended Reporting mode.
* cve_mitigation /resolve - Executes the script in Resolution mode with minimal output.
* cve_mitigation /verbose /resolve - Executes the script in Resolution mode with extended output.
* cve_mitigation /restore - Executes the script in Restoration mode with minimal output.
* cve_mitigation /verbose /restore - Executes the script in Restoration mode with extended output.

実行できました。ちゃんとConnection Serverで実行しているのを認識しているようですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2412227/6f13caa5-bb1d-da2b-bfdb-cd93ad72fbea.png)

サービスを再起動すると変更が有効になるようなのでサービスを起動してみます。
起動しました、これで完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2412227/c019a05c-5752-ec4a-1ce5-7df66f294f24.png)

# まとめ
今回は修正バージョンもリリースされていましたが、あえて緩和策を実施してみました。
[KB87073](https://kb.vmware.com/s/article/87073)にも記載されていますが、緩和策はあくまでも修正バージョンへの更新ができない場合に利用するにとどめるのが良いと思われます。