やさしいネットワークとセキュリティ

情報処理安全確保支援士、ネットワークスペシャリスト、技術士として、資格取得を目指す方に有益な情報を発信します。

WAF

 WAFの特徴、背景、過去問例です。

【特徴】

  • WAF(Web Application Firewall)
  • Webアプリケーションの脆弱性を狙う攻撃からWebアプリケーションを保護するセキュリティ対策の一つで、Webサーバの防御に特化したファイアウォールのこと。

  •  Webサーバにアクセスするデータの内容を監視し、外部からWebアプリケーションプログラムへの攻撃を検知、防御する。

  • アプリケーション層で動作するファイアウォールであり、Webサーバへの通信を監視して、ログとして保管する。
  • あらかじめ登録された不審なアクセスのパターンを検知したり、データ中に個人情報など特定のパターンを発見して、ブロックすることもできる。
  • 導入形態には、専用ハードウェア、ゲートウェイなどのサーバ上で動作させるソフトウェア、Webサーバ自体に実装するモジュールなどがある。
  • 動作モードには、リバースプロキシとして動作するもの、アクセスを透過するものがある。
  • WebアクセスがSSL/TLSで暗号化されていると通信内容を解析できないため、WAF自身がTLS通信を終端、復号してから解析するものもある。

【背景】

  • Webアプリケーションには脆弱性が存在する場合があり、攻撃者がこれを悪用して遠隔操作や窃取などの不正アクセスを行う場合がある。(例えば、クロスサイトスクリプティングやSQLインジェクションなどによる攻撃) 本来は、Webアプリケーション側で脆弱性の修正で対処することが望ましいが、即時に対応できない場合が多いのが実情である。
  • WAFは、Webアプリケーションの実装面の根本的な対策ではなく、攻撃による影響を低減するための対策という位置付けのものである。

【過去問】

平成29年度 秋期 ネットワークスペシャリスト試験

WAFの説明はどれか。

ア Webアプリケーションへの攻撃を監視し阻止する。

イ Webブラウザの通信内容を改ざんする攻撃をPC内で監視し検出する。

ウ サーバのOSへの不正なログインを監視する。

エ ファイルのマルウェア感染を監視し検出する。

【出典:ネットワークスペシャリスト試験 平成29年度 秋期 午前1 問15】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29_2/2017h29a_koudo_am1_qs.pdf

ア (正解)Webアプリケーションへの攻撃を監視し阻止する。

 WAFの説明です。

イ Webブラウザの通信内容を改ざんする攻撃をPC内で監視し検出する。

 Webブラウザの通信内容を改ざんする攻撃としては、MITB(Man In The Browser)が相当します。

 PC内にマルウェアとして潜入して、オンラインバンキングなどの操作を乗っ取ったりして、振り込み口座などを変更したりする攻撃があります。

 利用者にとっては気付きにくい攻撃ですが、暗号化や認証などの対策を行います。

ウ サーバのOSへの不正なログインを監視する。

 サーバ本体のOSへのログインを監視するには、侵入検知システム(IDS(Intrusion Detection System))侵入防止システム(IPS(Intrusion Prevention System))などを利用します。

エ ファイルのマルウェア感染を監視し検出する。

 ファイルのマルウェア感染を監視・検出するのは、ウィルス対策ソフトアンチウィルスソフトと呼ばれるものです。

 マルウェアの検出には、コードの一部などパターンファイルでのマッチングによるものと、ヒューリスティック法という通常のファイルとは異なる挙動を検出する方法があります。

サイバーレスキュー隊(J-CRAT)

 サイバーレスキュー隊(J-CRAT)の特徴、過去問例です。

【特徴】

  • J-CRAT(Cyber Rescue and Advice Team against targeted attack of Japan)
  • IPAが2014年に発足させた組織
  • 標的型サイバー攻撃特別相談窓口を設置して、広く一般からの相談や情報提供を受け付けている
  • 標的型サイバー攻撃の情報分析として、攻撃の把握、被害の分析を行い、対策の早期着手の支援を行うことを役割とする

【過去問】

平成29年度 秋期 ネットワークスペシャリスト試験

サイバーレスキュー隊(J-CRAT)の役割はどれか。

ア 外部からのサイバー攻撃などの情報セキュリティ問題に対して、政府横断的な情報収集や監視機能を整備し、政府機関の緊急対応能力を図る。

イ 重要インフラに関わる業界などを中心とした参加組織と秘密保持契約を締結し、その契約の下に提供された標的型サイバー攻撃の情報を分析及び加工することによって、参加組織間で情報共有する。

ウ セキュリティオペレーション技術向上、オペレータ人材育成、及びサイバーセキュリティに関係する組織・団体間の連携を推進することによって、セキュリティオペレーションサービスの普及とサービスレベルの向上を促す。

エ 標的型サイバー攻撃を受けた組織や個人から提供された情報を分析し、社会や産業に重大な被害を及ぼしかねない標的型サイバー攻撃の把握、被害の分析、対策の早期着手の支援を行う。

【出典:ネットワークスペシャリスト試験 平成29年度 秋期 午前1 問14】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29_2/2017h29a_koudo_am1_qs.pdf

ア 外部からのサイバー攻撃などの情報セキュリティ問題に対して、政府横断的な情報収集や監視機能を整備し、政府機関の緊急対応能力を図る。

 これは、内閣サイバーセキュリティセンター(NISC:National center of incident readiness and Strategy for Cybersecurity)の説明です。

 NISCは、日本のサイバー攻撃対策の中心となる司令塔の役割を担う組織で、2000年に元となる組織が設立され、2015年に現在の体制になっています。

www.nisc.go.jp

イ 重要インフラに関わる業界などを中心とした参加組織と秘密保持契約を締結し、その契約の下に提供された標的型サイバー攻撃の情報を分析及び加工することによって、参加組織間で情報共有する。

 これは、サイバー情報共有イニシアティブ(JーCSIP:Initiative for Cyber Security Information sharing Partnership of Japan)の説明です。

 JーCSIPは、IPAが経済産業省の協力のもと、2011年に発足させた組織です。 

www.ipa.go.jp

ウ セキュリティオペレーション技術向上、オペレータ人材育成、及びサイバーセキュリティに関係する組織・団体間の連携を推進することによって、セキュリティオペレーションサービスの普及とサービスレベルの向上を促す。

 これは、日本セキュリティオペレーション事業者協議会(ISOG-J:Information Security Operation providers Group Japan)の説明です。

isog-j.org 

エ (正解)標的型サイバー攻撃を受けた組織や個人から提供された情報を分析し、社会や産業に重大な被害を及ぼしかねない標的型サイバー攻撃の把握、被害の分析、対策の早期着手の支援を行う。

 サイバーレスキュー隊(J-CRAT:Cyber Rescue and Advice Team against targeted attack of Japan)の説明です。

 J-CRATは、IPAが経済産業省の協力のもと、2014年に発足させた組織です。

www.ipa.go.jp

共通鍵暗号方式、公開鍵暗号方式

 共通鍵暗号方式、公開鍵暗号方式の特徴、過去問例です。

【共通鍵暗号方式の特徴】

  • 暗号化と復号化に同じ鍵を使用する
  • 送信側ではメッセージと鍵を元に暗号アルゴリズムによる演算をして暗号文を生成する
  • 受信側では暗号文に対して、同じ鍵で逆方向の演算を行い復号する
  • 元のデータに対し、64/128/256ビットなどのブロック単位に暗号化するブロック暗号、1ビット単位で暗号化するストリーム暗号がある
  • 共通鍵暗号方式の代表として、1977年に米政府標準となったDES(64ビットのブロック暗号)、2000年に米政府標準となったAES(128ビットのブロック暗号)、ストリーム暗号のRC4がある
  • 鍵を安全に共有する方法が課題であり、通信先が多数の場合、共通鍵を共有するとリスクが高まり、共通鍵を個々に準備するとコストがかかる
  • 公開鍵暗号方式に比べ処理が高速であるため、共通鍵の交換に公開鍵暗号方式、メッセージやり取りに共通鍵暗号方式を用いるハイブリッド暗号方式が用いられる場合が多い

【公開鍵暗号方式の特徴】

  •  対になる二つの鍵、つまり暗号化で用いた鍵による暗号文は、対になる鍵でしか復号できないことを利用して暗号化・復号化を行う
  • 暗号化に公開鍵、復号化に秘密鍵を用いて、誰でも暗号化できるが、秘密鍵を持つ人にしか復号できない
  • 公開鍵から秘密鍵を割り出すのは極めて困難
  • 公開鍵暗号方式の代表としてRSAがあり、これは巨大な素数同士を掛け合わせた整数を素因数分解するのが困難であることを利用したもの

【過去問】

平成29年度 秋期 ネットワークスペシャリスト試験

暗号方式に関する記述のうち、適切なものはどれか。

ア AESは公開鍵暗号方式、RSAは共通鍵暗号方式の一種である。

イ 共通鍵暗号方式では、暗号化及び復号に同一の鍵を使用する。

ウ 公開鍵暗号方式を通信内容の秘匿に使用する場合は、暗号化に使用する鍵を秘密にして、復号に使用する鍵を公開する。

エ ディジタル署名に公開鍵暗号方式が使用されることはなく、共通鍵暗号方式が使用される。

【出典:ネットワークスペシャリスト試験 平成29年度 秋期 午前1 問13】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29_2/2017h29a_koudo_am1_qs.pdf

ア AESは公開鍵暗号方式、RSAは共通鍵暗号方式の一種である。

 AES(Advanced Encryption Standard)は共通鍵暗号方式、RSA(Rivest-Shamir-Adleman cryptosystem)は公開鍵暗号方式です。

イ (正解)共通鍵暗号方式では、暗号化及び復号に同一の鍵を使用する。

 共通鍵暗号方式の説明です。 

ウ 公開鍵暗号方式を通信内容の秘匿に使用する場合は、暗号化に使用する鍵を秘密にして、復号に使用する鍵を公開する。

 暗号化に使用する鍵は公開して、復号に使用する鍵は秘密にします。

 公開鍵暗号方式をディジタル署名に使用する場合は、秘密鍵を用いて署名し、受信側は署名者の公開鍵で署名の検証を行います。

エ ディジタル署名に公開鍵暗号方式が使用されることはなく、共通鍵暗号方式が使用される。

 ディジタル署名とは、メッセージの真正性を証明するために付加される暗号データのことで、これにより送信者が本人であることやメッセージが改ざんされていないことを確認できます。

 ディジタル署名は、公開鍵暗号方式を応用して、本人しか知らない秘密鍵とメッセージから演算された暗号データを付加してやり取りされます。

ドライブバイダウンロード

 ドライブバイダウンロード(drive-by download)の特徴、過去問例です。

【特徴】

  • 不正アクセスの手法の一つ
  • Webサイトなどに不正なプログラムなどを配置し、閲覧者がアクセスすると気付かないうちに自動でダウンロードして実行させる攻撃
  • 不正なプログラムはコンピュータウィルスや遠隔操作が可能なマルウェアであり、閲覧者のコンピュータで起動すると、データ破壊やバックドアとして潜伏し、他のコンピュータへのマルウェア感染拡大を行う
  • 攻撃に利用されるWebサイトは攻撃者のWebサイトとは限らず、一般のWebサイトにマルウェアやスクリプトが仕込まれることで攻撃者のサイトに誘導されたりする場合がある

【過去問】

平成29年度 秋期 ネットワークスペシャリスト試験

ドライブバイダウンロード攻撃の説明はどれか。

ア PCにUSBメモリが接続されたとき、USBメモリに保存されているプログラムを自動的に実行する機能を用いてマルウェアを実行し、PCをマルウェアに感染させる。

イ PCに格納されているファイルを勝手に暗号化して、復号することを引換えに金銭を要求する。

ウ 不正にアクセスする目的で、建物の外部に漏れた無線LANの電波を傍受して、セキュリティの設定が脆弱な無線LANのアクセスポイントを見つけ出す。

エ 利用者がWebサイトを閲覧したとき、利用者に気付かれないように、利用者のPCに不正プログラムを転送させる。

【出典:ネットワークスペシャリスト試験 平成29年度 秋期 午前1 問12】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29_2/2017h29a_koudo_am1_qs.pdf

ア PCにUSBメモリが接続されたとき、USBメモリに保存されているプログラムを自動的に実行する機能を用いてマルウェアを実行し、PCをマルウェアに感染させる。

 USBメモリに保存されているプログラムを自動的に実行する機能は、USB Autorun攻撃やUSB Autoplay攻撃と呼ばれるものです。

 USBメモリのドライブルート(最上位フォルダ)にある「autorun.inf」 というテキストファイルで起動するプログラムを指定します。

 このオートラン機能でインストーラを自動的に実行させたりすることに利用します。

 USBメモリを介してPCをマルウェアに感染させるには、このオートラン機能を悪用します。

イ PCに格納されているファイルを勝手に暗号化して、復号することを引換えに金銭を要求する。

 これはランサムウェア(ransomware)の説明です。 ランサムは「身代金」のことです。 

ウ 不正にアクセスする目的で、建物の外部に漏れた無線LANの電波を傍受して、セキュリティの設定が脆弱な無線LANのアクセスポイントを見つけ出す。

 これはウォードライビング(War Driving)と呼ばれるもので、車などで移動しながら脆弱な無線LANのアクセスポイントを探していくものです。

エ(正解) 利用者がWebサイトを閲覧したとき、利用者に気付かれないように、利用者のPCに不正プログラムを転送させる。

ドライブバイダウンロード攻撃の説明です。 

 Webサイトは攻撃者が用意したものとは限らず、通常のサイトの脆弱性を利用して不正プログラムを仕掛けておくこともあります。

 

CSMA/CD

 CSMA/CD(Carrier Sense Multiple Access with Collision Detection(搬送波感知多重アクセス/衝突検出))の特徴、過去問例です。

【特徴】

  • 媒体共有型ネットワークで発生する伝送路上での衝突を前提とした通信制御方式
  • イーサネットが採用している通信手順
  • 各ノードがフレームを送信する時に、伝送路上に他ノードの通信キャリア(搬送波)が存在しているかを確認し、存在しなければデータを送信する
  • 他ノードが同時にフレームを送信した場合、伝送路上で衝突(コリジョン)が発生する
  • コリジョンを検出したノードはジャム信号を送信し、衝突の発生を全てのノードに知らせると共に、自身も送信を中断し、ノードごとに異なる時間(バックオフ時間)待ち合わせた後、再度送信を試みる
  • コリジョンの頻度が増すと、再送によるフレームの送信が多発し、スループットが下がる
  • 一般的に、伝送路の使用率が30%を超えると急激に送信遅延時間が長くなり、実用的でなくなる

【過去問】

平成29年度 秋期 ネットワークスペシャリスト試験

CSMA/CD方式に関する記述のうち、適切なものはどれか。

ア 衝突発生時の再送動作によって、衝突の頻度が増すとスループットが下がる。

イ 送信要求が発生したステーションは、共通伝送路の搬送波を検出してからデータを送信するので、データ送出後の衝突は発生しない。

ウ ハブによって複数のステーションが分岐接続されている構成では、衝突の検出ができないので、この方式は使用できない。

エ フレームとしては任意長のビットが直列に送出されるので、フレーム長がオクテットの整数倍である必要はない。

【出典:ネットワークスペシャリスト試験 平成29年度 秋期 午前1 問11】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29_2/2017h29a_koudo_am1_qs.pdf

ア(正解) 衝突発生時の再送動作によって、衝突の頻度が増すとスループットが下がる。

 CSMA/CD方式に関する記述です。

イ 送信要求が発生したステーションは、共通伝送路の搬送波を検出してからデータを送信するので、データ送出後の衝突は発生しない。

 共通伝送路の搬送波を検出するとデータを送出しませんが、検出せずデータを送出した場合でも、タイミングによっては伝送路上で衝突(コリジョン)が発生することがあります。

ウ ハブによって複数のステーションが分岐接続されている構成では、衝突の検出ができないので、この方式は使用できない。

 CSMA/CD方式は、ハブにより分岐接続されたLANでも使用できます。

 衝突の検出(コリジョン)が発生するとケーブル内の電圧が上がりイーサネット内に電気信号で伝わります。これをジャム信号と言います。

 ハブは受信した信号を電気的に処理しますが、宛先などを認識しないため、受信した信号をそのまま全てのポートに送信します。

 したがって、ジャム信号はハブを介して全てのステーションに送信され、衝突を検出することができます。

エ フレームとしては任意長のビットが直列に送出されるので、フレーム長がオクテットの整数倍である必要はない。

 イーサネットのフレームフォーマットの主要な項目は以下の通りで、オクテット(8ビット)単位になっている必要があります。

  • プリアンブル:8オクテット(64ビット)
  • 宛先アドレス:6オクテット(48ビット)
  • 送信元アドレス:6オクテット(48ビット)
  • VLANタグ:4オクテット(32ビット)
  • 長さ/タイプ:2オクテット(16ビット)
  • データ:46〜1500オクテット
  • FCS:4オクテット(32ビット)

 データ部分が任意ですが、46オクテットに満たない場合は、パディングデータを付加して46オクテットにします。

 これはフレーム長(プリアンブルを除く、宛先アドレス部からFCS部まで)が64オクテット以上になるようにするためであり、これにより衝突検出を確実に行うことができます。

OpenFlowにおけるフローテーブルに基づくデータ転送【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-5】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「OpenFlowにおけるフローテーブルに基づくデータ転送」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-5」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-5

問2 サービス基盤の構築に関する次の記述を読んで、設問1~5に答えよ。

(略)

【技術習得を目的とした制御方式の設計】

 テストシステムの構築に当たって、N主任とJさんの2人は最初に、OFの技術習得を目的として、MACアドレスの学習によるパケットの転送制御方式を考えることにした。

 テストシステムは、図1中のP社、Q社及びZ社の3顧客向けのシステムを収容した構成である。テストシステムの構成を図4に、テストシステム中の機器と仮想サーバのMACアドレスを表2に示す。

f:id:aolaniengineer:20200807041911p:plain

f:id:aolaniengineer:20200807041940p:plain

 図4に示したように、P社にはVLAN IDに100、110、120、Q社にはVLAN IDに200、210、Z社にはVLAN IDに300、310を、それぞれ割り当てる。各顧客のWebサーバと業務サーバ間の通信は発生しない。

 2人は、Fテーブルの構成について検討した。Fテーブルは、OFSのデータ転送動作を確認しやすくするために、最初に処理されるFテーブル0と、パケットの入力ポートに対応して処理されるFテーブル1~4の五つの構成とした。2人がまとめた、五つのFテーブルの役割を表3に示す。

f:id:aolaniengineer:20200807042132p:plain

 Fテーブルは、複数のフローエントリ(以下、Fエントリという)からなる。

 Fエントリは、OFSに入力されたパケットがどのFエントリに一致するかを判定するためのマッチング条件、条件に一致したパケットに対する操作を定義するアクション、パケットが複数のFエントリに一致した場合の優先度などで構成される。入力されたパケットが、Fテーブル内の複数のFエントリのマッチング条件に一致した場合は、優先度が最も高いFエントリのアクションが実行される。また、どのマッチング条件にも一致しないパケットは廃棄される。一つのFエントリには、複数のアクションを定義できる。

 OFCとOFSの間では、メッセージの交換が行われる。このメッセージの中には、OFSに対してFエントリを設定するFlow-Modメッセージ、OFSが受信したパケットをOFCに送信するPacket-Inメッセージ、OFCがOFSに対して指定したパケットの転送を指示するPacket-Outメッセージなどがある。

 

 次に、2人は、3顧客で全てのサーバとの通信が正常に行われたとき(以下、正常通信完了時という)に、OFCによってOFSに生成されるFエントリを、机上で作成した。正常通信完了時のFテーブル0~4を、それぞれ表4~8に示す。

f:id:aolaniengineer:20200807042335p:plain

f:id:aolaniengineer:20200807042401p:plain

f:id:aolaniengineer:20200807042427p:plain

f:id:aolaniengineer:20200807042455p:plain

f:id:aolaniengineer:20200807042525p:plain

 

 表8中の項番2は、イーサタイプがARP、VLAN IDが100及び宛先MACアドレスがFF-FF-FF-FF-FF-FFのパケットを、VLANタグを削除してp1から出力することを示している。

 OFSにパケットが入力されると、OFSは表4のFテーブル0の処理を最初に実行する。例えば、図4中のQ社のIPsecルータからOFS1のp2にARPリクエストパケットが入力された場合、そのパケットは、表4中の項番2に一致するので、パケットにVLAN IDが200のVLANタグをセットし、次に表5のFテーブル1で定義された処理を行う。表5のFテーブル1では、項番1に一致するので、当該パケットはPacket-Inメッセージに格納されて、OFCに送信される。OFCは受信したパケットの内容を基に、Flow-ModメッセージでFエントリを生成したり、Packet-OutメッセージなどをOFSに送信したりする。

 

 N主任とJさんは、作成したFテーブルの論理チェックを行い、五つのFテーブルによってテストシステムを稼働させることができると判断した。

 パケット転送制御方式の机上作成を通してOFの動作イメージが学習できたので、次に、2人は、実際にテストシステムを構築して、動作検証と性能評価を行うことにした。

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

P社のWebサーバ利用者から送信された、Webサーバ宛てのユニキャストパケットがWebサーバp1に転送されるとき、パケットの転送は、次の【パケット転送処理手順】となる。

【パケット転送処理手順】

ルータ→L2SW→Fテーブル0、項番1→(オ)→FWp→LBp→(カ)→(キ)→Webサーバp1

 

【パケット転送処理手順】中の(オ)~(キ)に入れる適切なFテーブル名と項番を答えよ。Fテーブル名は、Fテーブル0~4から選べ。また、項番は表4~8中の交番で答えよ。ここで、パケット転送制御を行うOFSは特定しないものとする。:(オ)Fテーブル1項番2(カ)Fテーブル0項番6(キ)Fテーブル4項番6

 パケット転送処理手順を図4に照らし合わせて順番に確認していきます。

  1. P社のWebサーバ利用者から送信されたパケットがルータ→L2SW経由でOFS1p1で受信
  2. OFS1Fテーブル0(表4)を参照。「入力ポート=p1」にマッチする項番1のアクションを実施VLAN ID100のタグをセット。Fテーブル1で定義された処理を行う。」
  3. OFS1Fテーブル1(表5)を参照。L2SWから受信したフレームの宛先MACアドレスはFWpWAN側に相当する「mFWpw」です。これにマッチする項番2のアクションを実施p13から出力」
  4. FWp→LBpを経由してOFS1P13で受信
  5. OFS1Fテーブル0(表4)を参照。「入力ポート=p13」にマッチする項番6のアクションを実施Fテーブル4で定義された処理を行う。」
  6. OFS1Fテーブル4(表8)を参照。LBpから受信したフレームの宛先MACアドレスはWebサーバp1に相当する「mWSp1」、送信元MACアドレスはLBpの内部側に相当する「mLBp」です。これにマッチする項番6のアクションを実施p11から出力」
P社のWebサーバp4が物理サーバ2に移動し、表7のOFS1のFテーブル3中の項番5によって、OFCにPacket-Inメッセージが送信されると、OFCは表8のFテーブル4中の二つの項番を変更する。Fテーブル4が変更されるOFS名を全て答えよ。また、項番3のほかに変更される項番及び変更後のアクションを答えよ。:(OFS名)OFS1、OFS2(項番)7(変更後のアクション)p12から出力

 Webサーバp4が物理サーバ2に移動して通信するには、OFSがWebサーバp4宛のフレームを送信するポートを変更する必要があります。

 このため、Fテーブル3(表7)の項番5にある「eTYPE=RARP」という条件で、OFCにPacket-Inメッセージを送信してFテーブルを変更するということです。

 Fテーブル4(表8)で変更する箇所は、Webサーバp4のMACアドレスに相当する「mWSp4」がマッチする箇所になります。

 探すと項番7に「mDES=mWSp4」があり、アクションが「p11から出力」とありますので、「p12から出力」とすればいいと分かります。

仮想サーバの配置構成における停止の影響、仮想サーバ間のパケット転送制御【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-4】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「仮想サーバの配置構成における停止の影響、仮想サーバ間のパケット転送制御」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-4」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-4

問2 サービス基盤の構築に関する次の記述を読んで、設問1~5に答えよ。

(略)

【技術習得を目的とした制御方式の設計】

 テストシステムの構築に当たって、N主任とJさんの2人は最初に、OFの技術習得を目的として、MACアドレスの学習によるパケットの転送制御方式を考えることにした。

 テストシステムは、図1中のP社、Q社及びZ社の3顧客向けのシステムを収容した構成である。テストシステムの構成を図4に、テストシステム中の機器と仮想サーバのMACアドレスを表2に示す。

f:id:aolaniengineer:20200807041911p:plain

f:id:aolaniengineer:20200807041940p:plain

本番システムにおいて、図4の形態で3顧客の仮想サーバを配置した場合に発生する可能性がある問題を、40字以内で述べよ。また、その問題を発生させないための仮想サーバの配置を、40字以内で述べよ。:(発生する可能性がある問題)物理サーバ3の障害によって、3顧客のシステムが同時に停止してしまう。/(仮想サーバの配置)3顧客向けの仮想サーバを、それぞれ異なった物理サーバに配置する。

 図4の仮想サーバ配置について、問題と対策を考えます。

 3顧客のそれぞれの通信の流れをイメージして、どこか脆弱になっていないか、ボトルネックとなる箇所はないかを探します。

 そうすると、3顧客とも、Webサーバや業務サーバのある物理サーバ1、2と通信するためには、全てFWやLBがある物理サーバ3を経由するところが一番弱い箇所だと想定できると思います。

 物理サーバ3の障害によって、3顧客の通信が同時に停止してしまうことが問題です。

 3顧客の通信が同時に停止しないようにするには、どうすればいいでしょうか。

 それは、単純に考えると、それぞれの顧客の仮想サーバを異なる物理サーバに配置することですが、今度は1台の物理サーバの障害によって、1顧客の通信が停止してしまいます。

 ただ、仮想サーバは物理サーバ間を移動できるので、物理サーバが故障しても、仮想サーバが移動して通信を維持することができます。

 問題で挙げた「3顧客の通信が同時に停止」した場合には、3顧客分の仮想サーバを移動させる必要があります。

 それぞれの顧客の仮想サーバを異なる物理サーバに配置しておけば、1顧客分の仮想サーバを移動するだけで済むので、作業量や影響範囲を十分に抑えることができます。

 図4に示したように、P社にはVLAN IDに100、110、120、Q社にはVLAN IDに200、210、Z社にはVLAN IDに300、310を、それぞれ割り当てる。各顧客のWebサーバと業務サーバ間の通信は発生しない。

 2人は、Fテーブルの構成について検討した。Fテーブルは、OFSのデータ転送動作を確認しやすくするために、最初に処理されるFテーブル0と、パケットの入力ポートに対応して処理されるFテーブル1~4の五つの構成とした。2人がまとめた、五つのFテーブルの役割を表3に示す。

f:id:aolaniengineer:20200807042132p:plain

 

 Fテーブルは、複数のフローエントリ(以下、Fエントリという)からなる。

 Fエントリは、OFSに入力されたパケットがどのFエントリに一致するかを判定するためのマッチング条件、条件に一致したパケットに対する操作を定義するアクション、パケットが複数のFエントリに一致した場合の優先度などで構成される。入力されたパケットが、Fテーブル内の複数のFエントリのマッチング条件に一致した場合は、優先度が最も高いFエントリのアクションが実行される。また、どのマッチング条件にも一致しないパケットは廃棄される。一つのFエントリには、複数のアクションを定義できる。

 OFCとOFSの間では、メッセージの交換が行われる。このメッセージの中には、OFSに対してFエントリを設定するFlow-Modメッセージ、OFSが受信したパケットをOFCに送信するPacket-Inメッセージ、OFCがOFSに対して指定したパケットの転送を指示するPacket-Outメッセージなどがある。

 

 次に、2人は、3顧客で全てのサーバとの通信が正常に行われたとき(以下、正常通信完了時という)に、OFCによってOFSに生成されるFエントリを、机上で作成した。正常通信完了時のFテーブル0~4を、それぞれ表4~8に示す。

f:id:aolaniengineer:20200807042335p:plain

f:id:aolaniengineer:20200807042401p:plain

f:id:aolaniengineer:20200807042427p:plain

f:id:aolaniengineer:20200807042455p:plain

f:id:aolaniengineer:20200807042525p:plain

 

 表8中の項番2は、イーサタイプがARP、VLAN IDが100及び宛先MACアドレスがFF-FF-FF-FF-FF-FFのパケットを、VLANタグを削除してp1から出力することを示している。

 OFSにパケットが入力されると、OFSは表4のFテーブル0の処理を最初に実行する。例えば、図4中のQ社のIPsecルータからOFS1のp2にARPリクエストパケットが入力された場合、そのパケットは、表4中の項番2に一致するので、パケットにVLAN IDが200のVLANタグをセットし、次に表5のFテーブル1で定義された処理を行う。表5のFテーブル1では、項番1に一致するので、当該パケットはPacket-Inメッセージに格納されて、OFCに送信される。OFCは受信したパケットの内容を基に、Flow-ModメッセージでFエントリを生成したり、Packet-OutメッセージなどをOFSに送信したりする。

 

 N主任とJさんは、作成したFテーブルの論理チェックを行い、五つのFテーブルによってテストシステムを稼働させることができると判断した。

 パケット転送制御方式の机上作成を通してOFの動作イメージが学習できたので、次に、2人は、実際にテストシステムを構築して、動作検証と性能評価を行うことにした。

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

表8のFテーブル4中には、FWpの内部側のポートからLBpの仮想IPアドレスをもつポートに、パケットを転送させるためのFエントリが生成されない。当該FエントリがなくてもFWpとLBp間の通信が行われる理由を、70字以内で述べよ。:FWpの内部側ポートとLBpの仮想IPアドレスをもつポートは、同一セグメントであり、物理サーバ3内で処理されるから。

 FWpの内部側ポートとLBpの仮想IPアドレスをもつポートは、図4の物理サーバ3にあるように仮想L2SWを介してb(VLAN ID=110)で接続されます。

 これは同一セグメントですので、仮想L2SWを介して直接通信されることを意味しています。

 

マルチテナント環境での仮想FW・VLAN設定【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-3】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「マルチテナント環境での仮想FW・VLAN設定」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-3」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-3

問2 サービス基盤の構築に関する次の記述を読んで、設問1~5に答えよ。

(略)

f:id:aolaniengineer:20200802143340p:plain

f:id:aolaniengineer:20200805204042p:plain

 

【二つの方式の比較】

 Jさんは、図2と図3のサービス基盤を構築する場合について、二つの方式で実施することになる作業内容などを基に、比較表を作成した。Jさんが作成した二つの方式の比較を表1に示す。

f:id:aolaniengineer:20200806052905p:plain

表1中の項番2について、従来方式の場合、FWでは複数の仮想FWを設定することになる。仮想FWの設定に伴って、各仮想FWに対して設定が必要なネットワーク情報を三つ挙げ、それぞれ15字以内で答えよ。:フィルタリングルール/ルーティング情報/仮想FWのVLAN ID/仮想FWのIPアドレス/仮想FWの仮想MACアドレス/仮想FWのサブネットマスク

 表1の項番2は「構築時の設定作業」についてであり、この時の各仮想FWに対する設定する情報が問われています。

 仮想FWへの設定と言っても、物理的なリソースを共有しているだけで、1台ごとの仮想FWに対しては、通常のFWを構築する時の設定となんら変わりありません。

 FWの設定においては、通信に必要なIPアドレスなどの情報やフィルタリングルールなどを設定します。

表1中の項番3について、従来方式の場合、追加する顧客に対応したVLAN設定がサービス基盤の全ての機器及びサーバで必要になる。その中で、ポートVLANを設定する箇所を、図2中の名称を用いて、40字以内で答えよ。:顧客のL2SW又はL3SWに接続する、L2SWa及びL2SWbのポート

 表1の項番3は「顧客追加時の設定作業」についてであり、この時のポートVLANを設定する箇所が問われています。

 顧客追加時には、物理的には、L2SWaとL2SWbに新しい顧客向けのL2SW又はL3SWが接続されてきます。

 顧客ごとにVLANが割り当てられますので、L2SWaとL2SWbには新しい顧客のVLANをポートVLANで設定します。

 一方、L2SWaL2SWbから物理サーバまでのサービス基盤内では、全顧客で物理的な機器とケーブルを共有していますので、タグVLANで新しい顧客のVLANを追加することになります。

 以上の比較検討を基に、JさんはOFを用いると技術習得などに時間を要することになるが、今後のサービス拡大に柔軟に対応できるようになると判断し、OFによるサービス基盤の構築を、N主任に提案した。N主任は、Jさんの提案がY社にとって有益であると考え、Jさんの提案を基にサービス基盤の構築案をまとめ、M課長に報告したところ、テストシステムを構築して、OFの導入効果を確認するようにとの指示を受けた。

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

OpenFlow(OFS〜OFC間のTCPコネクション確立)【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-2】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「OpenFlow(OFS〜OFC間のTCPコネクション確立)」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-2」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-2

問2 サービス基盤の構築に関する次の記述を読んで、設問1~5に答えよ。

(略)

【SDN方式でのサービス基盤の構成案】

 次に、Jさんは、SDN製品のベンダの協力を得て、SDN方式で構築する場合のサービス基盤の構成を検討した。

 SDNを実現する技術の中に、OpenFlow(以下、OFという)がある。今回の検討では、標準化が進んでいるOFを利用することにした。

 OFは、データ転送を行うスイッチ(以下、OFSという)と、OFSの動作を制御するコントローラ(以下、OFCという)から構成される。OFSによるデータ転送は、OFCによって設定されたフローテーブル(以下、Fテーブルという)に基づいて行われる。

 Jさんが設計した、OFによるサービス基盤の構成案を図3に示す。

f:id:aolaniengineer:20200805204042p:plain

 

 OFSは2台構成とし、相互に接続する。図3中の既設のL2SW及びL3SWのサービス基盤への接続ポートには、リンクアグリゲーションを設定し、OFS1とOFS2に接続する。物理サーバには、図2と同様に2枚のNICを実装して各NICをアクティブ/アクティブの状態にする。FWとLBには、仮想サーバ上で稼働する仮想アプライアンス製品を利用する。OFCは、OFS1とOFS2の管理用ポートに接続する。

 これらのOFSは、起動するとOFCとの間でTCPコネクションを確立する。その後は、OFCとの間の通信路となるOFチャネルが開設され、それを経由してOFCからFテーブルの作成や更新が行われる。したがって、OFSの導入時には、④OFCとのTCPコネクションの確立に必要な最小限の情報を設定すればよく、導入作業は容易である。

④の情報を、15字以内で答えよ。:OFCのIPアドレス(又は、自OFSのIPアドレス)

 TCPコネクションを確立するには、通信先と3ウェイハンドシェイクのやり取りを行う必要があります。

 そのためには、通信先とIPリーチャブルであること、つまりIPアドレスによる通信が可能であることが必要です。

 IPアドレスによる通信には、自分と通信先のIPアドレスに、必要であればデフォルトゲートウェイの設定が必要になります。

 図3には具体的なIPアドレスの情報がありませんが、注記2にもあるように、OFCとOFSの接続がL2SW1を介して接続されていることが分かります。

 したがって、OFCとOFSは同じセグメント内でルーティング不要で通信可能なため、デフォルトゲートウェイの設定は不要です。

 また、3ウェイハンドシェイクにはTCPポート番号も必要ですが、OFチャネルのTCPポート番号は「6653」と決まっていて、設定は不要と考えていいでしょう。

 Jさんは、二つの方式で設計したサービス基盤の構成をN主任に説明したところ、二つの方式を比較し、Y社に適した方式を提案するよう指示を受けた。

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

スタック・ステートフルフェールオーバ・負荷分散装置・チーミング【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-1】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「スタック・ステートフルフェールオーバ・負荷分散装置・チーミング」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-1」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-1

問2 サービス基盤の構築に関する次の記述を読んで、設問1~5に答えよ。

 Y社は、データセンタ(以下、DCという)を運営し、ホスティングサービスを提供している。ホスティングサービスのシステムは、顧客ごとに独立したネットワークとサーバから構成されている。Y社が運営しているホスティングサービスのシステム構成を図1に示す。

f:id:aolaniengineer:20200802143107p:plain

 

 このたび、Y社では、新規顧客へのサービスの提供やサーバの増設を迅速に行えるようにするとともに、導入コストや運用コストを削減してサービスの収益性を高める目的で、サービス基盤の構築を決定した。このサービス基盤では、ネットワークと物理サーバを顧客間で共用し、論理的に独立した複数の顧客システムを稼働させる、マルチテナント方式のIaaS(Infrastructure as a Service)を提供する。

 サービス基盤構築プロジェクトリーダに指名された、基盤開発部のM課長は、部下でネットワーク構築担当のN主任に、次の3点の要件を指示し、サービス基盤の構成を検討するよう指示した。

(1)サーバの仮想化によって、サーバ増設要求に迅速に対応可能とすること

(2)サービス基盤で稼働する顧客システムは、顧客ごとに論理的に独立させること

(3)サービス基盤は冗長構成とし、サービス停止を極力抑えられるようにすること

 

 N主任は、SDN(Software-Defined Networking)技術を用いず、従来の技術を用いた方式(以下、従来方式という)とSDN技術を用いた方式(以下、SDN方式という)の二つの方式に関して、サービス基盤を構築する場合や顧客が増減した場合の作業内容などを比較して、構築方式を決めることにした。この方針を基に、N主任は、部下のJさんに、サービス基盤の構成について検討するよう指示した。

 

【従来方式でのサービス基盤の構成案】

 Jさんは、まず、従来方式で構築する場合のサービス基盤の構成を検討した。Jさんが設計した、従来方式によるサービス基盤の構成案を図2に示す。

f:id:aolaniengineer:20200802143340p:plain

 

 サービス基盤は、VLANによって顧客間のネットワークを論理的に独立させる。

 図2中の既設のL2SW及びL3SWのサービス基盤への接続ポートには、それぞれリンクアグリゲーションを設定する。既設のL2SW又はL3SWに接続するL2SWaとL2SWbのポートには、接続先の顧客ごとにリンクアグリゲーションとVLANを設定する。L2SWaとL2SWbの間及びL2SWcとL3SWdの間は、(ア:スタック)接続して、それぞれ、一つのL2SWとして動作できるようにする。

ア:スタック

 物理的に複数のスイッチを接続して、論理的に一つのスイッチとして動作させることをスタック接続といいます。

 スタック内のスイッチは単独で設定する必要がなく、スタック全体で物理的なポートが増えた1台のスイッチとして管理できます。

 FWは、①装置の中に複数の仮想FWを稼働させることができ②装置の冗長化ができる製品を選定する。冗長構成では、アクティブの仮想FWが保持しているセッション情報が、装置間を直結するケーブルを使って、スタンバイの仮想FWに転送される。セッション情報を継承することで、仮想FWの(イ:ステートフル)フェールオーバを実現している。

①の要件が必要になる理由を、30字以内で述べよ:顧客ごとに異なるフィルタリングの設定が必要であるから(又は、顧客ごとにルーティングの設定が必要であるから)。

 図2のFWは、図1(現状のホスティングサービスのシステム構成)におけるWebサーバの顧客ごとのFWを、1台に集約しています。

 FWのフィルタリングの設定はそれぞれの顧客ごとに異なっているため、FWを物理的に1台に集約してもフィルタリングはそれぞれに適用できるように仮想FWにて実現する必要があります。

 また、サービス基盤はVLAN(レイヤ2)によって論理的に独立していますが、ルーティング(レイヤ3)を必要とする利用者もあるかもしれません。

 FWではルーティング機能も有するため、必要であれば設定します。

②の機能について、アクティブのFWをFWaからFWbに切り替えるのに、FWa又はFWbが監視する内容を三つ挙げ、図2の機器名を用いて、それぞれ25字以内で答えよ。:FWbによるFWaの稼働状態/FWaによるL2SWaへの接続ポートのリンク状態/FWaによるLBaへの接続ポートのリンク状態/FWaによるFWbの稼働状態/FWbによるL2SWbへの接続ポートのリンク状態/FWbによるLBbへの接続ポートのリンク状態

 装置の冗長化における切替動作において、アクティブ側の機器が使用不可となったことを確認する手段としては、スタンバイとアクティブの機器間にてping疎通やHelloパケットのやり取りを利用します。

 また、アクティブ側の機器が利用する経路の状態によってもスタンバイ側へ切り替えが必要な場合もあります。

 図2では、FWaが正常に稼働するには、経路上のL2SWaとLBaに向かう経路が正常であることが必要です。

 この場合、L2SWaLBaに対するping疎通やHelloパケットのやり取りも考えられますが、それぞれの機器に対向するポートのリンク状態を確認するのが一番素直なやり方です。

 ping疎通やHelloパケットのやり取りは、どのルートで到達しても可能な場合があるにで、状態を正確に認識できない場合があります。問題文にはそこまでの説明がないので、素直な解答が求められます。 

イ:ステートフル

 あまり一般的な用語ではないように思われ、正答率も低かったようです。

 ただ、採点講評には「ファイアウォールのフィルタリング機能などでも使われている用語なので、是非、知っておいてほしい」とあり、過去問でも何回か問われていますので、覚えてしまいましょう。

 LBは、負荷分散対象のサーバ群を一つのグループ(以下、クラスタグループという)としてまとめ、クラスタグループを複数設定できる製品を選定する。クラスタグループごとに仮想IPアドレスと(ウ:負荷分散)アルゴリズムが設定できるので、複数の顧客の処理を1台で行える。LBも冗長化が可能であり、FWと同様の方法で冗長構成を実現している。

ウ:負荷分散

 LB(サーバ負荷分散装置)の機能である負荷分散には複数のアルゴリズムがあります。

  • 各サーバに均等に順番に割り当てるラウンドロビン方式
  • 現状のコネクション数が最も少ないサーバを割り当てる最小コネクション方式

 このような負荷分散アルゴリズムをクラスタグループごとに設定できるということでしょう。

 図2の構成案では、FWとLBは、FWaとLBaをアクティブに設定する。スタンバイの装置がアクティブに切り替わる条件は、両装置とも同様であり、両装置は連動して切り替わる。

 物理サーバには2枚のNICを実装し、(エ:チーミング)機能を利用してアクティブ/アクティブの状態にする。L2SWcとL2SWdには、リンクアグリゲーションのほかに、③仮想サーバの物理サーバ間移動に必要となるVLANを設定する

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

エ:チーミング

 サーバに複数のNICを実装して、冗長化や帯域を増設する機能をチーミングといいます。

 同様な機能は、スイッチではリンクアグリゲーションとなります。

③について、VLANを設定するポート及び設定するVLANの内容を、50字以内で具体的に述べよ。:物理サーバへの接続ポートに、全ての顧客の仮想サーバに設定されたVLAN IDを設定する。

 「仮想サーバの物理サーバ間移動」とはライブマイグレーションという技術のことを指しています。

 ライブマイグレーションを利用すると、仮想マシン上のメモリイメージをそのまま別の物理サーバ上の仮想マシンに移行できるため、サービスの停止を抑えられます。

 したがってL2SW~物理サーバ間では、仮想サーバで稼働する全てのVLANを通す必要があります。

ネットワーク拡張におけるMQTTクライアント接続で考慮すること【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-5】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「ネットワーク拡張におけるMQTTクライアント接続で考慮すること」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-5」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-5

問1 ネットワークシステムの設計に関する次の記述を読んで、設問1~4に答えよ。

(略)

f:id:aolaniengineer:20200729043020p:plain 

 図2中の通信シーケンスでは、配信元から複数の配信先へメッセージが配信されている。通信シーケンスの説明を次に示す。

クライアントは、サーバのTCPポート8883番にアクセスし、TCPコネクションを確立する。このTCPコネクションは、メッセージ交換の間は常に維持される。

(略) 

f:id:aolaniengineer:20200729043445p:plain

(略)

【エッジサーバを活用する将来構想】

 図4中のメッセージ交換では、X社内の交換サーバを利用するので、顧客の企業秘密を含むような設定情報及び稼働情報(以下、これらを内部情報という)は、対象外としている。しかし、内部情報についても図4と同様にメッセージ交換を行いたい顧客も多い。X社では、エッジサーバを活用して、内部情報もXシステムに取り込む将来構想をもっている。

 顧客サーバが一つの場合について、将来構想で追加されるXシステムのメッセージ交換例を図7に、Wさんが考えた将来構想におけるネットワーク構成案を図8に、それぞれ示す。

f:id:aolaniengineer:20200801052233p:plain

f:id:aolaniengineer:20200801052256p:plain

 

 図8に示すように、Wさんは、NATルータを使って、顧客ネットワークとXシステムを接続する案を考えた。NATルータは、1:1静的双方向NATとして動作させ、図8中のNATルータ-PとNATルータ-P’を利用して、宛先IPアドレスと送信元IPアドレスの両方を変換させる。

図8中のNATルータについて、顧客ネットワークからXシステムの方向の通信におけるアドレス変換の内容を、60字以内で具体的に述べよ。:送信元IPアドレスをNATルータ-Pに、宛先IPアドレスをエッジサーバ-Pに、それぞれ変換する。

 NATルータについて、「NATルータは、1:1静的双方向NATとして動作させ、図8中のNATルータ-PとNATルータ-P’を利用して、宛先IPアドレスと送信元IPアドレスの両方を変換させる」とあります。

 本問では、アドレス変換の内容を具体的に問われているため、対象となる機器を特定します。

 「顧客ネットワークからXシステムの方向の通信」とは、図7のメッセージ交換例から、具体的には「顧客サーバ」から「エッジサーバ」への通信であることが分かります。

 顧客サーバが通信の宛先IPアドレスに指定するのは同じネットワーク内の「NATルータ-P'」、送信元IPアドレスに指定するのは自分自身の「顧客サーバ-P'」です。

 データを受信したNATルータは、宛先IPアドレスを「エッジサーバ-P」、送信元IPアドレスを「「NATルータ-P」に変換することで、相互のプライベートIPアドレス間で通信を可能とします。

図8中の顧客FWについて、Xシステムとの接続のために、新たに許可が必要になる通信を40字以内で答えよ。:顧客サーバ-P'からNATルータ-P'のポート8883番への通信

 顧客FWを通過する通信で追加されるのは、NATルータ経由での顧客ネットワークとXシステム間の通信です。

 具体的には、この後の図9にも示されていますが、「顧客サーバのMQTTクライアント機能とエッジサーバのMQTTサーバ機能間の通信」になります。

 FWへの通信の許可・拒否の設定には、IPアドレスとポート番号を使用します。

 IPアドレスについては、クライアントは顧客サーバ-P'、サーバはエッジサーバの顧客ネットワーク側のアドレスであるNATルータ-P'となります。

 ポート番号については、MQTTにおける通信の内容として本文に「クライアントは、サーバのTCPポート8883番にアクセスし、TCPコネクションを確立する」とあります。

 Wさんが考えた将来構想におけるメッセージの流れを図9に示す。

f:id:aolaniengineer:20200801052459p:plain

 

 図9の説明を次に示す。

・顧客サーバにMQTTクライアント機能を、エッジサーバにMQTTサーバ機能をそれぞれ実装し、顧客サーバとエッジサーバ間でメッセージ交換を行う。

エッジサーバのMQTTサーバ機能は、通常のMQTTサーバ機能に加えて、メッセージをほかのMQTTサーバと送受信する機能(以下、MQTTブリッジという)をもつ。Xシステムのデバイスは複数の機器とTCPコネクションを確立できないので、このMQTTブリッジを利用する。

⑥MQTTブリッジには、トピック名をあらかじめ定義しておき、そのトピック名のメッセージを交換サーバと送受信させる

⑥について、定義するトピック名を全て答えよ。:config/Di、status/Di

 MQTTブリッジは、「エッジサーバのMQTTサーバ機能は、通常のMQTTサーバ機能に加えて、メッセージをほかのMQTTサーバと送受信する機能(以下、MQTTブリッジという)をもつ。Xシステムのデバイスは複数の機器とTCPコネクションを確立できないので、このMQTTブリッジを利用する。」と説明されています。

 ここで出てくるほかのMQTTサーバとはどの機器でしょうか。

 現状では図4にあるように、デバイス(MQTTクライアント)は交換サーバをMQTTサーバとしてやり取りしています。

 将来構想では図7のとおり、更にエッジサーバがMQTTサーバになり、デバイスは交換サーバとエッジサーバの両方とMQTTのメッセージ交換を行う必要があります。

 しかし、上記の説明のようにデバイスは複数の機器とTCPコネクションを確立できません。

 ここでMQTTブリッジを利用します。

 エッジサーバにMQTTブリッジを稼働させ、デバイスと交換サーバのメッセージ交換を転送します。

 これによりデバイスはエッジサーバとのみTCPコネクションを確立した状態で、エッジサーバと交換サーバの両方とメッセージ交換を行うことができます。

 問われているのは、デバイスが交換サーバとメッセージ交換するトピック名です。

 これは図4に示されているように「config/Di」と「status/Di」になります。

図7~9中の顧客サーバを1台追加する場合、Xシステム側で必要となる対応を二つ挙げ、それぞれ30字以内で述べよ。:1:1静的双方向NATの設定をNATルータに追加する。/通信を許可するルールを通信装置内のFWに追加する。

 追加した顧客サーバでは、既設の顧客サーバと同様にXシステムのエッジサーバとの通信を行います。

 その通信経路上にある機器としては、「顧客FW」「NATルータ」「FW」があります。

 設問ではXシステム側で必要となる対応とあるので、「NATルータ」と「FW」に絞って考えます。

 「NATルータ」は1:1静的双方向NATとして動作しているので、追加した顧客サーバのIPアドレスを設定する必要があります。

 「FW」も同様に、追加した顧客サーバに該当するIPアドレス(NAT変換した後のXシステム側で見えるIPアドレス)に関するルールを設定する必要があります。

 Wさんは、図7~9を使って、ネットワークの動作について検討し、将来構想への対応が可能であると判断した。

 

 Wさんは、以上の検討結果を上司に報告した。X社の情報システム部は、Xシステム構想を実現するためのプロジェクトを発足させた。

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

OAuth 2.0(アクセストークン・リフレッシュトークン)【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-4】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「OAuth 2.0(アクセストークン・リフレッシュトークン)」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-4」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-4

問1 ネットワークシステムの設計に関する次の記述を読んで、設問1~4に答えよ。

(略)

f:id:aolaniengineer:20200729041346p:plain

(略)

【APIにアクセスする顧客サーバの管理】

 Wさんは、顧客サーバからのAPIアクセスに関する検討を行った。

 Xシステムでは、認可サーバを使って、顧客サーバからのAPIアクセスを認可する。契約及びサービス仕様の変更が顧客ごとに発生するので、それらを前提とした認可の仕組みが必要になる。Wさんは、認可コード、アクセストークン、及びリフレッシュトークンを使った、認可の仕組みを採用することにした。

 XシステムのAPIアクセスの通信シーケンスを図6に示す。

f:id:aolaniengineer:20200801050658p:plain

 

 図6中の(Ⅰ)に示すように、有効なトークンがない場合、WebブラウザからWebAPへの情報要求は(サ:認可)サーバにリダイレクトされる。認可応答では、認可要求で通知されたURIを用いたリダイレクトによって、(シ:WebAP)に認可コードが通知される。続いて、認可コードを用いたトークン要求とトークン応答が行われ、WebAPはアクセストークンとリフレッシュトークンを獲得する。

 APIアクセス認可の仕組みに関する内容で、この仕組みは「OAuth2.0」(The OAuth 2.0 Authorization Framework(RFC6749))として定義されています。

 この問題から「OAuth2.0」を理解しましょう。

サ:認可

 図6を順を追って見ていきましょう。

 WebブラウザからWebAPに情報要求を送信すると、リダイレクト応答が返信されてきます。

 そしてWebブラウザは認可サーバに認可要求を送信しています。

 したがって、リダイレクト先は認可サーバになります。

シ:WebAP

 認可サーバから認可応答を受信したWebブラウザはWebAPに送信しています。

 また、図6の(a)、認可要求ではredirect_uriWebAPURIが設定されています。

 したがって、リダイレクト先はWebAPになります。

 なお、図6の(b)認可応答にはWebAPのURIと認可コードがあり、WebAPのURIにリダイレクトして、WebAPに認可コードを送信していることが分かります。 

 図6中の(Ⅰ)~(Ⅲ)に示すように、業務サーバへの情報要求には、アクセストークンが用いられる。アクセストークンは、アクセス可能なAPIと有効期間に関する情報が含まれており、業務サーバはそれらの情報からアクセスの可否を決める。アクセストークンの有効期間を過ぎた場合でも、(ス:リフレッシュトークン)の有効期間内であれば、利用者の確認を行わずに、新しいアクセストークンが発行される。

ス:リフレッシュトークン

 図6でアクセストークンの有効期限を過ぎた場合に相当するところは、「(Ⅲ)リフレッシュトークンだけが有効な場合」にある、アクセストークンを使った情報要求でエラー応答となった箇所になります。

 アクセストークンでエラーとなった後、リフレッシュトークンで新アクセストークンを取得して、その新アクセストークンでAPIに情報要求しています。

 本文のとおり、アクセストークンの有効期間を過ぎた場合でも、リフレッシュトークンの有効期間内であれば、利用者の確認を行わずに、新しいアクセストークンが発行されるということです。

 Xシステムでは、顧客ごとに異なるアクセストークンを定義し、認可サーバに格納しておく。ある顧客に提供するAPIの範囲が変わる場合、X社は認可サーバのアクセストークンを変更する。Wさんは、④アクセストークンの有効期間を10分間、リフレッシュトークンの有効期間を60分間と想定し、トークンの運用を確認した

④について、提供するAPIの範囲を変更する場合、変更が有効になるのは、X社がアクセストークンを変更してから最長で何分後かを答えよ。:10

 問われているのは「変更してから最長で何分か」であり、有効期間の10分後かなと考えつきますが、リフレッシュトークンの有効期間60分も気になります。

 図6を確認して、認可サーバがWebAPにアクセストークンを応答する箇所を確認します。

  • 「(Ⅰ)有効なトークンがない場合」では、最新のアクセストークンが応答されますので、即座に変更が有効になります。
  • 「(Ⅱ)アクセストークンが有効な場合」では、アクセストークンの応答がないので、変更は反映されません。この状態はアクセストークンの有効期間10分間は継続されます。
  • 「(Ⅲ)リフレッシュトークンだけが有効な場合」では、アクセストークンでの情報要求がエラー応答となっているので、有効期間を過ぎていると考えられます。その後、リフレッシュトークンでの要求後に最新のアクセストークンが応答され流ので、即座に変更が有効になります。

 したがって、アクセストークンの有効期間10分間が最長となります。

 尚、細かいことを気にすると、リフレッシュトークンのやり取りの時間も考慮する必要はないか、認可サーバからアクセストークンの変更通知などがあれば即座に反映できるのではないかなとも思いますが、問題文には記述がないことは考慮しないということが重要です。

 図6の通信シーケンスでは、図6中の”(a)認可要求”のredirect_urlパラメタが書き換えられ、図6中の(セ:認可応答)に含まれる認可コードが意図しない宛先に送信される可能性がある。Wさんは、その対策として”redirect_urlパラメタの確認”を行うことにした。これは、図6中の(ソ:認可)サーバに、HTTPリクエストに含まれるURIとあらかじめ登録されている絶対URLが一致することを確認させる、という対策である。⑤顧客向けのAPI利用ガイドラインには、この対策に必要な顧客への依頼内容を明記することにした。

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

セ:認可応答

 図6の認可要求のredirect_uriには「WebAPのURI」が設定され、認可応答での認可コードが「WebAPのURI」に渡っていきます。

 本文のように、redirect_uriのパラメタが攻撃者の用意したサーバなどに書き換えられると、認可コードが不正に取得されてしまいます。

ソ:認可

 リクエストの宛先は認可サーバですので、認可サーバで絶対URLと比較することになります。

⑤について、顧客への依頼内容を、40字以内で述べよ。:WebAPのURIを固定にし、絶対URIを事前に通知してもらう。

 「図6中の認可サーバに、HTTPリクエストに含まれるURIとあらかじめ登録されている絶対URLが一致することを確認させる」という対策について、顧客への依頼内容を考えます。

 認可サーバが絶対URIを登録するには、顧客からURIの情報を受領する必要があります。

 また、変更の際には事前に通知してもらう必要があります。

 解答の記述は迷うところですが、本質の部分が合っていれば問題ないでしょう。

 

MQTT(SUBSCRIBE、トピック名、PUBLISH、送信時間)【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-3】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「MQTT(SUBSCRIBE、トピック名、PUBLISH、送信時間)」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-3」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-3

問1 ネットワークシステムの設計に関する次の記述を読んで、設問1~4に答えよ。

(略)

f:id:aolaniengineer:20200729041346p:plain

(略)

f:id:aolaniengineer:20200729042820p:plain

(略)

f:id:aolaniengineer:20200729043020p:plain

(略)

配信先となるクライアントは、サーバにSUBSCRIBEを送信し、購読対象のメッセージを、トピック名を使って通知する。サーバはクライアントにSUBACKを返信し、購読要求を受け付けたことを通知する。

・配信元クライアントは、PUBLISHを使ってサーバにメッセージを送信する。

・メッセージを受信したサーバは、PUBLISHにに含まれるトピック名について購読要求を受け付けている全てのクライアントに、そのメッセージを送信する。

(略) 

 次にWさんは、Xシステムの2種類のメッセージ交換について、トピック名、QoSレベル、及び配信元と配信先を整理した。

 Xシステムのメッセージ交換を図4に示す。f:id:aolaniengineer:20200729043445p:plain

 図4の説明を次に示す。

・項番1では、デバイスDiは、あらかじめ(オ:SUBSCRIBE)を交換サーバに送信し、トピック名が(カ:config/Di)のPUBLISHが送信されるようにする。

オ:SUBSCRIBEカ:config/Di

 項番1は業務サーバがクライアント(配信元)で、デバイスDiがクライアント(配信先)になります。

 クライアントの事前動作について、図2の通信シーケンスで「配信先となるクライアントは、サーバにSUBSCRIBEを送信し、購読対象のメッセージを、トピック名を使って通知する」と説明されています。

 購読対象のメッセージのトピック名は、項番1では「config/Di」になります。

・項番1では、QoSレベルとして2が使用されている。交換サーバからデバイスDiへのPUBLISH送信中にキ:デバイスDi)が電源断などで非稼動になった場合、そのPUBLISHは、(ク:交換サーバ)の中に保存され、稼働再開後に再送される。
キ:デバイスDiク:交換サーバ

 送信者である交換サーバ、受信者であるデバイスDiとのやり取りで、PUBLISH送信中に非稼動になる方は、デバイスDiと考えられます。

 また、その時にPUBLISHを保存するのは送信者である交換サーバになります。 

・項番2では、QoSレベルとして0が使用されている。これは、(ケ:業務サーバ)及びエッジサーバは安定した稼働が見込めるからである。
ケ:業務サーバ

 項番2では、受信者は業務サーバとエッジサーバです。

 「安定した稼働が見込める」とは、電源停止などで非稼働状態にならないことであり、サーバが該当します。

 一方、デバイスは顧客の工場内にあり、使用していないデバイスは電源停止などで非稼働状態になる可能性があります。

 Wさんは、1台の業務サーバが6,000台のデバイスの設定を変更する場合の送信時間(T)を概算した。

 WさんがTの概算に用いた通信シーケンスを図5に示す。

f:id:aolaniengineer:20200729043807p:plain

 

 図5中の装置の処理時間を無視し、図5中のt1及びt2は、それぞれの装置間のRTT(Round Trip Time)の2倍に等しいとし、LANのRTTを20ミリ秒、WANのRTTを200ミリ秒とすると、Tは次のように概算できる。

 T=m×t1+t2=6,000×2×20+2×200(ミリ秒)≒ 4(分)

 この概算を基に、Wさんは、次のように報告することにした。

・TCPコネクションが正常であれば、全デバイスへの設定情報の送信は4分間程度で完了する。

・ただし、図1に示すように、(コ:業務サーバ、交換サーバ)は同一拠点に設置されている必要がある。

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

コ:業務サーバ、交換サーバ

 「同一拠点に設置」とあるのは、この概算において二つの装置間がLANにあることを示します。

 LANのRTTである20ミリ秒を使っているのは「t1」になりますので、図5から二つの装置は業務サーバと交換サーバになります。

 別の解き方として、図5の装置のうち、図1の構成例で「同一拠点に設置」しているものはどれかを探す方法があります。

 それによりX社の中に業務サーバと交換サーバが該当します。

 

MQTT(メッセージ交換方式・QoSレベル)【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-2】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「MQTT(メッセージ交換方式・QoSレベル)」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-2」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-2

問1 ネットワークシステムの設計に関する次の記述を読んで、設問1~4に答えよ。

(略)

【MQTTを使ったメッセージ交換方式

 Wさんは、MQTTを使ったメッセージ交換方式を調査した。

 このメッセージ交換方式では、固定ヘッダ、可変ヘッダ及びペイロードから構成されたMQTTコントロールパケットを使う。MQTTコントロールパケットの種別を表1に示す。

f:id:aolaniengineer:20200729042820p:plain

 

 MQTTを使ったメッセージ交換方式の通信シーケンス例を図2に示す。

f:id:aolaniengineer:20200729043020p:plain

 

 図2中の通信シーケンスでは、配信元から複数の配信先へメッセージが配信されている。通信シーケンスの説明を次に示す。

クライアントは、サーバのTCPポート8883番にアクセスし、TCPコネクションを確立する。このTCPコネクションは、メッセージ交換の間は常に維持される。

・クライアントはCONNECTを送信し、サーバはCONNACKを返信する。

・配信先となるクライアントは、サーバにSUBSCRIBEを送信し、購読対象のメッセージを、トピック名を使って通知する。サーバはクライアントにSUBACKを返信し、購読要求を受け付けたことを通知する。

・配信元クライアントは、PUBLISHを使ってサーバにメッセージを送信する。

・メッセージを受信したサーバは、PUBLISHにに含まれるトピック名について購読要求を受け付けている全てのクライアントに、そのメッセージを送信する。

 

 PUBLISHを使ったメッセージ送信では、QoSレベルを使って送達確認手順を指定する。QoSレベルとメッセージ送信の通信シーケンスを図3に示す。

f:id:aolaniengineer:20200729043217p:plain

 

 図3中の通信シーケンスの説明を次に示す。

QoSレベルが0の場合、MQTT層におけるPUBLISHの送達確認は行わない。TCP層による送達確認だけが行われる。

・QoSレベルが2の場合、MQTT層においてもPUBLISHの送達確認が行われる。MQTT層の送達確認の説明を次に示す。

-TCPコネクションが切断された場合のために、PUBLISH及びPUBRELは送信者によって保存され、送信者から受信者への再送に利用される。

-③PUBLISHを受信した受信者は、メッセージの処理を始める前に送信者にPUBRECを送信し、その応答であるPUBRELを受信してからメッセージの処理を開始する

-PUBRELを送信した送信者は、その応答であるPUBCOMPを受信してから、メッセージ送信を完了する。

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

図3中のQoSレベルが0の場合のメッセージ送信について、TCPの再送機能だけではメッセージの消失が防げないのはどのような場合か。45字以内で具体的に答えよ。:TCPの送信処理中に、デバイスの電源断などでTCPコネクションが解放された場合

 QoSレベルが0の場合のメッセージ送信について、「QoSレベルが0の場合、MQTT層におけるPUBLISHの送達確認は行わない。TCP層による送達確認だけが行われる」とあります。

 また、MQTT通信におけるTCPについて、「クライアントは、サーバのTCPポート8883番にアクセスし、TCPコネクションを確立する。このTCPコネクションは、メッセージ交換の間は常に維持される」とあります。

 したがって、TCPコネクションが維持される場合は、TCPの再送機能でメッセージが消失することはないと考えられます。

 逆に、TCPコネクションが開放されてしまうと、再送機能も使えなくなり、メッセージが消失する場合があることになります。

 それを裏付けるように、QoSレベルが2の場合には「TCPコネクションが切断された場合のために、PUBLISH及びPUBRELは送信者によって保存され、送信者から受信者への再送に利用される」とあります。

 TCPコネクションが開放される場合とはどのような場合でしょうか。

 これについては、問題文のもう少し先に、「交換サーバからデバイスDiへのPUBLISH送信中にデバイスDiが電源断などで非稼動になった場合、そのPUBLISHは、交換サーバの中に保存され、稼働再開後に再送される」とあります。

 デバイスが電源断などで非稼動になるとTCPコネクションが開放されてしまい、再送機能が使えなくなり、メッセージが消失されてしまいます。

③について、PUBRELを受信するまで、メッセージの処理を保留する目的を、20字以内で述べよ。:メッセージの重複を防止する。

 図3の通信シーケンスをよく見ると、送信者と受信者でそれぞれ送達確認ができてから処理を開始したり完了させたりしています。

 また図3の注記2には、「QoSレベルが2の場合、受信者は、メッセージの処理を開始した以降に受信したPUBLISHは、パケットIDの重複にかかわらず新しいパケットとみなす」とあります。

 この説明からすると、もしもPUBRELを受信する前にメッセージを処理するとした場合は、送信者から同じパケットIDのメッセージが再送されると新たに処理を開始してしまうことが分かります。

 PUBLISHPUBRELの保存や、PUBRECPUBCOMPのやり取りは、このようなメッセージの重複(に伴う処理)を防止するためにあります。

 

インターネット経由のTLS通信におけるセキュリティ対策【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-1 】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「インターネット経由のTLS通信におけるセキュリティ対策」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-1」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1-1

問1 ネットワークシステムの設計に関する次の記述を読んで、設問1~4に答えよ。

 

 機械メーカのX社は、顧客に販売した機械の運用・保守と、機械が稼働している顧客の工場の自動化支援に関する新事業を拡大しようとしている。

 機械は工作装置及び通信装置の2種類である。工作装置には、センサ、アクチュエータなどを制御する機構(以下、デバイスという)、及びレイヤ2スイッチが内蔵されている。通信装置は、デバイスをインターネットに接続するための機器で、エッジサーバ、ファイアウォール及びレイヤ3スイッチが内蔵されている。

 X社の情報システム部は、新事業用のサービス基盤システム(以下、Xシステムという)を計画中である。情報システム部に所属するネットワーク担当のWさんが、Xシステムの構想について、検討を行っている。

 

【Xシステムの構想

 Xシステムは、X社が運用・保守を行う顧客の工場内の機器、X社内のサーバ、及びそれらを接続するためのネットワーク機器から構成されている。

 Xシステムの導入構成例を図1に示す。

f:id:aolaniengineer:20200729041346p:plain

 

 Xシステムの業務アプリケーションプログラムは、エッジサーバと業務サーバ上で動作する。これらのサーバとデバイスは、デバイスの運用・保守に関する情報を、自動的に交換する。この情報交換に関する説明を次に示す。

・工作装置と通信装置を接続し、顧客の工場内にXシステム専用のネットワークを構成する。顧客ネットワークは利用しない。

・publish/subscribe型のメッセージ通信プロトコルMQTT(Message Queuing Telemetry Transport)を使って、交換サーバを介して、デバイス、エッジサーバ及び業務サーバ間でメッセージを交換する。

・デバイス、エッジサーバ及び業務サーバにMQTTクライアント機能を、交換サーバにMQTTサーバ機能をそれぞれ実装する。

 

 業務サーバは、顧客向けにAPI(Application Programming Interface)を提供する。顧客は、インターネット経由でAPIにアクセスし、デバイスの運用・保守に関する情報を参照する。このAPIに関する説明を次に示す。

・X社の業務サーバと認可サーバにHTTPサーバ機能をそれぞれ実装する。

・顧客は、顧客サーバに、APIアクセス用のWebアプリケーション(以下、WebAPという)とHTTPサーバ機能を実装する。

・顧客は、PCのWebブラウザを使い、顧客サーバを経由して、APIにアクセスする。

・X社の認可サーバは、顧客サーバからAPIへのアクセスを認可する。

 

 Wさんは、上司から、Xシステムの構想に関する四つの技術検討を指示されている。四つの技術検討項目を次に示す。

・ネットワークセキュリティ対策

・MQTTを使ったメッセージ交換方式

・APIにアクセスする顧客サーバの管理

・エッジサーバを活用する将来構想

 

【ネットワークセキュリティ対策

 Xシステムは、インターネット及び顧客の工場内のXシステム専用のネットワークを利用するので、これらのX社外の通信区間に関するネットワークセキュリティ対策が必要となる。Wさんが検討したネットワークセキュリティ対策を次に示す。

・情報の漏えい及び改ざんのためにTLSを利用する。TLSには、情報を(ア:暗号化)する機能、情報の改ざんをイ:検知)する機能、及び通信相手を(ウ:認証)する機能がある。

ア:暗号化イ:検知ウ:認証

 本文の通り、TLS(Transport Layer Security)は情報の漏えい及び改ざんを防ぐために利用します。

 情報の漏えいについてはメッセージを共通鍵により暗号化し、改ざんについては認証鍵により検知します。

 また、サーバ証明書による検証で通信相手を認証します。(オプションでクライアント側の認証も可能)

 これはTLSというよりセキュリティ全般にも当てはまる機能が問われていますね。

・工場内の機器とX社内の機器との通信は、いずれもクライアントサーバ型の通信であり、機器間の(エ:TCPコネクションの確立要求は、工場からX社の方向に行われる。それを踏まえて、次の侵入及びなりすまし対策を採用する

エ:TCP

 クライアントとサーバ間の通信について、コネクション型通信ときたらTCP(Transmission Control Protocol)で、コネクションレス型通信はUDP(User Datagram Protocol)になります。

 TLSを利用するには、トランスポート層がTCPである必要があります。

-X社に設置されたFWを使った対策

-①通信装置内のFWを使った対策

-②TLSの機能を使った、デバイス及びエッジサーバに関する対策

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

①の対策を、50字以内で述べよ:X社が運用・保守を行う機器からX社FWの方向に確立されるTCPコネクションだけを許可する。

 通信装置内のFWの役割は、通信装置や工作装置をインターネットから守ることです。

 FWには必要最低限の通信のみを許可して、それ以外は拒否するように設定します。

 必要な通信については、「工場内の機器とX社内の機器との通信は、いずれもクライアントサーバ型の通信であり、機器間のTCPコネクションの確立要求は、工場からX社の方向に行われる」という記述から分かります。

 50字以内ですので、ある程度具体的に記載する必要があります。

 ただ、図1は構成例ですので、FWの対策としては抽象的にならざるを得ないなど、記載方法に工夫が必要です。

 そこで、通信元を顧客の工場に導入される機器である「X社が運用・保守を行う機器」、通信先を「X社FW」として記載します。

 ちなみに、FWでは、許可する通信以外は自動的に拒否するので、記載するのは許可分の対策のみで構いません。

②の対策を、30字以内で述べよ。:クライアント証明書を配布してクライアント認証を行う。

 本文に「それらを踏まえて、次の侵入及びなりすまし対策を採用する」とあり、侵入となりすまし対策の対応は以下のようになります。

  • X社に設置されたFWを使った対策:侵入対策
  • 通信装置内のFWを使った対策:侵入対策
  • TLSの機能を使った、デバイス及びエッジサーバに関する対策:なりすまし対策

 本設問のデバイス及びエッジサーバでのなりすまし対策としては、TLSのクライアント認証が該当します。

 クライアント側では人による操作があるわけではないので、ユーザID/パスワードでの認証ではなく、クライアント証明書を実装するのがいいでしょう。