ネットワークスペシャリストの令和6年度 春季試験 午後Ⅰ 問1の解説を行っていきます。
出題テーマ:LB・BGP・DDoS対策
出題テーマとしては『LB・BGP・DDoS対策』でした。
LB(ロードバランサー)に関しては、基本的な知識が必要となる問題が出題されていました。
BGPに関してはBGPピア(ネイバー)確立から、最適パスアルゴリズムを問う問題が出題され、これらは知識がないと解答することが難しかったと思います。
DDoS対策に関しては、RTBH方式とBGP Flowspec方式が出題され、これらは問題文中のヒントから解答することができました。
設問1 (1)
下線①として、『LBは配信サーバにHTTPアクセスによって死活監視を行い、動作が停止している配信サーバに対してはゲーム端末からのアクセスを振り分けない。』とあります。
サーバに障害などが発生して通信を処理できない状態にもかかわらず、LBがそのサーバに通信を振り分けてしまうと、正常に通信が行えずクライアント側にエラーが表示されてしまいます。
そこで、LBは死活監視として何秒に1回のように定期的にサーバに対してPingやHTTPアクセスを行います。
応答があればサーバは正常であると判断し、応答がなければばサーバに障害などが発生していると判断し、応答がなかったサーバにアクセスを振り分けず、他のサーバに振り分けることでサービスを継続させます。
ICMP Echo(Ping)とHTTPで行う死活監視の決定的な違いはレイヤーの違いです。
ICMP EchoはL3層、HTTPはL7層です。
ICMP Echoで死活監視を行う場合、応答があればサーバ自体がL3・ネットワークレベルで正常に稼働していると判断することができます。
HTTPで死活監視を行う場合、応答があればHTTPの応答を行うプロセスがL7・アプリケーションレベルで正常に稼働していると判断することができます。
ICMP Echoだけの死活監視の場合ですと、サーバ自体は正常に稼働していてICMPの応答をするが、HTTPの応答を行うプロセス(アプリケーション)に障害が発生している場合に検知を行うことができません。
このことが問題と考えられ、解答例は『ICMP Echoの応答があるが、HTTPサーバのプロセスに障害が発生している場合に検知できない問題(50文字)』と考えることができます。
LBの設定としては、ICMPとL7の死活監視両方セットで行うことが一般的かと思います。
設問1 (2)
【ア】から考えていきます。
【ア】の部分として、『D者のゲームファイル配信では、振り分ける先の配信サーバの性能は同じだが、接続ごとに配信するゲームファイルのサイズに大きならばつきがあり、配信に掛かる自家が変動する。各配信サーバへの同時接続数をなるべく均等にするために、LBの振分けアルゴリズムとして【ア】方式を採用している。』とあります。
振分けアルゴリズムについては『D社が導入しているLBのサーバ振分けアルゴリズムには、ラウンドロビン方式及び最小接続数方式がある。ラウンドロビン方式は、ゲーム端末からの接続を接続ごとに配信サーバに順次振り分ける方式である。最小接続数方式は、ゲーム端末からの接続をその時点での接続数が最も少ない配信サーバに振り分ける方式である。』とあります。
ラウンドロビン方式は、例えばサーバが2台の場合、必ず交互に通信を振り分けるというように順次に振り分けを行う方式です。
ただし、ラウンドロビン方式ですと、あるサーバに接続が集中していてもそのサーバに振り分けが発生してしまいます。
最小接続数方式は、あるサーバで通信が行われていて接続数が2、もう片方が0の場合、接続数が少ない方に振り分けを行う方式です。
最小接続数方式であれば、あるサーバに接続が集中していて、あるサーバには接続が少ないという状態であれば接続が少ない方に振り分けられ、同時接続数をなるべく均等にすることができます。
ということで解答は、『ア:最小接続数』と考えることができます。
続いて、【イ】について考えていきます。
『ゲームβの配信性能向上が必要になる場合には、表1中の所属セグメント【イ】にサーバを増設する。』とあります。
ゲームβの配信性能向上のためには、ゲームβのセグメントにサーバを追加すればいいので、解答は『イ:172.22.1.0/24』と考えることができます。
設問1 (3)
重要な部分として、『ゲーム端末は、インターネット経由でゲームごとにそれぞれ異なるURLにHTTPSでアクセスする。LBは、プライベートIPアドレスが設定されたHTTPSの配信サーバにアクセスを振り分ける。』とあります。
この振り分け方法ではセッション(コネクション)がゲーム端末⇔LB間(HTTPS)とLB⇔配信サーバ間(HTTP)で別れます。
このときにサーバ証明書が必要となるのは、HTTPSで通信を行うゲーム端末(クライアント)⇔LB(サーバ)という構造になるので、解答は『LB』となります。
LB⇔配信サーバ間はHTTPですが、データセンター内なのでわざわざ暗号化する必要がないのでHTTPでも問題ありません。
さらに余談としてはLBにはL4とL7の違いがあります。
この設問に登場するのはL7で、LBがクライアントと背後のサーバにそれぞれセッション(コネクション)を確立します。
そうすることで、機器の負荷は多少増えますが、HTTP・HTTPSの細かい制御(ヘッダー挿入etc)を行うことができるようになります。
一方L4ロードバランサーでは、LBはセッションを確立せずにクライアントとサーバが直接セッション(コネクション)を確立するように通信を転送します。
単に通信を決められたアルゴリズムで振り分けるだけで細かい制御はできませんが、機器の負荷は少ないというメリットがあります。
設問2 (1)
BGPの最適パスアルゴリズムに関する知識の問題です。
まずは【ウ】から考えていきます。
『LP(LOCAL_PREF)属性については値が【ウ】経路を優先し』とあり、こちらは『ウ:大きい』が入ります。
続いて、【エ】について考えていきます。
『MED(MULTI_EXIT_DISC)属性については値が【エ】経路を優先する。』とあり、こちらは『エ:小さい』が入ります。
BGPの最適パスアルゴリズム(優先経路)を決める属性はいくつかあります。
各評価基準で優先されるものが、最適パスとしてルーティングテーブル上に乗ります。
同じ値の場合は次の評価基準で評価が行われます。
評価基準はたくさんありますが、個人的によく使うものは優先度の数字を赤く塗っているものかと思いますので、ここらへんに関しては覚えておくとよいかと思います。
今回は業界標準の『Cisco社の最適パスアルゴリズム』を参考にしております。
優先度が一番高いWeightに関しては、Cisco独自とありますが、他のメーカーでも使用することができる場合が多いです。
大きい違いはないかと思いますが、細かい点で評価基準が異なる場合がありますので、各メーカーのマニュアルなどをご参照ください。
設問2 (2)
下線②として、『E社のあるPOPからゲーム端末へのトラフィックの経路は、そのPOPのBGPルータが受け取るAS Path長によって選択される。』とあります。
図2と確認しますと、AS-GからAS-E東京POPへは、AS-G→AS-F→AS-Eと、AS-G(→IX)→AS-Eという2つの経路が存在します。
AS-Eから見たときに前者はASを2つ(AS-G→AS-F)、後者はASが1つです(AS-G)。
設問2 (1)で少し触れましたが、AS_PATHは短い方が優先経路となるので、AS-G(→IX)→AS-Eという経路で通信が行われると考えられます。
ということで解答は、『IX』と考えることができます。
設問2 (3)
下線③として、『隣接ASのBGPルータとMD5認証のための共通のパスワードを設定』とあります。
BGPピア(ネイバー)を確立するためには、相手のAS番号とIPアドレスを指定し、お互いにそれらが一致している必要があります。
ここに加えてパスワードを設定することができ、パスワードを設定した場合は、対向機器とパスワードが一致している必要があります。
パスワードを設定する理由はサイトにログインするときと同じで、不正にログインされたくないからです。
ということで解答例は、『不正なBGPピア確立(10文字)』を防ぐためと考えることができます。
設問2 (4)
下線④として、『アドレスブロックやAS番号を偽った不正な経路情報を受け取らないための経路フィルタリングを行っている』とあります。
不正な経路に含まれるアドレスブロック(グローバルIP)あり、その不正な経路が優先される場合、正規の通信が不正なルータ宛にルーティングされてしまうため、その宛先に配信が行えなくなります。
ということで、解答例は『不正な経路に含まれるアドレスブロックへのコンテンツ配信が行えなくなること(36文字)』と考えることができます。
設問3 (1)
RTBH方式は、『DDoS検知サーバは、検知したDDoS攻撃の宛先IPアドレスへのホスト経路を生成しRTBH方式の対象であることを示すBGPコミュニティ属性を付与して各BGPルータに経路広告する。RTBH方式の対象であることを示すBGPコミュニティ属性が付いたホスト経路を受け取った各BGPルータは、そのホスト経路のネクストホップを廃棄用インタフェース宛てに設定することで、DDoS攻撃の宛先IPアドレス宛ての通信を廃棄する。』とあります。
つまりは、RTBH方式でHTTPS Flood攻撃を防ぐ場合はBGPルータ1で防ぐことになります。
図3を見ますと、各BGPルータがルータに接続されており、そしてFW1があります。
FW1でフィルタリングを行う場合はルータまで攻撃(トラフィック増)が届くことになり、FW2側などにも影響があることが考えられます。
一方でBGPルータ1で防ぐことができれば、E社POP内の他の機器にトラフィック増の影響を及ぼすことはありません。
ということで解答例としては、『他の機器にトラフィック増加の影響を及ぼすことがないこと(27文字)』と考えることができます。
設問3 (2)
下線⑤としては、『BGP Flowspec方式の方が有用である』とあります。
設問3 (1)で軽く触れましたが、RTBH方式ではDDoS攻撃の宛先IPアドレスへのホスト経路を生成して、そのホスト経路のネクストホップを廃棄用インタフェース宛てにして、DDoS攻撃を廃棄していました。
BGP Flowspec方式は『DDoS検知サーバからのiBGPピアリングで、DDoS攻撃の宛先IPアドレスだけではなく、DDoS攻撃の送信元IPアドレス、宛先ポート番号などを組み合わせてBGPルータに広告して該当の通信をフィルタリングすることができる。』とあります。
つまりは、RTBH方式では宛先IPアドレスだけを対象とし、BGP Flowspec方式では宛先IPアドレス以外にも、送信元IPアドレスや宛先ポート番号などのより細かい条件で対象を指定することができます。
ということで解答例としては、『RTBH方式よりも細かい条件で制御を行うことができるから(28文字)』と考えることができます。
公式解答例との比較
私の解答と公式解答を比較してみました。
満点ではないにせよ、少なくとも7割~8割程度は取れているかと思います。
予想配点はあくまで予想ですので参考程度でお願いします。
出題テーマは『LB・BGP・DDoS対策』でした。
LB・BGPに関しては基本的な知識が必要でした。
特にBGPに関しては最適パスアルゴリズムが問われていましたので、実案件的にも重要なところではあるのですが、細かいところが出題されたなと思います。
DDoS対策に関しては問題文中のヒントから解答することができました。
一見するとRTBH方式やBGP Flowspec方式という単語を聞いたことがないかもしれませんが、こういった問題文中を読めば解答することができる問題もありますので、諦めずにしっかりと問題文を読み込むようにしましょう。
難易度としては普通~やや難しい程度だったと思います。
配点 |
|||
設問1 (1) | ICMP Echoの応答があるが、HTTPサーバのプロセスに障害が発生している場合に検知できない問題(50文字) | ICMP Echoに応答するがHTTPサーバのプロセスが停止している状態を検知できない。 | |
設問1 (2) | ア:最小接続数方式 イ:172.22.1.0/24 |
ア:最小接続数方式 イ:172.22.1.0/24 |
|
設問1 (3) | LB | LB | |
設問2 (1) | ウ:大きい エ:小さい |
ウ:大きい エ:小さい |
|
設問2 (2) | IX | IX | |
設問2 (3) | 不正なBGPピア確立(10文字) | 不正なBGP接続 | |
設問2 (4) | 不正な経路に含まれるグアドレスブロックへのコンテンツ配信が行えなくなること(35文字) | 不正な経路に含まれるアドレスブロックへのコンテンツ配信ができなくなる。 | |
設問3 (1) | 他の機器にトラフィック増加の影響を及ぼすことがないこと(27文字) | 攻撃パケットを攻撃元に近いところで遮断できる。 | |
設問3 (2) | より細かい条件で制御を行うことができるから(21文字) | より細かい条件で選別して破棄することができる。 |
引用元
問題および解答例に関しては、『独立行政法人 情報処理推進機構(IPA)』より引用しています。
YouTube解説動画
鋭意作成中につき少々お待ち下さい。
`