1.WAF
(1)WAF(Web Application Firewall)とは
WAFとは、Web Application Firewallという言葉通り、Webアプリ用のファイアウォールである。通常のファイアウォールでは、レイヤ4までのヘッダのチェックがほとんどで、IPアドレスやポート番号でのアクセス制御を行っていた。よって、悪意のある攻撃であっても、80番のWebアクセスであればすべて通過させてしまう。
これにたいし、WAFはレイヤ4以上、つまりヘッダだけでなくデータの中身もチェックする。これにより、SQLインジェクションやクロスサイトスクリプティングなどをも防御することができる。まさしく、Webアプリ用のファイアウォールである。
でも、IPSがあればいいのでは?
最近はWebサーバに特化した高度な攻撃が増えています。SQLインジェクションやクロスサイトスクリプティングなどがその代表ですが、IPSでは止められないものがたくさんあるのです。
また、WAFに関して過去問(H23AP秋午前問40)では、「クライアントとWebサーバの間において、クライアントがWebサーバに送信するデータを検査して、SQLインジェクションなどの攻撃を遮断するためのもの」と述べられています。
(2)WAFのデメリット
デメリットは、データの中身もチェックするので、スループットが低下すること、SSL通信の検査は工夫がいること、ネットワークのインライン上に置くのでWAFがボトルネックになる可能性があること、故障ポイントが増えることなどがあります。
(3)WAFの機能
❶WAFの機能
WAFの製品としては、ImpervaやF5、Citrixなどがある。負荷分散装置のオプション機能として実現しているものもある。
同じWAFといっても、製品によってその充実度は違うであろう。
構成としては、インラインで入れられる製品がいいかもしれない。フェールオープン機能があれば、WAFの障害時でも、システム全体としての停止がなくなる。まあ、冗長化するのが理想ではあるが。
また、HTTPSのSSL通信であれば、暗号化されているため、セキュリティチェックができないという疑問もわくだろう。それはその通りで、WAFでSSLを終端する場合が多いだろう。これは情報処理安全確保支援士試験の過去問でも問われた。(H22秋SC午後1)
H22SC秋午後Ⅰ問3には、「Q氏が提案したWAFの主な機能」として次の表がある。
機能の名称 | 機能の概要 |
---|---|
シグネチャによる通信検査機能 | HTTPによる通信をシグネチャと比較し、一致した場合には攻撃として検知する。シグネチャには、脆弱性を悪用する攻撃に含まれる可能性の高い文字列が定義されている。シグネチャの更新情報は、WAFの開発元から定期的に配信される。シグネチャごとに有効化、無効化の選択ができ、有効化したシグネチャに対しては、検知時に通信を遮断するか、遮断は行わず通知だけを行うかを設定できる。独自のシグネチャも作成が可能である。 |
クッキーの暗号化機能 | Webアプリケーションがブラウザに対してクッキーを発行した際、クッキーの値を暗号化して引き渡す。ブラウザからクッキーを受信した際、値を復号して、Webアプリケーションに引き渡す。 |
SSLアクセラレーション機能 | SSL通信の暗号化と復号を行う。 |
負荷分散機能 | 販売システムで利用中のLBと同等性能の負荷分散機能を有する。 |
❷WAFの動作
一般的には以下の3つです。(H27秋SC午後Ⅰ問1より)
・遮断:通信を遮断し,ログに記録する。
・検知:通信を通過させ,ログに記録する。
・許可:通信を通過させ,ログに記録しない。
企業の公開サーバは、今や顧客との重要な接点です。誤検知によって、ビジネスチャンスの損失が無いように、WAFの動作は「遮断」の前に、一定期間は「検知」にして誤検知が無いことを確認するのが望まれます。(H27秋SC午後Ⅰ問1より)
(4)WAFのブラックリストとホワイトリスト
情報処理安全確保支援士試験の過去問を解いてみましょう。この問題を解くことで、WAFの検知の仕組みを再確認することができることでしょう。
過去問(H22秋SC午前2) |
---|
問16 WAF(Web Application Firewall)のブラックリスト又はホワイトリストの説明のうち、適切なものはどれか。 ア ブラックリストは、脆弱性のあるサイトのIPアドレスを登録したものであり、該当する通信を遮断する。 イ ブラックリストは、問題のある通信データパターンを定義したものであり、該当する通信を遮断するか又は無害化する。 ウ ホワイトリストは、脆弱性のないサイトのFQDNを登録したものであり、該当する通信を遮断する。 エ ホワイトリストは、問題のある送信データをどのように無害化するかを定義したものであり、該当するデータを無害化する。 |
↓
↓
↓
↓
↓
この問題も、正解の選択肢だけでなく、なぜ他がダメなのかを丁寧に確認したい。
この問題は、WAFのブラックリスト、ホワイトリストに特化した内容です。URLフィルタやファイアウォールのIPアドレスベースでのブラックリストなど、他の機能のものとは区別して考える必要があります。
では、順に見て行きましょう。
アは不正解です。WAFの場合、FWやIPSでは防げない攻撃を検知します。IPアドレスでの単純なブラックリストではありません。
イは正解です。WAFの場合、データの中身をチェックします。
ウは不正解です。イが正解とありますように、FQDNレベルで制御するのではなく、データの中身を見ます。FQDNも不正なサイトの判断基準の一つかもしれませんが、それが全てではありません。
エは不正解です。WAFのホワイトリストでは、無害化するかの定義をしていません。単純に、ホワイトリストで記載された通信は、許可されます。
【正解】
イ
(5)過去問(H22春FE午前)を解いてみましょう
過去問(H22春FE午前) |
---|
問44 WAF(Web Application Firewall)を利用する目的はどれか。 ア Webサーバ及びアプリケーションに起因する脆弱性への攻撃を遮断する。 イ Webサーバ内でワームの侵入を検知し、ワームの自動駆除を行う。 ウ Webサーバのコンテンツ開発の結合テスト時にアプリケーションの脆弱性や不整合を検知する。 エ Webサーバのセキュリティホールを発見し、OSのセキュリティパッチを適用する。 |
↓
↓
↓
↓
↓
FEの問題はわりと素直な問題なので、解きやすいですね。
正解はアです。
(6)誤検知と見逃し
IDSやIPS、およびWAFは,誤検知および見逃しがあります。
❶フォールスポジティブ
正常な通信を誤って異常と検知してしまうフォールスポジティブ(誤検知)が発生します。
❷フォールスネガティブ
逆に,異常な通信を検知できずに見逃してしまうフォールスネガティブ(見逃し)もあります。
たとえば,パスワードクラックを検知するために,1分間のパスワード入力が10回という閾値(しきいち)を設定したとします。正常な利用者が,本当にパスワードを間違えて1分間に10回以上入力すると,異常として誤検知をしてしまいます。逆に,攻撃者が1分間に10回以内のログイン攻撃をすると,この攻撃を検知できません。つまり,見逃しが発生します。
ポジティブとネガティブの言葉ですが,誤検知は侵入されていなかったので,前向きに考えてポジティブといえます。一方,見逃しは,侵入されたということなので,否定的にネガティブと言わざるを得ません。
よって、WAFを適用する際には、誤検知や見逃しがあることを考慮すべきである。
では、過去問(H27秋SC午後1問1)を2問解いてみよう。
過去問(H27秋SC午後1問1) |
---|
Q1.WAFを適用する前に、動作検証を実施する。具体的に何を検証するか。 |
↓
↓
↓
↓
↓
A.①脆弱性を突く攻撃を防げること
②システム利用のための正常な通信が許可されること
過去問(H27秋SC午後1問1) |
---|
Q2.WAFのルールの[動作]に“検知”を指定し,一定期間運用することにはどのような利点があるか。 |
↓
↓
↓
↓
↓
A.販売機会損失など,ビジネスへの影響を与えずに誤検知の検証ができる。
2.クラウドWAFの導入
WAFには、WAF製品を購入して企業に設置するオンプレミス型と、製品を持たないクラウド型があります。
製品を持たなくていいという利点から、クラウド型を検討する会社も増えているようです。
では、クラウドWAFの仕組みを解説します。
(1)一般的なWEBサーバへのアクセス
このように、①DNSにサーバのIPアドレスを問い合わせをし、③A社のWebサーバにアクセスします。
(2)クラウドWAFの場合
クラウドWAFを導入する場合は、DNSの設定をクラウド事業者に向けます。
①DNSの問合せ
②本来のサーバではなく、クラウド事業者のWAF(203.0.113.1)を回答します。
③PCはWebサーバだと信じていますが、実はWAFに接続しています。
④クラウド事業者のWAFにてセキュリティチェックをします。
⑤本当のA社のサーバに転送します。
以下の情報処理安全確保支援士試験の過去問(H28秋SC午後Ⅱ問2)では、両者の違いを含み、WAF全般に関する良問ですので、紹介します。上記の流れに関しても、設問があります。
過去問(H28秋SC午後Ⅱ問2) |
---|
〔WAFによる脆弱性対策〕 Y脆弱性への対応指示に対して,β製品本部のVチーム員からは,β製品本部機器は,パッチの適用作業に1か月が必要なので,代替策を検討する必要があるとの報告を受けた。Vチームでは,シグネチャによる[ b ]という手法で攻撃を検知できるWebアプリケーションファイアウォール(WAF)が代替策になるかどうか,セキュリテイベンダのG氏に相談することにした。 G氏によれば, WAFによる対応は,サーバヘのパッチ適用に比べて, ⑤対策を実施するまでの期間が短いといわれており, Y脆弱性への対応も既に可能になっているとのことであった。そこで, Q主任は,WAFの導入について,導入形態が異なる表1のような2案を作成した。 β製品本部のY脆弱性がある公開Webサーバには,新製品の発表時などに,購入希望者からのアクセスが通常時の100倍程度まで一時的に増大するものがあり,かつ,次の新製品発表が3週間後に予定されている。このため,Q主任は,案2を選び,⑥クラウト型のWAFを1週間後に導入し,β製品本部でのY脆弱性に対する代替策とする案をP部長に提案した。 設問3 〔WAFによる脆弱性対策〕について. (1)~(4)に答えよ。 (1)本文中の[ b ]に入れるWAFの攻撃検知手法を, 15字以内で答えよ。 (2)本文中の下線⑤について,期間が短い理由を検証作業の観点から40字以内で述べよ。 (3)表1中の[ c ],[ d ]に入れる適切な字句を解答群の中から選び,記号で答えよ。 解答群 ア bash イ CNAME ウ DNS エ HINFO オ MX カ 公開Web キ 社内Web ク メール (4)本文中の下線⑥について,Q主任がオンプレミス型ではなくグラウト型を選ぶ根拠となったグラウト型の利点を, 50字以内で述べよ。 |
↓
↓
↓
↓
↓
設問を順に見ていきましょう。
(1)正解は「パターンマッチング」です。ウイルス対策ソフトのシグネチャによるパターンマッチングと同じです。
(2)正解は、「WAFの場合、検証作業の試験項目がパッチ適用のときよりも少なくて済むから」
(3)上で解説した図を参照してください。
正解:c ウ d イ
(4)正解は「通信量の上限の切替えでWAFの能力変更が随時可能、かつ作業工数やコストの観点から無駄が少ない。」です。問題文にある「購入希望者からのアクセスが通常時の100倍程度まで一時的に増大するものがあり」など、問題文の記述を踏まえて回答を組み立てましょう。
■別の情報処理安全確保支援士試験の設問(H30秋SC午後Ⅰ問3)
この問題では、WAFにはソフトウェア型,ハードウェア型,クラウド型の3種類があるとして、それぞれに関して特徴などを解説しています。
過去問(H30秋SC午後Ⅰ問3) |
---|
Kリーダ: 分かった。次に, WAFの選定方法について,確認しておこう。 S君 : WAFには,大きく分けると,ソフトウェア型,ハードウェア型,クラウド型の3種類があります。いずれもモニタリングモードを実現する機能と攻撃とみなされる通信を遮断する機能があります。さらに,④暗号通信に関する機能が用意されているものがあります。 Kリーダ: なるほど。導入はどのようにするのかな。 S君 : ソフトウェア型WAFの場合は,Eサーバに導入します。ハードウェア型WAFの場合は,図1中のDMZ内のL2SWとEサーバとの間に設置します。クラウド型WAFの場合は,サービス事業者がインターネット上で運用しているものを利用します。クラウド型WAFを利用する場合は,幾つか設定変更が必要です。例えば,図1中の[ c ]の設定を変更して,Eサーバへのアクセス経路をクラウド型WAF経由に変える必要があります。クラウド型WAFのIPアドレスが変更された場合でも[ b ]の設定に影響が出ないように,[ d ]レコードを定義して,そのレコードにEサーバの別名としてクラウド型WAFサービスの事業者が指定するFQDNを記述することが推奨されています。 Kリーダ: なるほど。当社にはどの種類が適しているか調査してくれ。 |
↓
↓
↓
↓
↓
解答例
(2)インターネットからのHTTPS通信を復号する機能
(3)c 外部DNSサーバ d CNAME
3.WAFでは、SSL通信をどう対処するか
過去問(H22秋SC午後1問3) |
---|
WAFの導入の際には, Webサーバヘの負荷分散にWAFの負荷分散機能を利用することで,利用中のLBをWAFで置き換える方針とした。また,WAFのSSLアクセラレーション機能を利用し、⑥ブラウザからのSSL通信は、WAFで終端されることにした。 設問4 本文中の下線⑥について,この措置を行う理由を55字以内で述べよ。 |
↓
↓
↓
↓
↓
WAFの設置場所に関する問題である。
後半に書いた図を照らし合わせながら見ていただきたい。
通常は、PC→WAF→Webサーバという並びで構成される。
WAFが無い場合、PCとWebサーバ間でSSL通信をする。ところが、SSLによる暗号化はPCとWAF間にとどめることが多い。これはなぜかという問題である。
うーん。
難しいですね。
ということは、PCとWebサーバ間でSSL通信をすると何か問題があるということでしょうか。
知っていれば簡単な問題だ。httpsで暗号化されていると、通信をチェックできないからだ。
試験センターの解答例は、「WebサーバまでSSLで暗号化したままだと、WAFがトラフィックの内容を検査してシグネチャと照合できないため」である。
以下の情報処理安全確保支援士試験の過去問(H25SC春午前2問4)も見てみよう。
過去問(H25SC春午前2問4) |
---|
問4 図のような構成と通信サービスのシステムにおいて, Webアプリケーションの脆弱性対策としてネットワークのパケットをキャプチャしてWAFによる検査を行うとき,WAFの設置場所として最も適切な箇所はどこか。ここで,WAFには通信を暗号化したり,復号したりする機能はないものとする。 ア a イ b ウ c エ d |
↓
↓
↓
↓
↓
正解はcである。HTTPSの通信は暗号化されているので、WAFが効力を発揮できない。
最近のWAFのほとんどは、SSLを終端して復号化する機能を持っている。しかし、処理性能は高くない。やはり、専用のSSLアクセラレータ(多くはLBとの一体型)を入れるのがいいと思う。