ネットワークスペシャリスト 2019年 午後1 問02
Webシステムの構成変更に関する次の記述を読んで、設問1〜3に答えよ。
A社は、中堅の菓子メーカーであり、自社で製造する商品を、店舗とオンラインショップで販売している。オンラインショップの利用者は、Webブラウザを使ってWebシステムにアクセスする。A社のオンラインショップを構成する、現行のWebシステムを図1に示す。

A社では、Webシステムのアクセス数の増加に対応するために、Webサーバの増設と負荷分散装置(以下、LBという)の導入を決めた。また、昨今、Webアプリケーションプログラム(以下、WebAPという)の脆弱性を悪用したサイバー攻撃が報告されていることから、WAF(Web Application Firewall)サービスの導入を検討することになった。そのための事前調査から設計までを情報システム部のUさんが担当することになった。
〔WAFサービス導入の検討〕
Uさんは、SaaS事業者のT社が提供するWAFサービスを調査した。T社によるWAFサービスの説明は、次のとおりである。
・WAFサービスは、利用者のWebブラウザとWebシステム間のHTTPS通信を中継する。利用者のWebブラウザは、WAFサービスにアクセスするためのIPアドレス(以下、IP-w1という)宛にHTTPリクエストを送信する。
・WAFサービスは、HTTPS通信を復号してHTTPリクエストを検査する。そのために、A社は、現行と同じコモンネームのサーバ証明書と秘密鍵を、WAFサービスに提供する必要がある。
・WAFサービスは、WebAPへのサイバー攻撃が疑われる通信を検知し、Webシステムへのアクセスを制御する。
・WAFサービスは、アクセスを許可したHTTPリクエストの送信元IPアドレスを、HTTPヘッダのX-Forwarded-Forヘッダフィールド(以下、XFFヘッダという)に追加する。XFFヘッダへの追加後に、HTTPリクエストの送信元IPアドレスを、HTTPレスポンスがWAFサービスに送られるようにするためのIPアドレス(以下、IP-w2という)に変更する。
・WAFサービスは、HTTPリクエストを再度HTTPSで暗号化して、WebシステムにアクセスするためのIPアドレスである199.α.β.2宛てに転送する。
・WAFサービスは、HTTPレスポンスを検査する。HTTPレスポンスに対する処理の説明は省略する。
Uさんは、Webブラウザから送信されるHTTPリクエストを、WAFサービス宛てに変える方法について、T社に確認した。T社からの回答は、次のとおりである。
・A社DNSサーバに、RDATAにIP-w1を設定したAレコードを登録する方式と、RDATAにT社WAFサービスのFQDNを設定したCNAMEレコードを登録する方式がある。
・T社は、IP-w1を変更する場合があるので、①CNAMEレコードを登録する方式を推奨している。
T社からの説明を踏まえて、Uさんが検討したA社DNSサーバのゾーンファイルを、図2に示す。

現行のWebAPでは、Webシステムへのアクセス時の送信元IPアドレスをアクセスログに記録している。Uさんは、送信元IPアドレスの代りにXFFヘッダの情報を記録するように、WebAPの設定を変更することにした。
Uさんは、FWに設定しているWebシステムへのHTTPS通信に関するアクセス制御について、IP-w2を送信元とする通信だけを許可するように、設定を変更することにした。
〔LBに関する検討〕
A社が導入するLBは、HTTPリクエストの振分け機能、死活監視機能、セッション維持機能、TLSアクセラレーション機能、HTTPヘッダの編集(追加、変更、削除)機能をもっている。
HTTPリクエストの振分け機能について、Uさんは、HTTPリクエストをWebサーバ ア に振り分けるラウンドロビン方式を採用することにした。
死活監視機能について、Uさんは、WebAPの稼働状況を監視するために、レイヤ7方式を利用することにした。死活監視に用いるメッセージの設定を表1に示す。
セッション維持機能には、HTTPリクエストの送信元IPアドレスに基づいて行う方法と、LBによって生成されるセッションIDに基づいて行う方法がある。セッションIDに基づいて行う方式では、WebサーバとWebブラウザ間で状態を管理するために用いられるCookieを利用する。LBは、HTTPレスポンスのエヘッダフィールドにセッションIDを追加する。HTTPレスポンスを受け取った利用者のWebブラウザは、エヘッダフィールドにあるセッションIDを、次に送信するHTTPリクエストのオヘッダフィールドに追加する。HTTPリクエストを受け取ったLBは、オヘッダフィールドのセッションIDに基づいて、セッション維持を行う。Uさんは、②WAFサービスの利用を考慮し、セッションIDに基づいて行う方式を採用した。
TLSアクセラレーション機能は、TLSの暗号化・復号処理を専用ハードウェアで高速に処理する機能である。Uさんは、TLSの暗号化・復号処理の性能向上の目的と、③LBが行うある処理のために、TLSアクセラレーション機能を利用することにした。Uさんは、LBとWebサーバ間の通信にHTTPを用い、ポート番号にHTTPのウェルノウンポート番号を用いることにした。
構成変更後のWebシステムを図3に示す。
〔WAFサービス停止時の対応検討〕
Uさんは、障害などでWAFサービスを1日以上利用できなくなった場合に備え、対応を検討した。WAFサービス停止期間中も、オンラインショップでの商品販売を継続させたい。Uさんは、WAFサービスを経由せずに、利用者のWebブラウザとWebシステム間で直接通信させるために、WAFサービス導入時に設定変更を予定しているカの④設定を変更することと、図2中の⑤資源レコードの1行を書き換えることで対応できると考えた。
Uさんは、WebAPのアクセスログについて、WAFサービスの有無にかかわらず、XFFヘッダの情報からWebシステムへのアクセス時の送信元IPアドレスを記録することとし、⑥LBに設定を追加した。
その後、Webシステムの構成変更に関するUさんの報告書は経営会議で承認され、導入の準備を開始した。
設問1:
問題文を見る本文中の下線①について、A社にとっての利点を45字以内で述べよ。
模範解答
T社がIP-w1を変更しても、A社DNSサーバの変更作業が不要となる。
解説
解答の論理構成
-
事前情報
- 問題文には「A社DNSサーバに、RDATAにIP-w1を設定したAレコードを登録する方式と、RDATAにT社WAFサービスのFQDNを設定したCNAMEレコードを登録する方式がある。」とあります。
- さらに「T社は、IP-w1を変更する場合があるので、①CNAMEレコードを登録する方式を推奨している。」と明示されています。
-
IPアドレス変更の影響
- Aレコード採用時はDNSに直接「IP-w1」を書くため、T社がIPを変更するとA社側でも書き換えが必要になります。
- 一方、CNAME方式ではA社DNSにはFQDNだけを置き、実際のIP解決はT社側のDNSに委ねられます。
-
導かれる利点
- したがって、T社が「IP-w1」を変更してもA社DNSの設定はそのままでよく、運用作業が発生しません。
-
まとめ
- 上記から模範解答「T社がIP-w1を変更しても、A社DNSサーバの変更作業が不要となる。」が導かれます。
誤りやすいポイント
- 「CNAMEは参照先のFQDNが変わらない限り効果がない」と思い込み、IP変更時の運用削減効果を見落とす。
- 「AレコードでもTTLを短くすれば問題ない」と考え、恒常的な設定変更作業コストを軽視する。
- 「CNAMEは名前解決回数が増える=デメリット」とだけ捉え、本問の“運用面での利点”を答え忘れる。
FAQ
Q: AレコードではなくCNAMEを使う欠点はないのですか?
A: 参照が1回増える分レイテンシがわずかに延びる可能性がありますが、今回のように外部サービスのIP変更頻度が読めない場合、運用負荷軽減の効果が大きいため推奨されています。
A: 参照が1回増える分レイテンシがわずかに延びる可能性がありますが、今回のように外部サービスのIP変更頻度が読めない場合、運用負荷軽減の効果が大きいため推奨されています。
Q: CNAMEを用いる場合、TTLを変更する必要がありますか?
A: 特に必須ではありません。ただし障害時に名前解決結果を早く切り替えたい場合はTTLを短めに設定する運用もあります。
A: 特に必須ではありません。ただし障害時に名前解決結果を早く切り替えたい場合はTTLを短めに設定する運用もあります。
Q: 複数レコードを組み合わせて登録することはできますか?
A: 同じホスト名にAレコードとCNAMEレコードを併存させることはRFCで禁じられています。CNAMEを採用するなら同名のAレコードは登録しません。
A: 同じホスト名にAレコードとCNAMEレコードを併存させることはRFCで禁じられています。CNAMEを採用するなら同名のAレコードは登録しません。
関連キーワード: DNS, CNAME, Aレコード, IPアドレス変更, 運用負荷, 名前解決
設問2:〔LBに関する検討〕について、(1)〜(3)に答えよ。
問題文を見る模範解答
ア:順番
イ:80
ウ:200
エ:Set-Cookie
オ:Cookie
解説
解答の論理構成
-
- [ア]
- 問題文では「HTTPリクエストをWebサーバ ア に振り分けるラウンドロビン方式」とあります。
- ラウンドロビン方式はWebサーバを“順番”に回して割り当てる代表的な方式です。
- よって [ア] は「順番」です。
-
- [イ]
- 「LBとWebサーバ間の通信にHTTPを用い、ポート番号にHTTPのウェルノウンポート番号を用いることにした」と明記されています。
- HTTPのウェルノウンポート番号は80です。
- よって [イ] は「80」です。
-
- [ウ]
- 表1では「成功時のHTTPレスポンス」を指定させています。
- Webサーバが正常応答する場合、HTTP的にはステータスコード200(OK)が一般的です。
- よって [ウ] は「200」です。
-
- [エ]
- 問題文は「LBは、HTTPレスポンスのエヘッダフィールドにセッションIDを追加する」と記載。
- HTTPレスポンスでブラウザへCookieを渡す標準ヘッダは “Set-Cookie” です。
- よって [エ] は「Set-Cookie」です。
-
- [オ]
- 「HTTPレスポンスを受け取った利用者のWebブラウザは、エヘッダフィールドにあるセッションIDを、次に送信するHTTPリクエストのオヘッダフィールドに追加する」との記述。
- ブラウザはCookieを次回リクエストの “Cookie” ヘッダに入れて送出します。
- よって [オ] は「Cookie」です。
誤りやすいポイント
- ラウンドロビン=“負荷均等”と連想し「均等」などと書いてしまう誤答が多いです。ラウンドロビンのキーワードは“順番”。
- 死活監視のポート番号を443と勘違いするケース。問題文に「HTTPを用い」とあり、TLSアクセラレーションでHTTPSは終端されている点を見落とさないこと。
- ステータスコードを302や304とする誤り。成功(OK)は200が基本。
- Cookieヘッダの方向性を混同し、Set-CookieとCookieを入れ替えるミスに注意。
FAQ
Q: TLSアクセラレーションを使っているのに死活監視はHTTPで良いのですか?
A: はい。TLSはLBで終端しており、その先のWebサーバとは平文HTTPで通信する設計です。従って監視もHTTPのまま行えます。
A: はい。TLSはLBで終端しており、その先のWebサーバとは平文HTTPで通信する設計です。従って監視もHTTPのまま行えます。
Q: ランダム方式とラウンドロビン方式はどう選択すべきですか?
A: 本問では「セッション維持」をCookieで実現するため、均等に順番を保証するラウンドロビンが扱いやすいと判断されました。ランダムでは同一クライアントが毎回別サーバへ行く可能性が高く、セッション維持機構に負荷が掛かります。
A: 本問では「セッション維持」をCookieで実現するため、均等に順番を保証するラウンドロビンが扱いやすいと判断されました。ランダムでは同一クライアントが毎回別サーバへ行く可能性が高く、セッション維持機構に負荷が掛かります。
Q: Set-Cookieヘッダは複数付く場合がありますか?
A: あります。1レスポンスに複数のSet-Cookie行を付与して複数のCookieをブラウザへ送ることが可能です。
A: あります。1レスポンスに複数のSet-Cookie行を付与して複数のCookieをブラウザへ送ることが可能です。
関連キーワード: ラウンドロビン, HTTPステータスコード, ウェルノウンポート, Cookie, TLSアクセラレーション
設問2:〔LBに関する検討〕について、(1)〜(3)に答えよ。
問題文を見る(2)本文中の下線②について、送信元IPアドレスに基づいて行う方式を採用した場合に発生するおそれがある問題を、10字以内で述べよ。
模範解答
負荷が偏る。
解説
解答の論理構成
- 【問題文】には、セッション維持機能の候補として
― “HTTPリクエストの送信元IPアドレスに基づいて行う方法”
― “LBによって生成されるセッションIDに基づいて行う方法”
が示されています。 - しかしWAF導入後は、
“WAFサービスは、HTTPリクエストの送信元IPアドレスを…IP-w2に変更する。”
とあるため、LBに到着するすべての通信の送信元IPは IP-w2で共通になります。 - 送信元IPベースでセッション維持を行うと、LBは “同じ送信元IPの要求は同じWebサーバへ” と判断します。よって IP-w2に見える全ユーザのトラフィックが1台に集中してしまいます。
- その結果、特定サーバにのみ処理が偏り、他サーバとの間でロードバランスが取れません。
- したがって、送信元IP方式を採った場合に懸念される問題は「負荷が偏る」となります。
誤りやすいポイント
- “ラウンドロビンを使うから大丈夫” と考え、セッション維持設定の影響を見落とす。
- “IP-w2は複数あるのでは” と勘違いし、同一IPで固定される点を読み飛ばす。
- “X-Forwarded-Forに本来のIPが入るから問題ない” と早合点し、LBが参照するIPは変わらない事実を取り違える。
FAQ
Q: X-Forwarded-Forに元のIPが載るのに、LBは参照できないのですか?
A: LBが送信元IP方式でセッション維持を行う場合、判断材料はパケットのIPヘッダ部です。HTTPヘッダであるX-Forwarded-Forを参照する機能を別途設定しない限り、負荷分散判断には用いられません。
A: LBが送信元IP方式でセッション維持を行う場合、判断材料はパケットのIPヘッダ部です。HTTPヘッダであるX-Forwarded-Forを参照する機能を別途設定しない限り、負荷分散判断には用いられません。
Q: 送信元IP方式にしてもラウンドロビンが働くことはありますか?
A: セッション維持が優先されるため、最初の1度はラウンドロビンで振り分けられても、以後は同じサーバ固定になります。大量アクセス時は実質的に片寄りが発生します。
A: セッション維持が優先されるため、最初の1度はラウンドロビンで振り分けられても、以後は同じサーバ固定になります。大量アクセス時は実質的に片寄りが発生します。
Q: セッションID方式でWAFが停止した場合は問題になりませんか?
A: WAFが停止しても送信元IPが多様化するだけで、セッションID方式は継続動作します。どの経路でも一貫してバランスが取れるため、安全策として採用されています。
A: WAFが停止しても送信元IPが多様化するだけで、セッションID方式は継続動作します。どの経路でも一貫してバランスが取れるため、安全策として採用されています。
関連キーワード: セッション維持, ラウンドロビン, WAF, X-Forwarded-For
設問2:〔LBに関する検討〕について、(1)〜(3)に答えよ。
問題文を見る(3)本文中の下線③の処理の内容を、20字以内で答えよ。
模範解答
HTTPヘッダを編集する処理
解説
解答の論理構成
- 【問題文】には、LBの機能として
「HTTPヘッダの編集(追加、変更、削除)機能をもっている」
と明記されています。 - さらにTLSアクセラレーション利用理由の一つとして
「③LBが行うある処理のために、TLSアクセラレーション機能を利用することにした」
と述べられています。 - 暗号化されたHTTPS通信では、ヘッダを編集するにはいったん復号が必要です。TLSアクセラレーションは復号/再暗号化を高速化する機能なので、対応する “ある処理” は「HTTPヘッダ編集」と判断できます。
- 以上より、③に入る内容は
「HTTPヘッダを編集する処理」
となります。
誤りやすいポイント
- TLSアクセラレーション=暗号化処理高速化とだけ考え、ヘッダ編集との関係を見落とす。
- 死活監視やセッション維持の処理と誤って結び付けてしまう。
- 「HTTPヘッダ追加」や「HTTPヘッダ変更」のように限定的に書き、設問の「ある処理」の範囲を外してしまう。
FAQ
Q: なぜセッション維持ではなくヘッダ編集が該当するのですか?
A: セッション維持自体はCookieの読み書きで完結しますが、Cookieは平文のHTTPメッセージ内に含まれます。HTTPSのままではヘッダに触れられないため、TLSアクセラレーションで復号→ヘッダ編集→再暗号化という流れが必須となります。
A: セッション維持自体はCookieの読み書きで完結しますが、Cookieは平文のHTTPメッセージ内に含まれます。HTTPSのままではヘッダに触れられないため、TLSアクセラレーションで復号→ヘッダ編集→再暗号化という流れが必須となります。
Q: ヘッダ編集は具体的に何を行うのですか?
A: X-Forwarded-Forなどのヘッダ付与・書き換え、CookieへのセッションID追加・削除など、ロードバランサが正しく振り分けやログ取得を行うための情報操作を指します。
A: X-Forwarded-Forなどのヘッダ付与・書き換え、CookieへのセッションID追加・削除など、ロードバランサが正しく振り分けやログ取得を行うための情報操作を指します。
Q: TLSアクセラレーションによって性能以外の利点はありますか?
A: 復号処理を装置内で統一的に行うため、証明書管理の一元化やセキュリティポリシーの集中適用が可能になります。
A: 復号処理を装置内で統一的に行うため、証明書管理の一元化やセキュリティポリシーの集中適用が可能になります。
関連キーワード: TLSアクセラレーション, HTTPS終端, ヘッダ編集, ロードバランサ, X-Forwarded-For
設問3:〔WAFサービス停止時の対応検討〕について、(1)〜(3)に答えよ。
問題文を見る模範解答
カ:FW
変更内容:任意のIPアドレスからWebシステムへのHTTPS通信を許可する。
解説
解答の論理構成
- まず本文には、WAF経由運用時に行ったFWの設定変更として
「FWに設定しているWebシステムへのHTTPS通信に関するアクセス制御について、IP-w2を送信元とする通信だけを許可するように、設定を変更することにした。」
とあります。ここでFWがHTTPSの許可/遮断を制御していることが明示されています。 - 次にWAFを長期間利用できなくなった場合の対策として
「WAFサービスを経由せずに…直接通信させるために、WAFサービス導入時に設定変更を予定しているカの④設定を変更する」
と記載されています。
直接通信させるには、送信元がWAF(IP-w2)ではなく利用者各自のIPになるため、FWの「送信元IP制限」を元に戻す必要があります。 - したがって カ に入る機器は、HTTPS通信をフィルタリングしている「FW」です。
- 下線④で求められる具体的な変更内容は、先の制限を解除し
「任意のIPアドレスからWebシステムへのHTTPS通信を許可する」
ことになります。これでWAFを介さない通常のHTTPSアクセスが成立します。
誤りやすいポイント
- 「LBにもアクセス制御機能があるのでは」と考えて カ をLBとしてしまう。本文でアクセス制御を担当しているのはFWである点を見落としやすいです。
- ④の設定変更を「IP-w1を許可」などDNS側の操作と勘違いするケース。実際にはFWルールの送信元条件を“Any”に戻す作業です。
- 「HTTPS以外も許可する」と解釈してしまう。問題文は「WebシステムへのHTTPS通信に関するアクセス制御」と限定しているため、対象プロトコルは変わりません。
FAQ
Q: IPアドレスを “任意” にするとセキュリティが下がりませんか?
A: 一時的にWAFをバイパスする非常措置なので、FWでIP制限を外さないと利用者が接続できません。再開後は元の設定に戻します。
A: 一時的にWAFをバイパスする非常措置なので、FWでIP制限を外さないと利用者が接続できません。再開後は元の設定に戻します。
Q: DNS側の⑤の書き換えだけでは不十分なのですか?
A: ⑤でFQDNを199.α.β.2に向けても、FWがIP-w2だけを許可したままではパケットが拒否されるため、④のFW変更が必須です。
A: ⑤でFQDNを199.α.β.2に向けても、FWがIP-w2だけを許可したままではパケットが拒否されるため、④のFW変更が必須です。
Q: WAFなし運用でもX-Forwarded-Forは残りますか?
A: ⑥で「LBに設定を追加」し、LBがXFFヘッダを付与するため、WAFの有無にかかわらず送信元IPをログに残せます。
A: ⑥で「LBに設定を追加」し、LBがXFFヘッダを付与するため、WAFの有無にかかわらず送信元IPをログに残せます。
関連キーワード: WAF, ファイアウォール, HTTPS, アクセス制御, DNSレコード
設問3:〔WAFサービス停止時の対応検討〕について、(1)〜(3)に答えよ。
問題文を見る(2)本文中の下線⑤について、書換え後の資源レコードを答えよ。
模範解答
shop IN A 199.α.β.2
解説
解答の論理構成
- 初期状態の資源レコード
図2には【問題文】「shop IN CNAME waf-asha.tsha.net.」とあります。これは通常時、shop.asha.comへの問い合わせをT社のWAFへ転送するための設定です。 - WAFが1日以上停止した場合の方針
【問題文】「WAFサービス停止期間中も、オンラインショップでの商品販売を継続させたい。」
→ WAFを経由せず、直接Webシステム(LB)へ到達させる必要があります。 - DNSで切替える対象
【問題文】「⑤資源レコードの1行を書き換えることで対応できる」とあるため、shop.asha.comに関する行のみを書き換えます。 - 直接接続時に示すべき宛先
構成変更後の図3より、利用者が直接アクセスするLBのグローバルIPは【問題文】「199.α.β.2」です。 - 必要なレコード種別
・CNAMEは “別の名前” を指し示すレコードであり、今回はFQDNではなくIPアドレスを返す必要があります。
・IPアドレスを返すレコード種別はAレコードです。 - したがって書換え後の資源レコードは
shop IN A 199.α.β.2
となります。
誤りやすいポイント
- CNAMEのままIPアドレスを設定してしまう
CNAMEは必ずFQDNを指定します。IPアドレスを記述すると仕様違反です。 - 末尾のドットを忘れる/付ける場所を誤る
FQDNを書く場合は末尾のドットが要りますが、今回はAレコードなので不要です。 - TTLや $ORIGINを一緒に書き換えてしまう
指定は「⑤資源レコードの1行」だけです。他の行を変更すると不具合の原因になります。 - AAAAレコードを追加してしまう
既存システムがIPv4で運用されているため、IPv6用のAAAAを追加すると接続できない利用者が出る恐れがあります。
FAQ
Q: CNAMEからAレコードに変えると名前解決の手順はどう変わりますか?
A: CNAMEはまず別名を返し、その別名に対して再帰的にAレコードを取得します。Aレコードへ置き換えると、一度の問い合わせでIPアドレスが返るため解決が簡略化されます。
A: CNAMEはまず別名を返し、その別名に対して再帰的にAレコードを取得します。Aレコードへ置き換えると、一度の問い合わせでIPアドレスが返るため解決が簡略化されます。
Q: WAF復旧後に何を戻せばいいですか?
A: shop.asha.comの資源レコードを再び「shop IN CNAME waf-asha.tsha.net.」へ戻せば、トラフィックはWAF経由に切替わります。
A: shop.asha.comの資源レコードを再び「shop IN CNAME waf-asha.tsha.net.」へ戻せば、トラフィックはWAF経由に切替わります。
Q: ゾーンファイル内に同一名前でAとCNAMEを併用できますか?
A: RFC違反となるため併用できません。切替え時は必ずどちらか一方のみを残してください。
A: RFC違反となるため併用できません。切替え時は必ずどちらか一方のみを残してください。
関連キーワード: DNSレコード, CNAME, Aレコード, フェイルオーバー, 負荷分散
設問3:〔WAFサービス停止時の対応検討〕について、(1)〜(3)に答えよ。
問題文を見る(3)本文中の下線⑥の設定内容を、30字以内で答えよ。
模範解答
XFFヘッダに送信元IPアドレスを追加する設定
解説
解答の論理構成
-
送信元IPをログに残す要件
- 問題文より引用
「現行のWebAPでは、Webシステムへのアクセス時の送信元IPアドレスをアクセスログに記録している。」
「Uさんは、送信元IPアドレスの代りにXFFヘッダの情報を記録するように、WebAPの設定を変更することにした。」
⇒ 今後はWebAPがXFFヘッダ を参照してログを取る。
- 問題文より引用
-
WAFが存在する場合
- WAFの動作
「WAFサービスは、アクセスを許可したHTTPリクエストの送信元IPアドレスを、HTTPヘッダのX-Forwarded-Forヘッダフィールド(以下、XFFヘッダという)に追加する…」
⇒ WAF経由時は自動的にXFFヘッダ が付与されるのでWebAPは問題なく記録できる。
- WAFの動作
-
WAFをバイパスする場合
- 対応方針
「Uさんは、WebAPのアクセスログについて、WAFサービスの有無にかかわらず、XFFヘッダの情報からWebシステムへのアクセス時の送信元IPアドレスを記録することとし、⑥LBに設定を追加した。」
⇒ WAFがない経路では誰もXFFヘッダ を付けないため、LBが代わりに付与する必要がある。
- 対応方針
-
LBの機能確認
- 「LBは… HTTPヘッダの編集(追加、変更、削除)機能をもっている。」
⇒ LBはヘッダ追加が可能。WAFバイパス時でも要件を満たせる。
- 「LBは… HTTPヘッダの編集(追加、変更、削除)機能をもっている。」
-
結論
- したがって ⑥ の設定は
「XFFヘッダに送信元IPアドレスを追加する設定」
となる。
- したがって ⑥ の設定は
誤りやすいポイント
- 「WAFが無い=XFFヘッダ不要」と勘違いし、LBの設定を忘れる。WebAPはXFFしか見ないのでログが空になる。
- XFFヘッダの“追記”と“置換”を混同し、既にWAFが付けた情報を上書きしてしまうケース。
- 送信元IPを別ヘッダ(例: Via)に入れると誤解しやすいが、問題文は明確に「XFFヘッダ」と指定している。
FAQ
Q: なぜWebAPを改修せずLBにヘッダ追加を任せるのですか?
A: LBには「HTTPヘッダの編集(追加、変更、削除)機能」があり、インフラ側で制御できるのでアプリ改修より影響範囲が小さいためです。
A: LBには「HTTPヘッダの編集(追加、変更、削除)機能」があり、インフラ側で制御できるのでアプリ改修より影響範囲が小さいためです。
Q: WAFとLBの両方がXFFを付けた場合、どちらが優先されますか?
A: 一般的には“追記”で複数のIPがカンマ区切りで入るため、最初の値がクライアント、次が中継装置という順になります。問題文でも「追加する」と記載されており上書きではありません。
A: 一般的には“追記”で複数のIPがカンマ区切りで入るため、最初の値がクライアント、次が中継装置という順になります。問題文でも「追加する」と記載されており上書きではありません。
Q: セキュリティ上、XFFヘッダは改ざんリスクがありませんか?
A: あります。信頼できる中継装置(今回のWAFやLB)が付与・検証する運用とし、任意のクライアントが自由に書き換えられないようFWやACLで直接アクセスを制限します。
A: あります。信頼できる中継装置(今回のWAFやLB)が付与・検証する運用とし、任意のクライアントが自由に書き換えられないようFWやACLで直接アクセスを制限します。
関連キーワード: X-Forwarded-For, ロードバランサ, リバースプロキシ, HTTPヘッダ, 送信元IP





