講演後半では、Wazuhを運用する際に起きる課題を3つ挙げ、どのように解決しているのか解説した。それぞれ見ていこう。
まず、全社でWazuhを導入しても、各事業部で顧客に提供するサービスが異なり、顧客のアクセス権限がバラバラであるため、Wazuhの設定を柔軟に変更したいというニーズがあった。さらに、事業部数が増加すれば、運用自体に手が回らなくなることも考えられる。
そこで、共通部分やマニフェストファイルをOSSとして開発し、細かい使いところは各事業部でチューニングして、ノウハウを社内で共有するなど、事業部ごとに円滑な運用ができるようにしたという。事業部数が多いことによって運用が煩雑になるという課題に対しては、Wazuhが提供するグルーピングやラベル機能を用いることで解決した。
グルーピング機能では、各エージェントがどのサーバを監視しているのかグループを設定することで、グループごとに細分化して分析できる。またラベル機能を用いることで、Slackなどのチャットツールと連携させて通知を投稿する際、どのチャンネルに送信するか設定できる。
「Wazuhが検知した情報を、グルーピングやラベルを活用しながらSlackで通知するようにした。通知に対するアクションは全社で共通化し、セキュリティ対策チームと進める方針を採っている」
2つ目の課題が「ノイズアラート」だ。アラート通知をSlackなどの外部ツールで受け取る場合、さまざまな種類のアラートが通知される。緊急ではないアラート(ノイズ)が多いと、運用管理者がいずれアラートを見なくなってしまうという課題がある。
Wazuhでは、定義済みのルールセットに基づいて、各アラートにセキュリティレベルが設定されている。そのレベルに基づいて、アラートを連携先に通知するかどうかを設定できる。またルールセットは、運用管理者が上書きできるため、運用方針に基づいてルールセットのレベルを変更し、対応すべきアラートを選別できる。
「顧客がサーバのログインに失敗したという情報もアラートとして上がるが、それを知っても対応できないため、通知されないようにセキュリティレベルを下げて対応した。これにより、即対応が求められるアラートのみ通知するという運用ができる」
最後に取り上げたのは「コマンド/デプロイ爆弾」だ。Wazuhでは、ファイル整合性モニタリング機能を用いて、システム内のフォルダに変更があったとき、ファイルの追加か削除か書き換えかどうかを検知する。しかし、シンボリックリンクを用いるデプロイ方式では、フォルダ名が変更されるため、稼働中のサービスに謎のファイルが置かれたと認識してアラートが発生してしまう。また、サーバで実行するコマンドによって、無駄な通知が発生する場合があるという。
「何げなく、サービスフォルダ内にある『node_module』フォルダのファイル数を検索した際、5万6578個ファイルがあるのが分かった。しかし、Wazuhがそのコマンドを全てのファイルに対して操作を行ったと認識し、5万6578回分のアラートがSlackに通知されてしまった。Slack APIで処理しているため途中で止めることができず、大変なことになった」
こうした誤検知(誤通知)を防ぐには、Wazuhが持つデータベースをパージする方法が有効だと説明する。
「Wazuhでは、SQLiteのデータベースが用意されている。このデータベースをパージ(初期化)すると一種の学習モードになり、どのコマンドやファイルの追加が問題ないかどうかを学習できる。コマンド実行時やデプロイ時にパージを行うことで、誤検知を防ぐことができる」
山下氏は、次のように述べて講演を締めくくった。
「Wazuhの導入後、幸いなことに不正アクセスは発生していない。2018年はインシデント対応に時間を費やす1年だったので、2019年はクラウドサービスやクラウド関連技術を学ぶ余裕が生まれるよう、RESTful APIを使いこなし、インシデント対応を自動化できるよう取り組んでいきたい」
Copyright © ITmedia, Inc. All Rights Reserved.