IR 情報

お問い合わせ

BLOG

脆弱性管理 BLOG

2022 年 06 月 30 日

MIRACLE Vul Hammer でブログサーバに潜む脆弱性を管理してみよう

はじめに

前回の MIRACLE Vul Hammer を構築してみよう では、Vul Hammer のインストールや設定、スキャン対象に必要な設定をご紹介しました。今回は、MIRACLE Vul Hammer が構築出来ている状態を前提に、脆弱性スキャンの設定や脆弱性スキャンの実施〜脆弱性対策までの流れをご紹介します。
本記事で脆弱性スキャンを実施するサーバは、MIRACLE LINUX8.4 と WordPress でブログサーバを構築してみよう で構築したブログサーバです。
一体、ブログサーバにはどれだけの脆弱性が潜んでいるのでしょう ....

MIRACLE Vul Hammer を使ってみよう

それでは、以下の手順で実際に Vul Hammer を使ってみましょう。

  1. MIRACLE Vul Hammer の Web 画面にログイン
  2. ブログサーバをスキャン対象として MIRACLE Vul Hammer に登録
  3. MIRACLE Vul Hammer へ登録したホストを MIRACLE ZBX に反映
  4. OVAL ファイルの更新
  5. CPE スキャンの設定
  6. 脆弱性スキャンの実施
  7. 脆弱性スキャンの結果を確認
  8. タスクの生成
  9. 脆弱性対策の実施

MIRACLE Vul Hammer の Web 画面にログイン

Vul Hammer の設定ファイル(/etc/zabbix/vulhammer-manager.conf)に記載した WebFrontendURL に Web ブラウザからアクセスします。
以下のようなログイン画面が表示されます。

Vul Hammer のログイン画面

初期状態でのメールアドレスとパスワードを入力してログインしてください。

メールアドレス admin@example.com
パスワード password

ブログサーバをスキャン対象として MIRACLE Vul Hammer に登録

Vul Hammer の Web 画面左側にあるサイドバーから「ホスト」を選択します。
ホスト画面では、Vul Hammer がスキャン対象とするホストの一覧が表示されます。
ここで表示されている「Vul Hammer Manager Host」は、Vul Hammer Manager が動いているサーバを表します。

 ホスト画面

ホスト画面右上にある「アクション」メニューから「新規作成」をクリックします。

「アクション」メニュー

Web 画面右側のフォームに必要事項を入力します。以下は、脆弱性スキャンを実施するブログサーバを「blog-server」という名前で登録する例です。
入力が完了したら「作成」をクリックします。

 作成をクリック

正しく追加された場合は、ホストの一覧に「blog-server」が追加されます。

 ホスト一覧画面

MIRACLE Vul Hammer へ登録したホストを ZBX に反映

Vul Hammer に登録したホストを MIRACLE ZBX に反映します。
MIRACLE ZBX の Web 画面左側にあるサイドメニューから「設定」->「ホスト」をクリックします。
現時点では MIRACLE ZBX のホスト一覧として、以下の 3 つがあります。

  • Zabbix server:MIRACLE ZBX を動かしているサーバ
  • Vul Hammer Manager:Vul Hammer Manager を動かしているサーバ
  • Vul Hammer Manager Host:Vul Hammer Manager を動かしているサーバをスキャン対象として登録している

「設定」->「ホスト」画面

先ほど、Vul Hammer システムに登録した blog-server を ZBX に反映させます。
ホスト一覧から「Vul Hammer Manager」の「ディスカバリ」をクリックします。

ディスカバリルールの一覧が表示されますので、「Vul Hammer Host discovery」にチェックを付けます。
その後に、「監視データ取得」をクリックします。

 ディスカバリルールの一覧画面

「Vul Hammer Host discovery」というディスカバリルールによって、Vul Hammer Manager に登録されているスキャン対象のホストを ZBX に反映させることができます。
ここでは、blog-server が ZBX に反映されています。

blog-server が ZBX に反映

OVAL ファイルの更新

続いて、OVAL スキャンに必要な OVAL ファイルの更新を行います。

先ほどのディスカバリルールの一覧から「Vul Hammer OS discovery」にチェックを付けます。
その後に、「監視データ取得」をクリックします。

 ディスカバリルールの一覧画面

再び、ホスト一覧画面に戻り、Vul Hammer Manager の「アイテム」をクリックします。

 ホスト一覧画面

以下のように、Vul Hammer OS discovery によって多くのアイテムが作られます。

 アイテムが表示された画面

今回は、スキャン対象の OS が MIRACLE LINUX 8 なので、「 MIRACLE_LINUX_8 definition file (OVAL) poll」にチェックマークをつけて「監視データ取得」をクリックします。

「監視データ取得」をクリック

Vul Hammer Web 画面左側のサイドメニューから「管理」->「OVAL ファイル」をクリックします。
Vul Hammer WebUI より、MIRACLE LINUX 8 の OVAL ファイル取得時間が更新されていることが分かります。

Vul Hammer WebUI

CPE スキャンの設定

CPE スキャンでは、OVAL ファイルには設定されていないソフトウェアの脆弱性を検出します。今回のスキャン対象はブログサーバで WordPress がインストールされているため、WordPress の CPE ルール を登録します。

Vul Hammer WebUI 左側のサイドメニューより「ホスト」をクリックし、CPE ルールを適用させるホストにチェックマークを付ける

Vul Hammer WebUI

右上の「アクション」->「CPE ルール作成」をクリック

「アクション」->「CPE ルール作成」をクリック

画面右側に表示されるフォームに情報を入力します。

  • スクリプト:スキャン対象のソフトウェアのバージョンを出力するシェルコマンドやスクリプトスクリプト
  • プロセス:スキャン対象のソフトウェアのプロセス名
  • プロダクト:スキャン対象のソフトウェアの CPE におけるプロダクト名
  • ベンダ:スキャン対象となるソフトウェアの CPE におけるベンダ名
  • ソフトウェア:スキャン対象のソフトウェアの CPE におけるソフトウェア名

今回は WordPress の CPE ルール を登録するため、フォームには以下のように記載しました

  • スクリプト:WordPress のバージョンは、/var/www/wordpress/wp-includes/version.php に記載があるため、正規表現を用いてバージョンだけを取り出しました。
    cat /var/www/wordpress/wp-includes/version.php | grep -E "wp_version" | grep -E "([[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+)" -o
    
  • プロダクト:wordpress
  • ベンダ:wordpress

CPE ルール作成フォーム

脆弱性スキャンを実施

Vul Hammer の Web 画面からホスト一覧を表示し、スキャン対象にチェックマークを入れます。
その後、画面右側の「アクション」->「スキャンの開始をリクエスト」をクリックします。

 ホスト一覧

正常にスキャンが開始されると、スキャン対象のステータスが「OVAL スキャンキューに追加されています」->「スキャン中」へ遷移します。

 スキャン中画面

スキャンが正常に終了するとステータスは「正常」に戻ります。

脆弱性スキャンの結果を確認

スキャンの結果、検出された脆弱性は、Vul Hammer Web 画面左側のサイドメニューより「ダッシュボード」「脆弱性」をクリックすることで確認できます。
↓ダッシュボード

 ダッシュボード

↓検出された脆弱性一覧

 検出された脆弱性一覧

なんと、"320 件 " もの脆弱性が検出されました ...。そのなかでも CRITICAL な脆弱性は 31 件存在し、全体の 9% になります。

年初に話題になった polkit の脆弱性(CVE-2021-4034)も検出されています。

polkit の脆弱性(CVE-2021-4034)

サマリを「WordPress」でフィルタリングすると、WordPress に関する脆弱性が 18 件見つかりました。

WordPress に関する脆弱性

このように、システムに内在する脆弱性が可視化され、把握することが出来ます。

タスクの生成

対策すべき脆弱性はタスクとして登録することが出来ます。
タスクとして登録したい脆弱性にチェックマークを付けた後に、「アクション」->「対象ホストへの一括タスク発行」をクリックします。

 対象ホストへの一括タスク発行

右側に表示されたフォームに必要に応じてコメントを記入し「作成」をクリックします。

「作成」をクリック

Vul Hammer の Web 画面左側のサイドメニューから「タスク」をクリックします。
以下のように登録されたタスクが一覧で表示されます。

 登録されたタスクが一覧で表示

脆弱性対策の実施

OVAL スキャンによって検出された脆弱性には、影響を受けるパッケージが関連付けられる事があります。その場合は該当するパッケージをアップデートすることで対策します。
コマンドを手入力することでパッケージのアップデートは可能ですが、MIRACLE Vul Hammer Update Agent をスキャン対象にインストールすることで、Vul Hammer の Web 画面からパッケージのアップデートを行うことも可能です。

パッケージのアップデートを実施したいタスクをクリックし、タスク詳細画面を開きます。「アップデートワークフローの更新」から「申請」もしくは「アップデート依頼」をクリックします。
「申請」は一般ユーザからサーバ管理者へアップデートの申請を行います。申請を受けたサーバ管理者は、その申請を「承認」することで Vul Hammer Manager へアップデートを依頼することが出来ます。
「アップデート依頼」ではサーバ管理者が直接 Vul Hammer Manager へアップデートを依頼することが出来ます。

 申請 / アップデート依頼

Vul Hammer Manager へアップデート依頼が渡ったら、タスクのアップデートワークフロー状態が「実行待機中」となります。

 実行待機中

正常にアップデートが実施されたら、タスクのアップデートワークフロー状態が「実行成功」となります。

 実行成功

脆弱性対策が実施されたタスクのステータスは、次回の OVAL スキャン後に「対策実施済み」に遷移します。

 対策実施済み

おわりに

今回は、MIRACLE Vul Hammer を利用して、実際にブログサーバの脆弱性を調べてみました。実に 320 件もの脆弱性がリストアップされ、かなり危機感を覚えましたね ...。
本記事でも紹介したように、MIRACLE Vul Hammer では脆弱性スキャンやパッケージアップデートによる脆弱性対策を実施することが出来ます。
気になった方は、是非評価版をお試しください!

MIRACLE Vul Hammer 評価版


以下のブログでは、脆弱性について解説していますので是非ご覧ください。

本記事に関連するリンク
デジタルトランスフォーメーションのための電子認証基盤 iTrust
SSL/TLS サーバー証明書 SureServer Prime
組込み Linux にプラスして 長期間の製品ライフサイクルをサポート EM+PLS