Installed Collectorをリモートでバージョンアップする #sumologic

log4jのゼロデイ脆弱性の対策版Installed Collectorが公開されています。Sumo LogicのWebコンソールからリモートでアップグレードが可能なので、忘れずに対応しておきましょう。
2021.12.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

※ 2021/12/14 影響について追記しました

世間的に広く使われているJavaロギングフレームワークのlog4j2にゼロデイ脆弱性が見つかった、というニュース、みなさんの耳にも届いているかと思います。

弊DevelopersIOブログでも、いくつか関連記事がでています。

Sumo LogicのInstalled CollectorもJavaで作られており、ログフレームワークにこの log4j が使われています。
現地時間の 12/11 、今回の脆弱性をうけて対処済みバージョンのコレクターが公開されました。

December 11, 2021 (19.361-12)
Log4j upgraded to 2.15.0 to fix the zero-day exploit affecting the popular Apache Log4j utility (CVE-2021-44228).

Installed Collectorはリモートでアップグレード(バージョンアップ)が可能です。忘れずに最新バージョンにしておきましょう。

その前に:Installed Collectorに対する影響について

Sumo LogicからはWeb上でのアナウンスはされていませんが、12/11 の時点でユーザーアカウント向けにメールで影響についての説明がされています。
それによると、Collectorとしてはバージョン 19.227-15 (2018/10リリース) の時点で、本脆弱性の影響を受けない状態になっているとのことでした。ただしリスクを最小にする措置として、Installed Collectorは最新バージョンの利用を推奨するとのことです。

ちなみに Sumo Logic 公式ブログにて、本脆弱性をついた攻撃の痕跡をログ上からSumo Logicを使って検索する方法について記事が掲載されています。

やってみる

Installed Collectorのアップグレードは、以下の3つの方法で実施可能です。

  • Sumo LogicのWebコンソールから(日本語/英語
  • 動作しているサーバにSSHなどで接続して(日本語/英語
  • Collector Management APIを利用(英語のみ)

その上で、まずは(まだ読まれていなかった場合は)Sumo Logicが公開しているベストプラクティスをお読み下さい。
ここではそのベストプラクティスに従い、Webコンソールから実施してみます。

Sumo LogicのWebコンソールにログインし、 Manage Data --> Collection をクリックすると、 Collection タブの右上「Upgrade Collection」の前に注意アイコンが表示されているかと思います。

ひらくと、ふたつのInstalled Collectorがアップグレード対象としてリストアップされていました。

まずAmazon Linux 2上で動作しているコレクタ ip-172-31-30-31 に対してアップグレードしてみます。右端の Upgrade をクリックするとアップグレードが始まります。

ちなみに今回は関係ありませんでしたが、コレクタ管理画面から対象コレクタ(ホスト)の詳細を開いてこちらからアップグレードすることも可能です

今回は概ね5分程度で完了しました。

ドキュメントにあるように、アップグレード中もとまりません(最終的にプロセスを再起動する瞬間だけ停止します)。

次はWindowsホスト EC2AMAZ-MCGSVOC に対してやってみます。残り一つですし、 Upgrade All ボタンをためしてみました。
こっちでも同様にアップグレードプロセスが開始されます(複数台残っていたら、一斉に開始されるはずです)。

こちらも5分程度で完了しました!

注意事項

Upgrade Collectionのダイアログにも書いてありますが、対象ホストが Ubuntu 16 の場合はコマンドラインからのアップグレードを行って下さい。

Collectors running on Ubuntu 16 Linux will require a manual service restart after upgrade.

アップデートが失敗するケースも考えられますが、その際でも旧コレクタが動作し続ける設計です。
タイミング的な可能性もありますのでリトライしたり、該当サーバ上にログインしてコマンドラインからアップグレードを試してみて下さい。

なおドキュメントには、よくある失敗の原因として以下が挙げられています:

  • 利用可能なディスク領域が不足
  • パーミッションエラーにより Sumo Logic へのアクセスがブロックされた(ファイルアクセスなど)
  • アップグレード中にネットワークエラーが発生した

Collector アップグレードのベストプラクティス

Sumo Logicのヘルプドキュメントには、Collectorアップグレードにあたってのベストプラクティスが記載されています。

ポイントは以下です:

  • 最新を使用する
  • Sumo Logic ユーザ インターフェイスを使用してアップグレードする
  • ステージング環境で新しい Collector をテストする

また、チェック項目なども掲載されてますので、アップグレード作業の参考にしてください。