情報処理安全確保支援士 2012年 秋期 午後1 問04
情報セキュリティインシデント対応に関する次の記述を読んで設問1〜3に答えよ。
W社は、地方都市を拠点とする人材派遣会社で、従業員数は60名である。W社では、インターネット上のWebサイト(以下、人材情報サイトという)で、派遣社員登録希望者に対して、W社への登録、求人情報の閲覧などができるサービスを、3年前から提供している。
派遣社員登録希望者は、まず、人材情報サイトから個人プロフィールをW社に送信する。次に、面接を受けて合格すれば、W社に正式登録され、非公開求人情報の閲覧、W社の担当者への相談が可能になる。
〔人材情報サイトの概要〕
人材情報サイトは、V社のデータセンタに設置されている。人材情報サイトのネットワーク構成を図1に、人材情報サイトの機器のFQDN及びIPアドレスを表1に、人材情報サイトの概要を図2に示す。



〔インシデントの発生〕
ある月曜日の朝、LBのイベント通知が発生した。運用チームのG主任が、原因を調査することになった。G主任が、運用チームのWebサーバ管理担当者Hさんに確認したところ、Webサーバプログラムで制限している最大同時セッション数が不足してイベント通知が発生したとの報告を受けた。人材情報サイトは、リリース後にアクセス数が増加しているので、最大同時セッション数の設定の見直しを運用チーム内で検討していた。特に月曜日は、求人情報の定期更新があり、16時まではアクセスが集中する。そこで、たとえイベント通知が発生しても、次のサービス稼働チェックで復旧した場合は無視することにした。ところが、16時を過ぎてもイベント通知が発生したので、G主任は改めてイベント通知の原因の調査を開始した。
G主任は、①各機器の当日のログを調査した結果、人材情報サイトが攻撃を受けていた可能性が高いと判断した。LBのサービス稼働チェックログを表2 に、IDSがシグネチャA に該当するとして検知した事象のログを表3 に、表3 の各事象に関するFW1のログを表4 に、同じく表3 の各事象に関するWebサーバ1、2のアクセスログを表5、表6 に、Webサーバ群のリソースグラフを図3に示す。
なお、各ログは、調査で確認した当日の各機器の大量のログから抜粋したものである。






〔暫定対策の実施〕
IDSが通知したアラートと、その際にIDSが内部に保存したパケットデータをIDS販売元のセキュリティベンダX社に提供して問い合わせた結果、数日前に情報が公開されたばかりの脆弱性を狙った攻撃であることが判明した。その脆弱性は、特定のデータを受信するとWebサーバのCPUリソースが一時的に枯渇するというものであった。X社からは、ミドルウェアをバージョンアップすることによって、脆弱性を除去できるという回答があった。しかし、Hさんが帰宅してしまっていたので、すぐにはバージョンアップができなかった。そこで、攻撃元だと特定したIPアドレスaからの通信をFW1で遮断することにした。
また、IDSでは、シグネチャAの検知基準が、標準設定の“HTTP POSTリクエストが300,000バイト以上”だった。したがって、②誤検知が発生する可能性が高く、それを考慮して、アラートレベルはLowにしていた。しかし、アラートレベルがLowではメール通知がされないので、Highに変更すべきかX社に相談したところ、もしアラートレベルをHighにするのであれば、誤検知を減らすために検知基準を変更した方がよいという助言を受けた。そこで、今回の脆弱性を狙った攻撃を検知可能で、かつ、誤検知が減るように検知基準を変更した上で、アラートレベルをHighに変更した。
〔恒久対策の検討と運用強化〕
その後W社では、シグネチャAのアラートは通知されなかった。Hさんはミドルウェアのバージョンアップの影響を調査した後、バージョンアップを実施し、今回の脆弱性への対策を完了した。さらに、セキュリティ運用について情報システム部内で課題を洗い出し、次のような対策案を作成した。
(A) 脆弱性情報の把握と対策の早期実施
IPA及びJPCERT/CCから公開される脆弱性情報を確認し、人材情報サイトに影響を及ぼす脆弱性があれば、速やかに対策を講じる。また、その脆弱性を狙った攻撃をIDSが検知できる場合は、その弱性を検知するシグネチャのアラートレベルを、人材情報サイトへの影響度に見合ったレベルに設定する。
(B)Webサーバのサービス稼働チェックの最適化
Webサーバのサービス稼働チェックでは、対処する必要がない場合でもイベント通知している。対処が必要な場合にだけイベント通知するように、③Webサーバの設定を変更の上、イベント通知すべき条件を変更する。
(C)相関分析を目的としたログ調査環境・手順の整備
今回は同時に大量のアクセスが発生したので、大量のログから攻撃元を特定するまでに時間が掛かった。今後は、④攻撃を特定しやすくするために、FW1とWebサーバ群のログを関連付けられるようにログの出力内容と分析手順を見直す。また、IDSについては、L2SW2のトラフィックの代わりにL2SW1のトラフィックを監視対象にすることによって、ネットワークアドレス変換前のbを確認できるので、攻撃元の特定が容易になる。ただし、LBへのc通信については監視できないので、IDSはLBが保有しているdを利用してc通信についても監視できるものにする。
これらの対策案を基に、W社ではセキュリティ運用を強化することにした。
設問1:
本文中の下線①について、G主任は、表2によって事象の発生時間帯をある程度絞り込んだ後、更に絞り込むため図3に着目した。G主任が、図3に着目した理由は何か。50字以内で述べよ。
模範解答
CPUの使用率を確認することで、普段と異なる事象が発生している時間帯が見極めやすくなるから
解説
解答の論理構成
- 【問題文】では、LBのサービス稼働チェック結果が“down”になった時刻が表2に示されています。ここで「10:05:00」や「15:05:00」など複数回 down が発生しており、まず“ある程度”時間帯を特定できます。
- しかし「特定のデータを受信するとWebサーバのCPUリソースが一時的に枯渇する」という脆弱性が説明されているため、攻撃が成功した瞬間はCPU使用率が異常上昇しているはずです。
- 図3「Webサーバ群のリソースグラフ」には CPU 使用率の折れ線が描かれ、時刻「11」「15」「19」付近で 100% ピークが確認できます。
- したがって、表2で down が発生した前後と図3で CPU が 100% になった時刻を突き合わせれば、“ログ調査すべき分”をさらに絞り込めます。
- 以上より、G主任が図3に着目したのは「CPU使用率の急上昇という客観的指標により、平常時と異なる事象が起こった正確な時間を把握しやすい」ためです。
誤りやすいポイント
- 「イベント通知自体が攻撃の証拠」と短絡的に判断し、CPUグラフを無視する。
- 図3をメモリ使用量やネットワーク帯域のグラフと勘違いし、理由を誤って記述する。
- CPU 使用率と down 時刻の相関を示さず、単に「図3で詳細が分かる」と曖昧に書いてしまう。
FAQ
Q: どうして IDS や FW1 のログだけでは時間を特定できなかったのですか?
A: それらのログは“許可”や“Low”レベルの記録が多く、攻撃トラフィックと通常トラフィックの区別が難しいためです。CPU ピークは攻撃成功時にのみ現れる明確な兆候となります。
A: それらのログは“許可”や“Low”レベルの記録が多く、攻撃トラフィックと通常トラフィックの区別が難しいためです。CPU ピークは攻撃成功時にのみ現れる明確な兆候となります。
Q: Webサーバ2 は 12~13 時頃にも CPU が上がっていますが問題ないのですか?
A: その上昇は 100% ではなく 50% 程度で、一時的な通常業務負荷と判断できます。攻撃との切り分けが可能です。
A: その上昇は 100% ではなく 50% 程度で、一時的な通常業務負荷と判断できます。攻撃との切り分けが可能です。
Q: リソースグラフが取得できない環境ではどう対策すべきですか?
A: sar や VM の監視基盤などで CPU/メモリの時系列データを収集し、ログと相関分析できる仕組みを整備するのが有効です。
A: sar や VM の監視基盤などで CPU/メモリの時系列データを収集し、ログと相関分析できる仕組みを整備するのが有効です。
関連キーワード: CPU使用率、リソース枯渇、ロードバランシング、サービス停止、相関分析
設問2:〔暫定対策の実施〕について(1)〜(3)に答えよ。
(1)本文中のaに入れるIPアドレスを、表4の中から選んで答えよ。
模範解答
a:△△.123.123.123
解説
解答の論理構成
-
攻撃の特徴を把握
本文には「脆弱性は、特定のデータを受信するとWebサーバのCPUリソースが一時的に枯渇する」とあります。
さらに IDS の標準シグネチャは “HTTP POSTリクエストが300、000バイト以上” と記載されています。
⇒ 大量データを伴う POST を送ってくる送信元が疑わしい。 -
被害発生時刻とログを突合
表2 によると Web サーバが down になった時刻は「11:01:00」「15:05:00」「18:51:00」「19:23:00」などです。
表4 の FW1 ログを見ると、ほぼ同じ前後で
・「11:00:12」「15:04:54」「18:50:20」「19:22:43」に送信元 IP「△△.123.123.123」から通信があり、 送信バイト数はいずれも「6,401,200」前後の極端に大きな値です。
⇒ 被害と高バイト通信が一致。 -
他 IP との比較
同じ表4 には「○○.1.1.1」「○○.1.1.2」もありますが
・出現は 1 回ずつ
・送信バイト数は「301,201」「305,121」と 300,000 前後で小さめ
・該当時刻(13:21:06, 16:59:23)は Webサーバの down が発生していません。
⇒ 継続的に過大データを送っているのは「△△.123.123.123」だけ。 -
よって遮断すべき攻撃元 IP
攻撃の発生時刻と攻撃パターン双方に合致する送信元は
表4 の「△△.123.123.123」であるため、a は
【模範解答】に示すとおり
a:△△.123.123.123
となります。
誤りやすいポイント
- IDS や Web サーバのアクセスログでは送信元がすべて「192.168.1.254」に見える点
(LB で NAT されているため)。FW1 ログを見ないと外部 IP を特定できません。 - バイト数が 300,000 以上ならすべて悪意と決めつける誤解。
正常処理でも 300,000 付近の通信があり、継続性と被害時刻の相関が重要です。 - 「ステータスコード500」が出ているからといって送信元=攻撃元と早合点すること。
LB から Web サーバへの内部通信でも 500 が返るため、あくまで FW1 の外部 IP を確認します。
FAQ
Q: なぜ IDS の送信元 IP で特定できないのですか?
A: IDS は L2SW2 のミラーポートで内部トラフィックを監視しており、外部クライアントは LB で NAT された後の「192.168.1.254」に変換されてしまうためです。
A: IDS は L2SW2 のミラーポートで内部トラフィックを監視しており、外部クライアントは LB で NAT された後の「192.168.1.254」に変換されてしまうためです。
Q: 「○○.1.1.1」も 300,000 バイト超ですが攻撃ではないのですか?
A: 1 回しか出現せず、その直後に down や CPU 100%の事象が起きていません。継続性と影響度の両方を踏まえると攻撃とは判断できません。
A: 1 回しか出現せず、その直後に down や CPU 100%の事象が起きていません。継続性と影響度の両方を踏まえると攻撃とは判断できません。
Q: 送信バイト数が “6,401,xxx” と揃っているのはなぜ目印になるのですか?
A: 攻撃ツールが固定長の悪性ペイロードを送信している可能性が高く、同一サイズで複数回観測される点が通常トラフィックと異なる特徴になります。
A: 攻撃ツールが固定長の悪性ペイロードを送信している可能性が高く、同一サイズで複数回観測される点が通常トラフィックと異なる特徴になります。
関連キーワード: ファイアウォール、ロードバランサ、IDS, NAT, DoS
設問2:〔暫定対策の実施〕について(1)〜(3)に答えよ。
(2)本文中の下線②について、表3のIDSの検知ログには幾つかの誤検知が含まれている。それらが誤検知であるということは、表5、表6のどのアクセスログから判断できるか。表5、表6から全て選び、例えば、表5の項番(1)の場合は、“表5(1)”のように、表番号と項番の組合せで答えよ。
模範解答
表5(3)、表6(1)
解説
解答の論理構成
-
検知ルールの確認
本文には「IDSでは、シグネチャAの検知基準が、標準設定の“HTTP POSTリクエストが300、000バイト以上”だった。」と記載されています。
つまり 300,000 バイト超の POST があれば、内容の良否にかかわらず IDS はログを出力します。 -
IDS が検知した 6 件の時刻を照合
表3 の [ 2 ] 13:21:06 と [ 4 ] 16:59:23 が該当時刻です。
これらと同じ時刻のアクセスを表5・表6で探します。 -
アクセスログの内容で正常/異常を判定
・表6(1) 13:21:06 は ステータスコード 200 かつ 受信バイト数 301,143
・表5(3) 16:59:23 は ステータスコード 200 かつ 受信バイト数 305,071
どちらも
① IDS のしきい値 300,000 バイトをわずかに超えている
② HTTP 応答が正常を示す 200
以上より、サイズ条件だけで “攻撃” と誤判断された正常通信であると分かります。 -
攻撃と思われるログとの比較
表5(1)(2)(4)、表6(2) は 受信バイト数 6,401,*** かつ ステータスコード 500。
CPU 枯渇を引き起こす異常終了(500)なので誤検知ではありません。 -
結論
誤検知を裏付けるログは
「表5(3)、表6(1)」 となります。
誤りやすいポイント
- 受信バイト数だけを見てしまい、200 と 500 の応答コードを見落とす。
- IDS 検知時刻と Web サーバ時刻の突合せを怠り、行番号を取り違える。
- 「6,401,*** バイト」の大量通信を“サイズ大だから全部誤検知”と早合点する。
- シグネチャしきい値を「300KB未満」と読み誤り、選択を逆にする。
FAQ
Q: 200 であっても不正な可能性はありませんか?
A: 今回の脆弱性は「特定データ受信で CPU 枯渇 → 500 応答」型なので、200 は正常完了と判断できます。
A: 今回の脆弱性は「特定データ受信で CPU 枯渇 → 500 応答」型なので、200 は正常完了と判断できます。
Q: 300,000 バイトを超えた正常通信はなぜ発生するのですか?
A: 派遣登録時に履歴書画像などをアップロードすると、数百 KB の POST が日常的に行われます。
A: 派遣登録時に履歴書画像などをアップロードすると、数百 KB の POST が日常的に行われます。
Q: IDS の誤検知を減らすにはどう設定すべきですか?
A: 検知基準を「600,000 バイト以上」など業務実態より十分に大きくし、アラートレベルを High に引き上げるのが一般的です。
A: 検知基準を「600,000 バイト以上」など業務実態より十分に大きくし、アラートレベルを High に引き上げるのが一般的です。
関連キーワード: IDS, HTTP POST, ステータスコード、誤検知、シグネチャ
設問2:〔暫定対策の実施〕について(1)〜(3)に答えよ。
(3)上記(2)で誤検知であると判断した理由を、35字以内で述べよ。
模範解答
該当通信は、Webサーバのステータスコードが200であるから
解説
解答の論理構成
- IDS のシグネチャAは “HTTP POSTリクエストが 300,000 バイト以上” を条件にしており、これに該当するとアラートが出ます(設問文②)。
- 実際の攻撃とみなせる通信は、
・表5 [1] “6,401,124” バイト
・表5 [2] “6,401,011” バイト
・表5 [4] “6,401,162” バイト
・表6 (2) “6,401,181” バイト
など “6,401,xxx” バイト級であり、Webサーバのステータスコードが “500” です。 - ところが IDS が検知した中には、表3 [4] “16:59:23” に対応する表5 [3] のアクセスがあり、これは受信バイト数 “305,071” と閾値ぎりぎりである一方、ステータスコードは “200” と正常応答です。
- ステータスコード “200” は処理成功、“500” は内部エラーであるため、同じシグネチャAで検知されても “200” 応答の通信は攻撃とは断定できず、誤検知と判断できます。
- よって、解答は「該当通信は、Webサーバのステータスコードが200であるから」となります。
誤りやすいポイント
- 受信バイト数 “305,071” が閾値を超えているので攻撃と早合点し、応答コードを確認し忘れる。
- 表3(IDS)と表5・表6(Webサーバ)との時刻対応を取らずにログを個別に見てしまう。
- “500” を単なるエラー、“200” を成功と理解していても、シグネチャ条件だけを優先してしまう。
- FW1 の送信バイト数 “305,121” と Web サーバの “305,071” を別通信と誤認する。
FAQ
Q: なぜ “200” 応答なら安全と言い切れるのですか?
A: 今回の脆弱性は「特定のデータを受信するとCPUリソースが一時的に枯渇」して “500” を返すと判明しており、“200” 応答は正常処理された証拠だからです。
A: 今回の脆弱性は「特定のデータを受信するとCPUリソースが一時的に枯渇」して “500” を返すと判明しており、“200” 応答は正常処理された証拠だからです。
Q: 300,000 バイト超の POST を全部ブロックすればよいのでは?
A: 正常系でも “305,071” バイトのような大きなアップロードがあり得るため、一律ブロックは業務停止リスクが高く、精度向上のため検知基準を見直す必要があります。
A: 正常系でも “305,071” バイトのような大きなアップロードがあり得るため、一律ブロックは業務停止リスクが高く、精度向上のため検知基準を見直す必要があります。
Q: IDS のアラートレベルを High にしても誤検知が増えませんか?
A: X社の助言通りに検知基準を調整した上で High に引き上げれば、必要な通知だけを確実にメール連携でき、運用負荷の増加を抑えられます。
A: X社の助言通りに検知基準を調整した上で High に引き上げれば、必要な通知だけを確実にメール連携でき、運用負荷の増加を抑えられます。
関連キーワード: HTTPステータスコード、誤検知、IDSシグネチャ、ログ相関、POSTリクエスト
設問3:〔恒久対策の検討と運用強化〕について(1)〜(3)に答えよ。
(1)本文中のb〜dに入れる適切な字句を、bは10字以内、c、dはそれぞれ5字以内で答えよ。
模範解答
b:送信元IPアドレス
c:・https
・SSL
d:秘密鍵
解説
解答の論理構成
-
b の導出
- 本文では「ネットワークアドレス変換前のbを確認できるので、攻撃元の特定が容易になる」とあります。
- 攻撃元を特定するには NAT 変換前に持っていた “誰から来たか” の情報、すなわち「送信元IPアドレス」が必要です。
- したがって b には「送信元IPアドレス」が入ると判断できます。
-
c の導出
- 続けて「ただし、LBへのc通言については監視できない」とあります。
- LB は図2の説明で「SSLアクセラレータ機能」を持つ装置です。LB より外側に IDS を移すと、LB が復号する前の暗号化通信は IDS では解読できません。
- 暗号化通信で Web サイトが一般に使うプロトコルは “HTTPS(SSL/TLS)” です。
- よって c には暗号化された Web 通信を指す「https」(またはプロトコル名そのものを指す「SSL」)が入ります。
-
d の導出
- 「IDSはLBが保有しているdを利用してc通信についても監視できるものにする」と記載されています。
- HTTPS を復号して IDS が内容を解析するには、サーバ側の “秘密鍵” が必要です。LB が SSL 終端である以上、LB はサイト証明書と対応する秘密鍵を保持しています。
- したがって d には「秘密鍵」を入れるのが妥当です。
誤りやすいポイント
- NAT 後に見えるのは「192.168.1.254」など LB の IP であり、攻撃元の IP と混同しやすい。
- 「宛先IPアドレス」と誤記するケース。攻撃元の特定に必要なのは宛先ではなく送信元。
- HTTPS か SSL かで迷いがちだが、どちらも暗号化 Web 通信を指し文意が満たせば正解。
- 復号に必要な鍵を「公開鍵」「暗号鍵」と書いてしまう。実際に機密情報を保持するのは「秘密鍵」。
FAQ
Q: IDS を LB の外側で運用する利点は何ですか?
A: NAT 変換前の「送信元IPアドレス」を取得できるので、攻撃端末の特定が簡単になります。
A: NAT 変換前の「送信元IPアドレス」を取得できるので、攻撃端末の特定が簡単になります。
Q: HTTPS 通信を IDS が復号する場合、なぜ秘密鍵が要るのですか?
A: HTTPS は公開鍵暗号方式でセッション鍵を交換します。復号にはサーバ側の秘密鍵を使ってセッション鍵を取り出す必要があるためです。
A: HTTPS は公開鍵暗号方式でセッション鍵を交換します。復号にはサーバ側の秘密鍵を使ってセッション鍵を取り出す必要があるためです。
Q: 「SSL」と「TLS」のどちらを書けばよいでしょう?
A: 本文では「SSLアクセラレータ」と記載されており旧来の呼称を用いています。問題趣旨は暗号化 Web 通信の識別なので「https」または「SSL」で差し支えありません。
A: 本文では「SSLアクセラレータ」と記載されており旧来の呼称を用いています。問題趣旨は暗号化 Web 通信の識別なので「https」または「SSL」で差し支えありません。
関連キーワード: ネットワークアドレス変換、HTTPS, IDS, 暗号化通信、秘密鍵
設問3:〔恒久対策の検討と運用強化〕について(1)〜(3)に答えよ。
(2)本文中の下線③について、Webサーバの設定変更を実施することによって改善される、不要なイベント通知の原因になっていたWebサーバ内の事象を、35字以内で述べよ。
模範解答
Webサーバプログラムで制限している最大同時セッション数の不足
解説
解答の論理構成
- 事象の整理
【問題文】には、LB のイベント通知が発生した原因として
「Web サーバプログラムで制限している最大同時セッション数が不足してイベント通知が発生した」
と明記されています。 - サービス稼働チェックとの関係
監視対象 IP アドレスが down → up を 1 分周期で繰り返す(表2)ことから、Web サーバ自体が停止したわけではなく、一時的に応答不能になったと読み取れます。 - 不要なイベント通知が生じる理由
最大同時セッション数の上限に達すると、新規接続を受け付けず稼働チェックに失敗し、LB は “down” と判定します。その直後、既存セッションが捌ければ “up” に戻るため、実質的な障害ではないのにイベント通知が発生します。 - Web サーバ設定変更による改善
③では「Web サーバの設定を変更の上、イベント通知すべき条件を変更」とあるため、上限値(最大同時セッション数)を増やす、または動的に調整する設定変更が想定されます。 - 以上より、不要なイベント通知の原因をまとめると
「Webサーバプログラムで制限している最大同時セッション数の不足」となります。
誤りやすいポイント
- 「CPUリソース枯渇」や「脆弱性攻撃」を原因と誤解する
→ これらは別タイミングのインシデントであり、③の文脈は平常時のイベント通知に焦点があります。 - 「LB 側の閾値設定」を原因と書く
→ 表2・本文は明確に Web サーバ側の同時セッション上限を指摘しています。 - 「サービス稼働チェックの間隔不足」と記述する
→ 監視間隔は問題ではなく、応答不能を引き起こすリソース制限が根源です。
FAQ
Q: CPU100%ピークが複数回あるので、CPU不足が直接の原因では?
A: CPUピークは攻撃時の現象で、本問③は平常運用時の“不要なイベント通知”の要因を問うています。本文が示す直接原因は同時セッション上限です。
A: CPUピークは攻撃時の現象で、本問③は平常運用時の“不要なイベント通知”の要因を問うています。本文が示す直接原因は同時セッション上限です。
Q: 「最大同時接続数」ではなく「セッション数」と書くべき?
A: 本文が「最大同時セッション数」と表現しているため、設問でも同一表記を用いるのが適切です。
A: 本文が「最大同時セッション数」と表現しているため、設問でも同一表記を用いるのが適切です。
Q: LB の“down”判定時間を延ばす方法でも改善しますか?
A: 可能ですが、設問は「Webサーバの設定変更」を求めているので、Web サーバ側の同時セッション上限を調整する記述が正答になります。
A: 可能ですが、設問は「Webサーバの設定変更」を求めているので、Web サーバ側の同時セッション上限を調整する記述が正答になります。
関連キーワード: ロードバランシング、同時セッション数制限、サービス稼働チェック、イベント通知、過負荷
設問3:〔恒久対策の検討と運用強化〕について(1)〜(3)に答えよ。
(3)本文中の下線④について、FW1とWebサーバ群のログを関連付けられるようにするために設定変更が必要な機器はどれか。解答群の中から二つ選び、記号で答えよ。また、それぞれの設定内容を40字以内で述べよ。
解答群
ア:ルータ
イ:FW1
ウ:LB
エ:IDS
オ:Webサーバ群
模範解答
機器① :ウ
設定内容①:X-Forwarded-Forヘッダフィールドの追加
機器② :オ
設定内容②:X-Forwarded-Forヘッダフィールドのアクセスログへの出力
解説
解答の論理構成
- 【問題文】には、下線部④として
「攻撃を特定しやすくするために、FW1とWebサーバ群のログを関連付けられるようにログの出力内容と分析手順を見直す。」
とある。 - FW1 はインターネット側の通信を受け、送信元 IP をそのままログに記録する。一方、Web サーバ群は LB 経由でアクセスを受けるため、Web サーバのアクセスログの送信元 IP は表5・表6 の「192.168.1.254」(LB 側アドレス)になっている。
- よって、FW1 のログに記録されたグローバル IP と、Web サーバ側に記録された「192.168.1.254」とを突き合わせても攻撃元を特定できない。相関には、ロードバランサが受け取った“元々のクライアント IP”を Web サーバに伝達し、Web サーバがそれをログに残す仕組みが必要である。
- その一般的な方法が HTTP ヘッダ「X-Forwarded-For」の利用である。
a) LB が受信時に「X-Forwarded-For: <クライアントIP>」を付加する。
b) Web サーバ側でアクセスログにそのヘッダ値を出力する。 - 以上より、設定変更が必要な機器は
・「LB」……ヘッダを追加する設定
・「Webサーバ群」……ヘッダをログに記録する設定
となり、解答群では「ウ」と「オ」となる。
誤りやすいポイント
- 「FW1 で何か設定すればよい」と誤認しやすいですが、FW1 は既に正しい送信元 IP を記録しており設定変更の対象外です。
- IDS へ流す SPAN 設定と混同して「エ」を選ぶケースが見受けられますが、設問は“FW1 と Web サーバ群のログの関連付け”に限定しています。
- 「X-Forwarded-For」を Web サーバ側だけで有効化しても、LB がヘッダを付けなければ値は空欄のままになり、相関できません。
FAQ
Q: なぜ「X-Forwarded-For」を使うのですか?
A: ロードバランサで NAT やリバースプロキシが行われると、Web サーバは元の送信元 IP を取得できません。「X-Forwarded-For」ヘッダでオリジナルの IP を渡すことで、Web サーバのログに攻撃元を残せます。
A: ロードバランサで NAT やリバースプロキシが行われると、Web サーバは元の送信元 IP を取得できません。「X-Forwarded-For」ヘッダでオリジナルの IP を渡すことで、Web サーバのログに攻撃元を残せます。
Q: HTTPS(443) でも「X-Forwarded-For」は有効ですか?
A: 本問題の LB は SSL アクセラレータ機能を持ち復号を行います。復号後は HTTP になるためヘッダ付与が可能で、Web サーバも平文 HTTP として受け取れます。
A: 本問題の LB は SSL アクセラレータ機能を持ち復号を行います。復号後は HTTP になるためヘッダ付与が可能で、Web サーバも平文 HTTP として受け取れます。
Q: 他に相関を取りやすくする方法はありますか?
A: Web サーバと FW の双方で共通の時刻同期、セッション ID のログ出力、WAF での詳細記録などを組み合わせると、より精度が上がります。
A: Web サーバと FW の双方で共通の時刻同期、セッション ID のログ出力、WAF での詳細記録などを組み合わせると、より精度が上がります。
関連キーワード: X-Forwarded-For, ロードバランサ、NAT, アクセスログ、リバースプロキシ


