【NW】3/27~4/2の過去問振り返り

仕事はようやく落ちついてきたのですが、代わりにやる気が底です……。頑張る、来週こそは……。
あとIPAのサイトが変わってましたが、まだ慣れません。

2018(H30) 秋 午後Ⅱ 問1

問題はこちらから(IPA 平成30年度秋期試験 問題冊子・解答例・採点講評・配点割合)。
本文・問題文の読み違いが目立ちました……。凡ミスってどうしたらなくなるんだろう。

MQTTとは

Message Queuing Telemetry Transportの略。HTTPと比べて軽量(ヘッダが2バイト)、消費電力が少ないというIoTに適した特徴を持ちます。また双方向通信が可能です。
publish/subscribeモデルによるメッセージ配信を行っています。これは、送信側をpublisher、受信側をsubscriberとし、その通信をMQTTサーバが中継するというものです。

設問1 (2)

侵入及びなりすまし対策として、通信装置内のFWを使った対策を答える問題。

本文中に、「工場内の機器とX社内の機器との通信は、いずれもクライアントサーバ型の通信であり、機器間のTCPコネクションの確立要求は、工場からX社の方向に行われる」とあります。応答の通信はステートフルインスペクション機能などを利用すれば許可できるため、工場からX社へのTCPコネクションだけを許可すれば良さそうです。

よって解答は「X社が運用・保守を行う機器からX社FWの方向に確立されるTCPコネクションだけを許可する」です。
X社からの通信だけを通せるようにするのかと思いましたが、コネクション要求さえ通せば応答はステートフルインスペクションで通せるとは気づきませんでした。行う通信が明確な以上、可能な限り通信を制限した方がセキュリティ的には良いですしね。

設問1 (3)

侵入及びなりすまし対策として、TLSの機能を使った、デバイスおよびエッジサーバに関する対策を答える問題。

(2)に対して、こちらはなりすまし対策です。X社内の機器にコネクションの確立要求をしてくる機器が顧客かどうかを確認する必要があります。
この確認方法についてですが、問題文に『TLSの機能を使った』という記述があります。また、下線部②の上部に、TLSには通信相手を認証する機能がある旨が記載されています。これは証明書を利用した認証です。今回の認証対象はクライアントなので、クライアント証明書を用いてクライアント認証を行います。

よって解答は「クライアント証明書を配布してクライアント認証を行う」です。
クライアント証明書が出てこなかったな、と思ったら問題文にTLSの機能を使った対策とあり……。見落としがなくならないなあ……。

設問2 (1)

QoSレベルが0の場合、TCPの再送機能だけではメッセージの消失が防げない場合を答える問題。

TCPには再送機能がありますが、これはTCPコネクションが繋がっていればの話であり、TCPコネクションが切断されると再送機能は働きません。
また本文p7に以下の記述があります。
「交換サーバからデバイスDiへのPUBLISh送信中にデバイスDiが電源断などで非稼働になった場合、そのPUBLISHは、交換サーバの中に保存され、稼働再開後に再送される。」こちらの処理はQoSレベルが2の時のものです。

よって解答は「TCPの送信処理中に、デバイスの電源断などでTCPコネクションが解放された場合」です。
本文中の記述が引っ掛かりはしたのですがやはりそこだったんですね。切断されてしまうと再送機能は意味をなさないと。

設問2 (2)

PUBRELを受信するまでメッセージ処理を保留する理由を答える問題。

通信シーケンスは、PUBLISH → PUBREC → PUBREL → PUBCOMPという順に行われます。
メッセージ送信者がメッセージ受信者からのPUBRECを受け取れなかった場合、メッセージ送信者はPUBLISHで再度送信する可能性があります。

よって解答は「メッセージの重複を防止する」です。
これは全然わかりませんでした。

設問3 (1)

穴埋め。ス.
図6を見てみると、(ⅲ)では、アクセストークンの認証期間が切れても、リフレッシュトークンの有効期間内であれば、再認証なしでアクセストークンが取得できます。よってリフレッシュトークンです。
いくらなんでも解答に「認証」が多すぎるな、と思いはしたのですが。アクセストークンとリフレッシュトークンの2段構えということをよく理解できてなかったです。

設問4 (2)

顧客FWについて、Xシステムとの接続のために、新たに許可が必要になる通信を答える問題。

図8を見ると、顧客FWは顧客ネットワーク内にあります。
顧客サーバはMQTTクライアントとして新たにエッジサーバと通信を行うようになります。これは、顧客サーバ→顧客FW→NATルータ→エッジサーバという流れ(一部機器略)ですので、この通信を許可する必要がありそうです。MQTTクライアントはMQTTサーバのTCP 8833番ポートにアクセスする旨が問題中に記載されているので、そのことを含めれば通信が明確にできそうです。

よって解答は「顧客サーバ-P’からNATルータ-P’のポート8883番への通信」です。
通信装置内のFWと勘違いしました……。

設問4 (4)

顧客サーバを1台追加する場合、Xシステム側で必要となる対応を2つ答えます。

顧客ネットワークとXシステムで通信するために、境界にNATルータが設置されアドレス変換が行われています。この変換は1:1のため、新たに変換対象の機器を追加した場合変換設定の追加が必要です。
よって一つ目は「1:1静的双方向NATの設定をNATルータに追加する」です。

二つ目ですが、設問1(2)で解答した通り、通信装置内のFWでは必要なTCPコネクションのみを許可するようにしています。それでは顧客サーバからエッジサーバへの通信ができません。そのため追加した顧客サーバからの通信を許可する設定を追加する必要があります。
よって「通信を許可するルールを通信装置内のFWに追加する」です。

NATに関しては分かったのですが、二つ目が分かりませんでした。
通信装置内のFWのルールもおそらく顧客FWと同様送信元を特定の顧客サーバに固定しているでしょうから、顧客サーバを追加したら別途ルールの追加が必要だということでしょう。

2018(H30) 秋 午後Ⅱ 問2

上記と同問のためURLは略。
記述が難しかったなあ……。

設問1

穴埋め。どれも全然分からなかった……。

ア.
複数のL2SWを一つのL2SWとして扱う冗長化方式としてスタック接続があります。よって解答はスタック
VRRPかと思ったのですが、こちらはレイヤ3(ルータ、L3SW)の冗長化で使用するようです。まあ『Virtual Router Redundancy Protocol』の略ですしね。

イ.
仮想FWの冗長化について。
FWで保持しているセッション情報を、冗長化している他のFWに引き継ぐ機能のことを、ステートフルフェールオーバといいます。よって解答はステートフル

ウ.
LBが負荷分散対象のサーバ群(クラスタグループ)それぞれに対して仮想IPアドレスと『(ウ)アルゴリズム』を設定できるため、複数の顧客の処理を1台でできるという部分。解答は負荷分散
LBだから負荷分散というだけの話だったんですね。アルゴリズムと付いていたので何か特殊な用語かと思ったのですが。

設問2 (2)

アクティブのFWをFWaからFWbに切り替えるために、FWaまたはFWbが監視する内容を答える問題。

切り替えが生じるのは、アクティブのFWが使用できなくなった場合ですが、その場合というのは機器自体がダメになるか、隣接機器との通信ができなくなるかです。
したがって今回監視が必要なのは以下というところまでは分かりました。
・FW自体が生きているか
・L2SWとの通信が生きているか
・LBとの通信が生きているか
でもこれをどう記述すればいいかが分からず……。

解答のうち、自分の言いたかったものを抜き出すと以下です。
FWbによるFWaの稼働状態
FWaによるL2SWaへの接続ポートのリンク状態
FWaによるLBaへの接続ポートのリンク状態
監視している機器(FWaまたはFWb)が必要だったんですね。
またポートのリンク状態というのは、リンクアップ(別の機器と通信できる状態)しているか、リンクダウン(別の機器と通信できない状態)しているかという意味です。通信可能な状態かということを言いたい時に使用できそうですね。

設問2 (3)

L2SWcとL2SWdについて、仮想サーバの物理サーバ間移動に必要となるVLANを設定するポートとその内容を答える問題。全然分からず。

従来方式での構成案では、顧客ごとにVLANを分けるという話でした。仮想サーバにも、顧客に応じたVLANが付与されているでしょう。どの物理サーバに、どの顧客(VLAN)の仮想サーバがあるかは分かりません。そのため、取りうるVLAN IDを全てポートに設定する、つまり全ての仮想サーバに設定されたVLAN IDを物理ポートとの接続ポートに設定する必要があります。

よって解答は「物理サーバの接続ポートに、全ての顧客の仮想サーバに設定されたVLAN IDを設定する」です。
どのVLANとも通信できるように、複数のVLANに属するポート、トランクポートにするってことだったんですね。今更だけどVLANのパケットを通すには通過するポートにそのVLAN IDを付与する必要があるってことですよね?

設問3

OFSの導入時、OFCとTCPコネクションの確立に必要な最小限の情報を答えます。

TCPコネクションを確立する際に必要な情報はIPアドレスとポート番号です。
が、OpenFlowプロトコルでは、OFSからOFCへ接続する際のポート番号は6653番と決まっているため、特に設定しなおす必要はありません。

よって解答は「OFCのIPアドレス」です。
IPだけでよかったのね……。
なお、OFCからOFSへ接続を確立することも可能なため、「自OFSのIPアドレス」でも正解のようです。

設問4 (2)

従来方式において、顧客追加時にポートVLANを設定する必要がある箇所を図2中の名称を用いて答える問題。

ポートVLANということは、そのポートで隣接する機器とやりとりするパケットのVLANが一意であるということです。サービス基盤内は複数の顧客のパケットが流れ、VLANは一意にならないため違いそうです。
となると、残るのは顧客と繋がるL2SWおよびL3SWです。ポートはそれぞれ特定の顧客とだけつながるため、ポートVLANを設定するのに良さそうです。

よって解答は「顧客のL2SW叉はL3SWに接続する、L2SWa及びL2SWbのポート」です。
サービス基盤内じゃないとこまではあってましたが。物理サーバ内(仮想L2SWと仮想サーバ間)にはポートVLANって別にいらないんですかねえ。

設問5 (1)

図4の仮想サーバの配置だと起こりえる問題と、その問題を発生させないための仮想サーバの配置を答える問題。

図4の配置は、物理サーバ1にP社とQ社、物理サーバ2にZ社向けのWebサーバや業務サーバ、物理サーバ3に3社のFWやLBがあるというものです。物理サーバ1や2の故障では3社全てが影響を受けるわけではないですが、物理サーバ3の故障では3社全てのシステムが影響を受けます。
よって生じる問題は、「物理サーバ3の障害によって、3顧客のシステムが同時に停止してしまう」です。

解決するための配置ですが、問題が発生するのはすべての顧客の仮想サーバが一つの物理サーバに乗っているせいです。そのため仮想サーバを顧客ごとに分散して配置すれば、3顧客のシステムがすべて停止する事態は避けられます。
よって「3顧客向けの仮想サーバを、それぞれ異なった物理サーバに配置する」です。

物理サーバの故障によってシステムが停止するという考え自体は合ってましたが、物理サーバ1と2を見て、ある顧客のサーバを複数のサーバに分散する方に考えてました。全ての顧客のシステムが停止する方が問題でしょうし、物理サーバ3を完全に無視していた点がダメでした。

設問5 (2)

FWpとLBp間の通信がFエントリなしでも行われる理由を答える問題。

FWpとLBpは仮想L2SW下の機器なので、OFS(Fエントリ)を通る必要はなさそう、というところまでは分かりました。でもなぜL2SW下の2機器が通信できるのか、という部分が足りてなかったです。

解答は「FWpの内部側ポートとLBpの仮想IPアドレスをもつポートは、同一セグメントであり、物理サーバ3内で処理されるから」です。
上述もしましたが、FWpとLBpが同一セグメントである旨は必須でしょうね。

設問5 (3)

P社のWebサーバ利用者から送信されたWebサーバ宛てのユニキャストパケットの流れの穴埋め。
Fテーブルとその項番を答えます。

OFSから物理サーバ3へ送信されるからオはFテーブル1の項番2、LBからは物理サーバ1へ送信されるからキはFテーブル4の項番6は分かりました。そしてカが余ってしまった……。

問題を読むと「OFSにパケットが入力されると、OFSは表4のFテーブル0の処理を最初に実行する」とあります。つまり、Fテーブル4の前にFテーブル0の処理が来ます。物理サーバ3からのパケットの入力ポートはp13なので、Fテーブル0の項番6の処理が行われます。

Fテーブル0に気付かず……。オの前にもちゃんとFテーブル0の処理をしているのに……。注意力が足りない。

振り返り

既に何度も言及していますが、知識不足ではなくちゃんと設定や条件を読み取れていない故のミスが目立ちました。問題文は5回ぐらい読み直して、重要な部分に〇をするとかしか対策が思いつきませんが、とにかく凡ミスを減らしたいですね……。

のこり2週間ですが、頑張りましょう!

コメント

タイトルとURLをコピーしました