設問1
T社がIP-w1を変更しても、A社DNSサーバの変更作業が不要となる
- Aレコードの場合(お蔵入り・非推奨なやり方)
- A社のDNSサーバーに直接
IP-w1という具体的なIPアドレスを書いてしまうと、クラウド側(T社)の都合でIP-w1が変更されたとき、A社側も慌てて自分のDNSサーバーのAレコードを書き換えなければならなくなる。
- A社のDNSサーバーに直接
- CNAMEレコードの場合(推奨されるやり方)
- A社のDNSには「名前の指し先をT社側のFQDN(
WAF-A社.t社.netなど)にする」という設定(CNAME)だけを置いておく。 - 万が一、T社側で
IP-w1が変更になったとしても、T社が自分たちの管理するDNS側で勝手によしなに変更してくれるため、A社側は自分のDNSを一切触る必要がない。
- A社のDNSには「名前の指し先をT社側のFQDN(
つまり、「クラウド側のIP変更に引きずられて、自社のDNSをメンテしなくてよくなる(運用管理の手間が減る)」というのが、A社にとっての最大のメリットになる。
設問2
(2)負荷が偏る
セッション維持機能を送信元IPアドレスベースでやると…
1.WAFからLBへ通信がくる
2.LBは「送信元がIP-w1ね。じゃあWebサーバ1へ振り分けよう」
3.しばらくして別のパケットがWAFからLBへ届く
4.LBは「送信元がIP-w1ね。それはさっき見たので、さっきと同じWebサーバ1へ振り分けよう」
つまり、送信元IPアドレスベースでセッション維持をすると、まったくラウンドロビンされなくなってしまうということ=負荷が偏るという問題が発生する
(3)HTTPヘッダを編集する処理


LBはX-Forwarded-Forヘッダーと呼ばれるHTTPヘッダの一つを編集する必要がある。
そして、編集するためには暗号化されたペイロードを復号する必要がある。
暗号化・復号化するということは、TLSアクセラレーション機能を利用した方がよい。
以上の思考ステップにより、HTTPヘッダの編集処理が回答となる。
p.7 WAFって何?

HTTP/HTTPSのメッセージの中身(URL、リクエストメソッド(GET/POST)、ヘッダ、ボディパラメータなど)を解析し、SQLインジェクションやクロスサイトスクリプティング(XSS)といったWebアプリケーション特有の攻撃パターンを検知・防御する機器。
▼通常のFWをWAFの違い
| 比較 | 通常のネットワークFW | WAF |
|---|---|---|
| 主な対象レイヤー | L3・L4 | L7(HTTP/HTTPS) |
| 主に見る情報 | IPアドレス、ポート番号、プロトコル | URL、HTTPメソッド、ヘッダー、Cookie、リクエスト本文など |
| 主な目的 | 通信の許可・拒否 | Webアプリケーションへの攻撃を防ぐ |
| 制御例 | TCP 443を許可する | SQLインジェクションなどを検知・遮断する |
p.8 Q.コモンネームってなに?

コモンネーム(CN: Common Name)とは?
- 意味: 証明書が対象とする「主たる名前(識別名)」のこと。
- 役割: 昔のSSL/TLS証明書では、このCNフィールドに単一のドメイン名(FQDN)(例:
shop.asha.com)を1つだけ書き込むのが基本ルール。 - イメージ: 証明書の「名札のメイン氏名」のようなもの。
SAN(Subject Alternative Name:サブジェクト別名)とは?
- 意味: コモンネーム(CN)のほかに、「別名(追加の名前)」を複数登録できる拡張フィールドのこと。
- 役割: 1枚の証明書で複数の異なるドメインやサブドメイン(例:
asha.com、[www.asha.com](https://www.asha.com)、shop.asha.com、さらには別ドメインのexample.netなど)をまとめて保護したいときに使う。
Q.なんでWAFは2つのIPアドレスを使っているの?


Q.IP-w1で受け付けているんだから、A社側に送るときもIP-w1を送信元にして送ればいいじゃん?なぜわざわざIP-w2にする必要があるの?
A.受付とバックエンドを分けるため。
前提:
①IP-w1は多数のキャッシュサーバに割り当てられているIP
②IP-w1はBGP Anycastを使って広告している
もし、IP-w2がないとどうなるか?
1.クライアントがA社Webサービスの名前解決をしてIP-w1宛てにパケットを送信
2.クライアントの最寄りのエッジサーバであるWAFが受け取る
*IP-w1はBGP Anycastによって広告されている
3.WAFは適切な処理をしてIP-w1にしてA社側に送信
4.A社側は受け取り処理をする
5.レスポンスをIP-w1宛てに送る
ここで問題発生!!!
IP-w1はBGP Anycastをしているので、A社側の最寄りのエッジサーバに到達してしまう。
しかし、最寄りエッジサーバはA社から来た通信を「ん?おれそんな通信知らないけど?それをどこに転送すればいいの?」とわからなくなってしまう!!
6.結果として応答パケットがクライアントまで届かなくなる。
IP-w2を使うとどうなるのか?
1.クライアントがA社Webサービスの名前解決をしてIP-w1宛てにパケットを送信
2.クライアントの最寄りのエッジサーバであるWAFが受け取りTLSを復号してサイバー攻撃の検査を行う。
*IP-w1はBGP Anycastによって広告されている
3.検査を通過した通信は、WAF基盤の内部ネットワークを通って「出口を管理するゲートウェイ機器」へ集約される(=複数のエッジサーバがゲートウェイをシェアしている)。
4.出口ゲートウェイにて、送信元IPアドレスが IP-w2 に書き換えられる。同時に、ゲートウェイのメモリ上に「どのエッジサーバの、どのセッションか」を紐付ける対応表(ステートテーブル)が記録される。
5.送信元が IP-w2、宛先がA社LBのIPアドレス(199.α.β.2)となったパケットがA社に到着し、FWの許可を通過して内部のWebサーバで処理される。
6.レスポンスをIP-w2宛てに送る
7.IP-w2 はユニキャストIPであるため、パケットは確実にT社WAFの出口ゲートウェイに戻ってくる。出口ゲートウェイは自身のステートテーブルを参照し、「このレスポンスはどのエッジサーバの通信か」を即座に特定する。
8.特定されたセッション情報をもとに、内部ネットワーク経由で元のエッジサーバへパケットが引き渡され、エッジサーバからクライアントのWebブラウザへレスポンスが届けられる
イメージはこんな感じ👇

