ネットワークスペシャリストの令和6年度 春季試験 午後Ⅰ 問3の解説を行っていきます。
出題テーマ:ローカルブレイクアウト(IPSec・プロキシ・PAC・WPAD)
出題テーマとしては『ローカルブレイクアウト(IPSec・プロキシ・PAC・WPAD)』でした。
これまでインターネットの出口は少ない方がいいとされ、各拠点間を閉域回線で接続し、本社やデータセンターなどに設置したFWからインターネットへ通信を行う構成が多くありました。
近年はMicrosoft365などのSaaSサービス、Zoomなどのビデオ通話などの利用が増えたことにより通信量が増えて、FWの性能や回線がひっ迫するようになってきました。
そこで、Microsoft365やZoomといった信頼できる特定のサービス・アプリケーションは各拠点のインターネットから直接通信させて、FWの性能や回線のひっ迫を避けようというのがローカルブレイクアウト(Local Break Out:LBO)、もしくはインターネットブレイクアウトと呼ばれます。
IPSecに関しては暗号化の範囲などの少し細かい内容も出題されていました。
ローカルブレイクアウトの肝となるのがプロキシですが、プロキシに関しては基本的な動作、どのプロキシサーバに転送するかというPACファイルの内容、PACファイルの配布方法のWPADに関しても出題されていました。
プロキシとどのプロキシを参照するかというPACファイルの設計まではネットワークエンジニアが担当し、PACファイルの配布方法は顧客側の情報システム部門などが担当することが個人的には多いと思うので、設計に加えて少し運用にまで踏み込んだ問題だったかと思います。
総じて、IPSec、プロキシ、PAC、WPADに関する基本的な知識が必要な問題でした。
設問1 (1)
知識の問題です。
【ア】の部分として、『A社は、UTMのIPSec VPN機能を利用して、本社をハブ、各支社をスポークとする【ア】型のVPNを構成している。』とあります。
解答は『ア:ハブアンドスポーク』です。
ハブ(中心、本社やデータセンターなど)・スポーク(拠点や支店など)という言葉をは自転車のホイールでも使いますし、羽田空港や成田空港などの路線数の多い空港をハブ空港と呼びますので、どこかで聞いたことがある言葉かと思います。
ネットワーク機器のリピーターハブやスイッチハブのハブも同じ意味です。
ハブアンドスポーク構成では、本社と支社間はIPSecトンネルを確立しますが、支社Aと支社Bの支社間はIPSecトンネルを確立しません。
支社Aから支社Bへ通信が発生する場合は支社A→本社→支社Bというように、ハブである本社を経由して通信が行われます。
メリットとしては設定数の削減が期待できることが挙げられます。
支社Cが追加された場合に、本社だけに設定を追加すれば良くなります。
デメリットはハブである本社に障害が発生した際に、各支社間の通信ができなくなるなどスポーク側にも影響が及ぶことが挙げられます。
障害に備えてもう1つ主要な支社をハブとして、ダブルハブ構成を取る場合もあります。
ハブアンドスポークと対になるのが、本社と各支社のすべてでIPSecトンネルを確立するフルメッシュ構成です。
支社Aから支社Bへの通信は本社を経由することなく直接通信が行われます。
メリットは障害の影響範囲を狭めることができることが挙げられます。
支社Aで障害が発生した場合は支社Aから・支社Aへの通信ができませんが、他の支社では問題なく通信することができます。
デメリットは設定数が増えることが挙げられます。
支社Cが増えた場合は本社・支社A・支社Bに設定を追加する必要があり、さらに支社Dが増えた場合には本社・支社A・支社B・支社Cというように増えていきます。
どちらの構成が良いかは通信要件や支社・拠点数など(数・増減の頻度etc)によって異なります。
単純な100拠点あるという数もそうですが、今後の拠点数の増減なども考慮して決める必要があります。
設問1 (2)
こちらは知識の問題です。
下線①として、『本社のUTMと支社のUTMのペアではIPSecで暗号化するために同じ鍵を共有』とあります。
解答は『事前共有鍵』です。
英語表記で『プリシェアードキー』でも問題ないかと思います。
設問1 (3)
下線②として、『この鍵はペアごとに異なる値が設定』とあります。
本社と各支社間で同じ鍵を用いていた場合、1つの支社で設定(事前共有鍵)が漏えいした場合、すべての支社の鍵が漏えいしたことになります。
本社と支社A、本社と支社Bで異なる鍵を用いていた場合、支社Aで設定(事前共有鍵)が漏えいした場合の影響範囲は本社と支社Aだけに留まります。
ということで解答例は『鍵が漏えいした場合の影響範囲を小さくできること(23文字)』と考えることができます。
ただ、今回の問題の場合はハブアンドスポーク構成を用いますので、ハブである本社の設定(事前共有鍵)が漏洩した場合はすべての支社に影響があります。
設問1 (4)
下線③として、『IPSecの通信モードには、トランスポートモートとトンネルモードがあるが、A社のVPNではトランスポートモードを利用している。』とあります。
IPSecにはトランスポートモードとトンネルモードと2つのモードがあります。
違いの一つに暗号化の範囲が挙げられます。
トランスポートモードの暗号化の範囲は、『TCP/UDPヘッダー、ペイロード(データ)、ESPトレーラ』です。
元のIPヘッダーが暗号化されません。
トンネルモードの暗号化の範囲は、『IPヘッダー、TCP/UDPヘッダー、ペイロード、ESPトレーラ』です。
元のIPヘッダーも暗号化されるので、新しいIPヘッダが付与されることになります。
一般的にはトンネルモードの方を多く使いますが、今回の問題ではIP-IPでトンネリングを行っていますので2重でトンネリングする必要はありませんので、トランスポートモードを使用しています。
別なトンネリング方法(今回はIP-IP)を用いる場合などIPヘッダの暗号化が不要なときは、トランスポートモードを使用します。
図2を見ていきます。
まず元のIPパケットがあります。
これをIP-IPでカプセル化することで、新しいIPヘッダーが付与されます。
これをIPSecのトランスポートモードで暗号化すると、ESPヘッダー・ESP認証データが付与され、元のIPパケット・ESPトレーラ部分が暗号化された状態となります。
IPSecのトンネルモードで暗号化すると、新しいIPヘッダー・ESPヘッダー・ESP認証データが付与され、IPヘッダ・元のIPパケット・ESPトレーラ部分が暗号化された状態となります。
ということで解答は『IPヘッダー、元のIPパケット、ESPトレーラ』となります。
設問1 (5)
知識の問題です。
下線④として、『IP-IP over IPsecインタフェースでは、IP Unnmbered設定』とあります。
解答例としては、『インタフェースにIPアドレスの割当てを行わない設定(25文字)』となります。
IP Unnumberedの設定をした場合には、他のインタフェースからIPアドレスを借りることになります。
トンネルインタフェースでは一般的にはLAN側のインタフェースから借りることが多いかと思います。
この際、ルーティングの設定ではネクストホップをIPアドレスではなく、トンネルインタフェースを指定してあげます。
PPPoEなどでは用いることがある設定ですが、個人的にIPSecにおいてはIPアドレスを付与することが多いかなと思います。
設問1 (6)
下線⑤として、『IP-IP over IPSecインタフェースでは、中継するTCPパケットのIPフラグメントを防止する設定』とあります。
IP-IPでトンネリングしたことで新しいIPヘッダー付与され、さらにIPSecで暗号化をすることでESPヘッダーなどが付与され、元のパケットよりも長いヘッダーが付いている状態となります。
ネットワーク機器間が通信できるサイズの最大値MTUが決めれています。
元のペイロード部分が大きい場合などMTUを超えるサイズのパケットはフラグメント(分割)して送信する必要があります。
フラグメントすることにより、フラグメント(分割)という処理がひとつ加わることになりますので、解答例としては『機器の負荷増大(7文字)』と考えることができます。
TCPパケットのIPフラグメントを防止する設定とは、MSSを適切な値に調整してあげることが挙げられます。
TCPは通信を開始する際に3wayハンドシェイクでコネクションを確立してから通信を開始します。
一般的にMTUは1500で、IPヘッダとTCPヘッダの40byteを除いた1460がMSSです。
今回はIP-IPおよびIPSecを行う関係でヘッダーが多く含まれている状態ですので、ルータにはMSS:1370を設定します。
クライアントからSYNパケットを投げ、その際にMSS:1460という情報が含まれていますが、ルータを経由する際に1370に書き換えを行います。
サーバからSYN+ACKの返答がある際に、同じようにMSS;1460という情報が含まれていて、ルータを経由する際に1370に書き換えを行います。
これ以降はクライアントからMSS:1370以下となるように送信されるようになり、ルータ上でフラグメントを行うことなく通信が行われます。
今回の問題ではUTM上でMSS値を定めることで、UTMを経由して行われるTCPの通信ではそのMSS値が採用されるため、適切な値であれば途中でフラグメントが起きることなく通信が行われるようになります。
設問2 (1)
PACファイルの処理を上から見ていきます。
『(a)hostをIPアドレスに変換し、変数ipに代入する。』とあり。処理(a)ではDNSの名前解決を行っていることがわかります。
続いて、『(b)hostがlocalhost、又は(a)で宣言したipがプライベートIPアドレスやループバックアドレス、又はhostがA社の社内利用ドメイン名に属する場合、FindProxyURL関数の戻り値として”DIRECT”を返す。』とあります。
問題文中からDMZにあるWebサーバにアクセスする際にプライベートIPアドレスでアクセスするか社内利用ドメインでアクセスするかまでは読み取ることができませんでしたが、いずれにしても(b)の処理に該当すると考えられ、戻り値は”DIRECT”つまりプロキシサーバを経由せずに直接通信することになりますので、解答は『利用しない』となります。
設問2 (2)
続いてのアクセス先は『htts://www.example.com/foo/index.html』です。
外部のドメインですので、先程見た(b)の処理には当てはまりません。
続いて処理(c)は『hostがC社SaaS利用ドメインに帰属する場合、又はhostがC社SaaS利用ドメイン名のシェルグロブ表現に一致する場合、FindProxyURL関数の戻り値値として”PROXY proxy.osaka.a-sha.jp:8080″を返す』とあり、図4中に記載のあるC社SaaS利用ドメインとは異なりますので、こちらには該当しません。
最後の処理として、『(b)、(c)どちらにも該当しない場合、FindProxyURL関数の戻り値として”PROXY proxy.a-sha.jp:8080″を返す。』とあり、こちらの処理に該当すると考えられます。
ということで解答は『proxy.a-sha.jp』となります。
設問2 (3)
IPアドレス・サブネットの計算の問題です。
IPアドレスは172.16.0.0で、サブネットは255.240.0.0です。
最初のIPアドレスはそのまま『最初:172.16.0.0』となります。
サブネットの第2オクテット部分の240を2進数に変換すると『11110000』となります。
IPアドレスの第2オクテットの16を2進数に変換すると『00010000』となります。
後半の4桁がホスト部に含まれることになりますので、この部分のすべてビットが立った場合の最大値は『1111(2進数)=15(10進数)』、ということで範囲は172.16.0.0~172.31(16+15).255.255までとなります。
最後のIPアドレスは『最後:172.31.255.255』です。
設問2 (4)
先の問題で見ましたが、処理BではプライベートIPアドレスなどの社内アクセスの場合はプロキシサーバを介さずに直接通信を行われるようにしています。
元々は『プロキシサーバは、従業員が利用するPCのHTTP通信、HTTPS通信をそれぞれ中継する。プロキシサーバではセキュリティ対策として各種ログを取得している。』とあります。
元々は本社のプロキシサーバを経由していたところ、本社プロキシサーバを経由せずに通信するようになれば、単純に負荷が軽減されます。
ということで解答例は『本社のプロキシサーバの負荷軽減(15文字)』となります。
UTM上でプロキシサーバを稼働させようとしており、複数プロキシサーバが登場しますので、『本社の』を付けてあげる必要があるとベストな解答になるかと思います。
『本社の』なくても減点とはならないかとは思います。
設問2 (5)
下線⑥として、『Bさんは各支社のPACファイルを作成した。』とあります。
図4は『Bさんが作成した大阪支社のUTMのPACファイル』であり、処理(c)内に登場する『“PROXY proxy.osaka.a-sha.jp:8080”』というのは大阪支社のUTMプロキシサーバのFQDNです。
別な支社ではこのFQDNがその支社のUTMのプロキシサーバのFQDNとなり、各支社ごとに異なる値であると考えることができます。
ということ解答例は『UTMのプロキシサーバのFQDNが異なるため(22文字)』と考えることができます。
設問3 (1)
【イ】と【ウ】、【エ】について考えていきます。
『WPADは【イ】や【ウ】の機能を利用して、PACファイルの場所を配布するプロトコルである。【イ】サーバや【ウ】サーバと通信を行い、アプリケーションレイヤープロトコルの一つである【エ】を利用して【エ】サーバからPACファイルのダウンロードを試みる。』とあります。
WPADはDHCPサーバやDNSサーバと通信を行い、HTTPを利用してHTTPサーバからPACファイルのダウンロードを試みますので、解答は『イ:DHCPサーバ(ウと順不同)』、『ウ:DNSサーバ(イと順不同)』、『エ:HTTP』となります。
続いて【オ】について考えていきます。
『PCやWebブラウザにはPACファイルの【オ】を直接設定する。』とあります。
解答は『オ:URL』となります。
Windowsですと、プロキシサーバの設定で、『設定を自動的に検出する』を有効にするがWPADの設定です。
その下の『自動構成スクリプトを使用する』がURLで直接指定する場合の設定です。
設問3 (2)
下線⑦として、『悪意のある【イ:DHCPサーバ】や【ウ:DNSサーバ】があるとPCがやWebブラウザが脅威にさらされる』とあります。
攻撃者の用意した悪意のあるDHCPサーバやDNSサーバが、悪意のあるPACファイルをダウンロードさせ、その結果悪意のあるプロキシサーバへ転送してしまうことが想像できるかと思います。
ということで解答例は『悪意のあるPACファイルをダウンロードしてしまうこと(25文字)』と考えることができます。
公式解答例との比較
私の解答と公式解答を比較してみました。
満点ではないにせよ、少なくとも7割~8割程度は取れているかと思います。
予想配点はあくまで予想ですので参考程度でお願いします。
出題テーマは『ローカルブレイクアウト(IPSec・プロキシ・PAC・WPAD)』でした。
知識が必要な問題が多かったので淡々とした説明になってしまったかと思います。
IPSecの暗号化の範囲、PACファイルの内容を読み解く問題、PACファイルの配布方法のWPADに関しては基礎から1歩踏み入った知識が必要だったかと思います。
基本的な知識は当然として、少し踏み入った知識も必要であることから、総じて難易度は普通~やや難しいだったかと思います。
ローカルブレイクアウトの特にプロキシ周りの設計を理解するのにちょうどよい問題で、この点に関しては実案件にも役立つかとかと思います。
配点 |
|||
設問1 (1) | ア:ハブアンドスポーク | ア:ハブアンドスポーク | |
設問1 (2) | 事前共有鍵(プリシェアードキー) | 事前共有鍵 | |
設問1 (3) | 鍵が漏えいした際の影響範囲を小さくできること(23文字) | 鍵が漏えいした際の影響範囲を小さくできる。 | |
設問1 (4) | IPヘッダー、元のIPパケット、ESPトレーラ | ルーティングループによる障害 | |
設問1 (5) | インタフェースにIPアドレスの割当てを行わない設定(25文字) | インタフェースにIPアドレスの割当てを行わない設定 | |
設問1 (6) | 機器の負荷増大(7文字) | 転送不可の増大 | |
設問2 (1) | 利用しない | 利用しない | |
設問2 (2) | proxy.a-sha.jp | proxy.a-sha.jp | |
設問2 (3) | 最初:172.16.0.0 最後:172.31.255.255 |
最初:172.16.0.0 最後:172.31.255.255 |
|
設問2 (4) | 本社のプロキシサーバの負荷軽減(15文字) | 本社のプロキシサーバの負荷軽減 | |
設問2 (5) | UTMのプロキシサーバのFQDNが異なるため(22文字) | UTMプロキシサーバのFQDNが異なるから | |
設問3 (1) | イ:DHCP(順不同) ウ:DNS(順不同) エ:HTTP オ:URL |
イ:DHCP(順不同) ウ:DNS(順不同) エ:HTTP オ:URL |
|
設問3 (2) | 悪意のあるプロキシサーバに通信を転送してしまうこと(25文字) | 不正なプロキシサーバに中継される。 |
引用元
問題および解答例に関しては、『独立行政法人 情報処理推進機構(IPA)』より引用しています。

YouTube解説動画
鋭意作成中につき少々お待ち下さい。