• 検索結果がありません。

5. IPA における WAF 導入・運用事例

5.3. 導入

55

56

IPA のネットワーク管理者との調整

今回導入した「ModSecurity」は、サーバインストール型WAF52です。ネット ワーク構成の変更は必要ありません。このため、IPA のネットワーク管理者に調 整する必要はありませんでした。

■ 「 JVN iPedia 」のサーバ管理者との調整

「ModSecurity」は、「Apache」のモジュールとして動作するWAFです。イン ストールやアップデートを行う際には、「Apache」の再起動が必要となり、利用 者が「JVN iPedia」を一時的に利用できなくなるなど、導入におけるリスクを

「JVN iPedia」のサーバ管理者に説明しました。

また、3.3章で説明したようにWAFを導入した場合、偽陽性などの誤検知が発生し利用者の正 常な通信を遮断してしまう可能性があります。このような運用におけるリスクを「JVN iPedia」

のサーバ管理者に説明しました。

一方でリスクを最大限低減するための施策として、導入を行う前に導入テスト・偽陽性の発生 に関する確認などの検証を十分に検討している事を説明しました。

この結果、WAFを導入することについて、サーバ管理者の了承を得ました。

なお、サーバ管理者には「導入判断」の段階で一度ヒアリングしています。当然、その時点で も WAF を導入する目的、効果、リスクを簡単に説明していました。再度これらを説明した理由 としては、「導入判断」の時点と異なり、導入するWAFが決まったことがあげられます。導入す るWAFの特徴が明確になったため、そのWAFの特徴、リスクなどを中心に再検討し、これらを 詳細に説明しました。

■ 「 JVN iPedia 」開発業者との調整

「JVN iPedia」は、公募(企画競争)により選定された開発業者が作成した ウェブアプリケーションです。そのため、「ModSecurity」の導入が「JVN iPedia」

のウェブアプリケーションに影響を与える可能性はないか、開発業者に確認し ました。

その結果、WAF 導入が「JVN iPedia」のウェブアプリケーションへ影響を与えないことを確 認できました。

WAF ベンダとの調整

「ModSecurity」は、オープンソース WAF でありサポートサービスを前 提にはしません。そのため、 WAF ベンダに調整する必要はありませんでし た。

52 サーバインストール型WAFの特徴は、3.1.2章を参照してください。

57

5.3.2. 導入計画 [ 事例 ]

「導入計画」におけるポイントはこちら 4.2.2章

WAFの関係者との調整が終わった後、WAFの導入計画を立てました。IPAでは図 5-7の順序 でWAFを導入することとしました。

図 5-7 IPAの導入計画

以降本項では、導入計画において実際に検討した内容および検討結果を、図 5-7の項目ごとに 紹介します。

(1) 導入前の事前確認

導入計画を立てるにあたり、「ModSecurity」を導入する「JVN iPedia」のウェブサーバの詳細 な環境について、事前に次の内容を確認しました。

 ハードウェア構成について確認

WAFを導入するウェブサーバのハードウェア構成として、主にハードディスクの残量を確認し ました。これは、「ModSecurity」を導入することで、ハードディスクに出力されるログの全体量 が増加するためです。

「JVN iPedia」のウェブサーバにおけるハードディスクの残量を確認した結果、ハードディス クの容量は十分な余裕がないことがわかりました。この結果、導入計画の段階でログの出力量に ついて、検討し調整することとしました(詳細は(2)初期設定の決定で紹介)。

 必須ソフトウェアのインストール状況について確認

「ModSecurity」をインストールするためには、事前にいくつかのソフトウェアをインストー ルしておく必要があります53。これらのソフトウェアが現在「JVN iPedia」が動作しているウェ ブサーバにインストールされているかどうかを確認しました。

53詳細については「付録A. オープンソースソフトウェアの紹介」を参照してください。

1.

導 入 前 の 事 前 確 認

2.初期設定の検討 3.導入手順の検討 4.導入に関する対応の検討

5.

58

この結果、「ModSecurity」をインストールする際に、いくつかのソフトウェアをインストール する必要があることがわかりました。

(2) 初期設定の検討

 「ModSecurity」で遮断するための検出パターンの決定

今回の導入はテストケースであり、「ModSecurity」に同梱されている「Core Rule Set」54がど の程度有効であるか確認をすることも、目的の一つとしました。

しかしながら、「Core Rule Set」に含まれるすべてのルールを適用した場合、偽陽性の発生な ど誤検知が発生する可能性が高く、運用への影響が懸念されます。そのため、まずは攻撃が成功 してしまった場合、影響が深刻な脆弱性である「SQL インジェクション」に関する検出パターン のみ有効としました。

有効にした「Core Rule Set」における検出パターンは次の通りです。

 modsecurity_crs_41_sql_injection_attacks.conf

 「ModSecurity」及び「Core Rule Set」のバージョンを決定

「ModSecurity」、「Core Rule Set」ともに、導入時点の最新バージョンを導入しました。

導入を検討した際の最新バージョンは次の通りです。

 ModSecurity v2.5.12

 Core Rule Set v2.0.7

 ログの出力の有無および保存期間の決定

「ModSecurity」が出力するログには、「検知ログ55」「監査ログ」「動作ログ」の三種類があり ます。これらのログの出力の要否について検討しました。

今回の WAF導入の目的は、「WAF のできる事、できない事を確認すること」ですので、全て のログを出力し、WAF の動作を確認することとしました。しかし、(1)導入前の事前確認で紹 介したように「JVN iPedia」のハードディスクは、十分な余裕がない状況でした。そのため、出 力された「監査ログ」「動作ログ」をウェブサーバの「アクセスログ」に比べて短い期間だけ保存 しておく設定にしました。

「監査ログ」「動作ログ」の保存期間

 第5世代まで(5週間分)

 その他設定の決定

5.2.2 章で紹介したように、「JVN iPedia」は「MyJVN」へのリバースプロキシとしても機能

しています。「MyJVN」は API の提供など動的コンテンツが多く、WAFの導入により偽陽性が 発生する可能性が高いと考えました。偽陽性の発生は、サービスへの影響が大きいことから、

「MyJVN」への通信は「ModSecurity」による検査の対象外としました。

54 「Core Rule Set」は、OWASPが開発している検出パターンです。OWASP、「Core Rule Set」については、

「1.3.2 OWASPの取り組み」を参照してください。

55 「ModSecurity」では、「監査ログ」とは別に検知結果だけを「Apache」のエラーログに出力可能です。

59

ここでは、「MyJVN」への通信を検査対象外とした設定例を紹介します。以下の設定を「Apache」

の設定ファイルに記述します。この設定ではURIが「/en/apis/myjvn」または「/apis/myjvn」の HTTP通信を、「ModSecurity」による検査の対象外にします

(参考)[MyJVN]への通信を検査対象外とする設定

<LocationMatch "^((¥/en)?(¥/apis))?¥/myjvn">

SecRuleInheritance Off

</LocationMatch>

(3) 導入手順の検討

「ModSecurity」の導入が原因で「JVN iPedia」のサービスが停止してしまうと、利用者が「JVN iPedia」を利用できなくなります。そのため、本番環境に導入する前にテスト環境(仮想環境)

で動作確認や偽陽性の発生等を検証することとしました。

IPAが実際に検討した導入手順は次の通りです(図 5-8)

図 5-8 IPAの導入手順

なお、仮想環境上に構築するテスト環境の構成は、ソフトウェアのバージョンを含め、本番環 境とほぼ同じ構成となっています。また、検証内容についてもこの時点で検討しました。この検 証内容の詳細については、5.3.4章で紹介します。

(4) 導入に関する対応の検討

次に実際に「JVN iPedia」に「ModSecurity」を導入する際の対応を検討しました。

 導入日時及び利用者への通知日時について検討・調整

「ModSecurity」を導入する際は、サービスが一時的に停止する可能性があります。一方で、

「JVN iPedia」のメンテナンスを行う際は、ウェブページ上で事前に告知するとの運用ポリシー を設けています。そのため、事前に「ModSecurity」の導入日時と、ウェブページ上で利用者へ 通知する日時を「JVN iPedia」の管理者に調整しました。

テスト環境での検証 本番環境での検証

導 入

・ 運 用 手 順 書 作 成

1.

導 入 検 証

2.

動 作 検 証

3.

偽 陽 性 の 検 証

導 入 手 順 書 の 修 正

4.

導 入 検 証

5.

動 作 検 証

6.

テ ス ト 運 用

本 番 運 用 運

用 手 順 書 の 修 正

60

 導入作業スケジュール及び連絡体制の明確化・調整

導入作業スケジュールを明確にしました。具体的には、WAFの導入担当者に加えて、緊急時に WAF導入中止等を判断する責任者の予定を確保しました。

また、WAFの導入が原因によるサービスの停止など、緊急時に必要となる連絡体制を明確にし ました。

(5) 導入手順書の作成

「導入計画」におけるこれまでの(1)~(4)の検討結果をもとに、以下の2つの目的で、導入手順 書を作成しました。

 導入作業時のタイプミスなどを極力減らすため

 担当者が変わった場合でも、誰でも導入できるようにするため

なお、今回作成した導入手順書には次のような内容を記載しています (図 5-9)。

図 5-9作成した導入手順書の内容

1.「ModSecurity」導入手順

1.1.動作に必要なソフトウェアのインストール手順 1.2.インストール手順

1.3.検証手順

2.「ModSecurity」設定変更手順

2.1.ログファイルの管理設定変更手順 2.2.ルール(シグネチャ)の変更手順 2.3.「ModSecurity」のアップデート手順

TIPS

A.「ModSecurity」の動作モード切替手順 B.「ModSecurity」の取り外し手順

導入手順書

導入手順書にはこんな 内容が記載されて

いるんですね

ドキュメント内 Web Application Firewall(WAF)読本 改訂第2版第3刷 (ページ 57-71)

関連したドキュメント