こんにちは、こじろうです。
この記事では、N/Wスペシャリスト令和5年午後Ⅱ問2に挑戦していきたいと思います。
別記事のネットワークエンジニアのススメでも紹介しましたが、文系SEからするとシステムエンジニアよりもネットワークエンジニアになった方が良いキャリアを気づかる可能性があります。
僕自身も、プログラマ➡システムエンジニア➡ITコンサルタントとキャリアチェンジしてきましたが、所々、ネットワークエンジニアとして活動し、成果を出すことに成功してきました。
文系SEのみなさまにも是非、ネットワークの知識を蓄えて頂きたく、IPAが主催しているネットワークエンジニアの資格試験について、僕なりの解答方法と、IPAが公表している模範解答を紹介していきたいと思います。
【この記事でわかること】
- N/Wスペシャリストの問題を解く上で持つべき考え方
- 令和5年午後Ⅱ問2における各設問の考え方
- 1 設問を解き始める前の前提
- 2 問題文を読みながら僕が考えていった内容
- 3 図2中の[空欄a][空欄b]にいれる適切なリソースレコード、[空欄c]~[空欄f]に入れる適切なIPアドレスを、それぞれ答えよ
- 4 sshコマンドでecsv.y-sha.example.lanにアクセスして下線①CPU使用率を調べたところ、設計値を大きく超えていた。
- 5 ECサーバの増強策として、スケール[空欄g]方式とスケール[空欄h]を比較検討し…
- 6 下線①(CPU使用率を調べたところ、設計値を大きく超えていた。)パケットが届くまでに経由する機器を図1中の機器名ですべて答えよ。
- 7 下線②ECサーバを2台にすればECサイトは十分な処理能力を持つことになるが、2台のサーバを3台に増設し…
- 8 表2中の[空欄i]~[空欄k]にいれる適切なIPアドレスを答えよ。
- 9 下線③図2中の項番5と項番11のリソースレコードは、図3の構成では図1とは違う機器の特別なIPアドレスを指すことになります。
- 10 下線④図4のリソースレコードの追加に対応して、既設ECサーバに設定されている二つの情報を変更します
- 11 下線⑤既設ECサーバでは、デフォルトゲートウェイのIPアドレスを変更します。
- 12 下線⑥ECサーバ宛てに送信するHTTPヘッダーに、X-Forwarded-Forフィールドを追加するようにします
- 13 下線⑦既設ECサーバ内のサーバ証明書の流用で対応できます。
- 14 下線⑧IPアドレスとポート番号との組み合わせでアクセス元を識別する場合は、TCPコネクションが切断されると再接続時にセッションが維持できなくなる問題が発生する。
- 15 下線⑨Cookie中のセッションIDと振り分け先のサーバから構成されるセッション管理テーブルをLBが作成し…
- 16 下線⑩ヘルスチェック機能は、レイヤー3,4及び7の各レイヤーで稼働状態を監視する方式があり、ここではレイヤー7方式を利用する。
- 17 下線⑪SAML認証要求(SAML Request)を作成し、IdPである認証連携サーバにリダイレクトするよう要求する。
- 18 下線⑫IdPが作成するデジタル署名の検証に必要な情報…
- 19 下線⑬受信した情報の中からSTを取り出し…
- 20 PCはSAML ResponseをSPへ転送する。SPはSAML Responseに含まれる下線⑭デジタル署名を検証…
- 21 ネットワークの勉強をして良かったなーと思うこと
設問を解き始める前の前提
詳細は以下の記事を読んで頂きたいのですが、過去問に挑戦する前に頭に入れておいて欲しいことが2つあります。参考:【文系SE】ネットワークスペシャリストー解答時のフレームワークー
- 問題文を読みつつ設問を推測する。(設問を読んでから考えていては間に合わない)
- 問題文を読んでいく中で「これ、聞かれるだろうな」と推測する。
それでは、いってみましょう!!😃
問題文を読みながら僕が考えていった内容
図2中の[空欄a][空欄b]にいれる適切なリソースレコード、[空欄c]~[空欄f]に入れる適切なIPアドレスを、それぞれ答えよ
設問1についての問題ですが、c,dは表1における外部向け(NATによる変換前)IPアドレスの中で、使用されるプロトコル/宛先ポート番号がネームサーバ向け、もしくはメールサーバ向けのものはどれか問われており、e,fは同じく表1において、内部向け(NATによる変換後)IPアドレスから回答する必要があります。
模範解答は
a:NS
b:MX
c:100.α.β.1
d:100.α.β.3
e:192.168.1.1
f:192.168.1.3
でした。
sshコマンドでecsv.y-sha.example.lanにアクセスして下線①CPU使用率を調べたところ、設計値を大きく超えていた。
※更新中
設問2(1)についての問題ですが、上記URLにアクセスしCPU利用率が上がってしまう原因は、TLSハンドシェイク中にエラーが起き、Webブラウザにもその旨が表示されるためなわけですが、このエラーが起きる理由を問われています。
模範解答は
コモン名とドメインのURLのドメインが異なるから
でした。
ECサーバの増強策として、スケール[空欄g]方式とスケール[空欄h]を比較検討し…
※更新中
設問3(1)についての問題ですが、サーバの増強方式に関して問われています。
サーバ単体のパワーを上げるスケールアップか、数を増やして対応するスケールアウトの二つが考えられます。
模範解答は
g:アップ
h:アウト
でした。
下線①(CPU使用率を調べたところ、設計値を大きく超えていた。)パケットが届くまでに経由する機器を図1中の機器名ですべて答えよ。
設問2(2)についての問題ですが、運用担当者がsshでECサーバのCPU使用率を確認した先の、パケットの通過経路を問われています。
“DNSサーバで名前解決するから、L3SW→FW→L2SW→DNS→L2SW→FW→L3SW→運用PC→L3SW→FW→L2SWだろ!”と即答&即間違えてしまいました。
sshコマンドということは、まずECサーバへログインします。この時は、上記の経路です。でも、CPUの使用率を確認するためのコマンドを送出するときは、既にECサーバのIPアドレスは分かっているので、上記のようにDNSサーバへ名前解決を要求する経路は通りません!
模範解答は
L3SW、FW、L2SW
でした。
下線②ECサーバを2台にすればECサイトは十分な処理能力を持つことになるが、2台のサーバを3台に増設し…
設問3(2)についての問題ですが、XXX追加台数を2台ではなく3台にする理由を問われています(将来のアクセス数増加の想定は対象外)。
これは私が発電所の制御システムサーバの冗長化設計を担当したときも同じ話になりましたが、可用性を維持するために、”1台壊れても2重化を維持できるようにするため、3重化にしよう!”という案は、結構、王道なんですよね。
ただ、模範解答は、可用性というよりは応答性に関する文言が並んでいますね…(それって、対象外とした将来のアクセス数増加に絡む回答なのでは?と思ってしまいますが…)
模範解答は
1台故障時にも、ECサイトの応答速度の低下を発生させないため。
でした。
表2中の[空欄i]~[空欄k]にいれる適切なIPアドレスを答えよ。
※更新中
設問3(3)についての問題ですが、基本的なルーティングにおける送信元・宛先IPアドレスの付替と、LBがどこで送信元IPアドレスを変換するのかを問われています。
kは問題ありませんでしたが、iとjは、既設サーバとLBのIPアドレスは購買担当者からどのように認識されているか(これは表1を見ないといけない)を踏まえて回答できず、間違えてしまいました。
模範解答は
i:100.α.β.2 ← 192.168.1.5(既設ECサーバ)
j:192.168.1.2 ← 192.168.1.4(LB)
k:192.168.1.4(LB)
でした。
下線③図2中の項番5と項番11のリソースレコードは、図3の構成では図1とは違う機器の特別なIPアドレスを指すことになります。
設問4(1)についての問題ですが、図2中の項番5は、図1中のECサーバのIPアドレスを問われています。これは、表1記載の内容から、192.168.1.2と推測できますが、これが図1の構成が図3になったとすると、LBのIPアドレスが設定される必要があります。更にこのIPアドレスは、問題文P.15の下から4行目の”負荷分散用のIPアドレスである仮想IPアドレスで受信…”とあるため、”特別”=”仮想”であると読み取れます。
項番11に関しても同様に考えることができますね。
模範解答は
機器:LB
特別なIPアドレス:仮想IPアドレス
でした。
下線④図4のリソースレコードの追加に対応して、既設ECサーバに設定されている二つの情報を変更します
設問4(2)についての問題ですが、ホスト名のほかに変更する情報を問われています。
“図4のリソースレコードの追加”というのは、LBと増設ECサーバのAレコードでした。
これらが追加されることで、既設のECサーバにおいて変更しなければならない設定…全く思い浮かばない…ルーティング系だったら、ホストファイルに追加?アドレッシング系だったら、接続するL2SWに上記追加分の情報をルーティングテーブルに足す?当たりかと思いますが、本文P.136行目”ECサーバに登録されているサーバ証明書は一つであり、マルチドメインに対応していない”が怪しいですね…
ホスト名が変わったのなら、サーバ証明書も発行しなおさないといけないでしょう。
とおもったのですが、もっと根本的な内容でした。。
模範解答は
(自身の)IPアドレス
でした。
下線⑤既設ECサーバでは、デフォルトゲートウェイのIPアドレスを変更します。
※更新中
設問4(3)についての問題ですが、どの機器からどの機器のIPアドレスをデフォルトゲートウェイとして設定するのか問われています。
本文では、下線⑤の直前に”パケットの転送を図5の経路にするために”とあるため、図5の経路となるようにデフォルトゲートウェイの宛先(これまでの流れから、これはLBですね)を設定すればよい、つまりルーティングテーブルに存在しないパケット送出時の宛先は常にLBとなるように設定するわけです。
一方、変更前の既設ECサーバのデフォルトゲートウェイは、NATが設定されていたFWzですね。
模範解答は
FWzからLBに変更
でした。
下線⑥ECサーバ宛てに送信するHTTPヘッダーに、X-Forwarded-Forフィールドを追加するようにします
設問4(4)についての問題ですが、X-Forwarded-Forフィールドを追加する目的を問われています。
X-Forwarded-Forフィールドは、クライアントとWebサーバの間に入るWAFサーバなどに向けて、普段は隠れている送信元IPアドレス(門設問の場合、PC)を格納・伝達する役割を持っています。
模範解答は
ECサーバにアクセス元のPCのIPアドレスを通知するため
でした。
下線⑦既設ECサーバ内のサーバ証明書の流用で対応できます。
※更新中
設問4(5)についての問題ですが、~流用で対応できるとかかれているものの、実際は追加作業は発生し、それが何か問われています。
サーバ証明書が用いられるのは、クライアントとのHTTP(TLS)コネクションを確立するときであり、これはLBとPC間でなされるはずです。
そのため、サーバ証明書や、その他必要な鍵情報はLBに移しておく必要があるわけです。
模範解答は
既設ECサーバにインストールされているサーバ証明書と秘密鍵のペアをLBに移す
でした。
下線⑧IPアドレスとポート番号との組み合わせでアクセス元を識別する場合は、TCPコネクションが切断されると再接続時にセッションが維持できなくなる問題が発生する。
※更新中
設問5(1)についての問題ですが、上記の状況でセッションが維持できなくなる理由を問われています。
セッションは、HTTPヘッダー内のCookie内に格納された情報を元に確認できるわけですが、このCookieはTCPコネクションの確立を前提に設定されているのです…?
とまぁ、分かった風で分かっていない回答を書いてしまいましたが、これはもっと基本的な話で、利用されるポート番号が、コロコロ変わるからですね。FTP等のように常に同じポートが使用されるならこういった問題は起きないかもしれませんが、本設問の場合はアクセス(TCPコネクション)毎に使用されるポート番号は変わると考えた方が自然でしょう。
模範解答は
TCPコネクションが再設定されるたびに、ポート番号が変わる可能性があるから。
でした。
下線⑨Cookie中のセッションIDと振り分け先のサーバから構成されるセッション管理テーブルをLBが作成し…
設問5(2)についての問題ですが、LBがセッション管理テーブルに新たなテーブルを追加するのはどんな場合か問われています。
一つ前の設問で、TCPコネクション毎にセッションが変わる話が出ておりました。セッション管理テーブルのレコードも、TCPコネクションが新たに確立されるたびに追加されると考えるのが自然でしょう。
が、模範解答は、より技術的に突っ込んだ内容でした。上記の内容だと、「それってどういう?と、なぞかけのような話になりますしね…
模範解答は
サーバからの応答に含まれるCookie中のセッションIDが、セッション管理テーブルに存在しない場合
でした。
下線⑩ヘルスチェック機能は、レイヤー3,4及び7の各レイヤーで稼働状態を監視する方式があり、ここではレイヤー7方式を利用する。
設問5(3)についての問題ですが、レイヤー3及び、レイヤー4方式では適切な監視が行われない理由を問われています。
レイヤー3はIPレベル、レイヤー4はTCP/UDPレベルのチェックですので、これらがOKでも、アプリケーション(レイヤ7)が故障していた場合、対象サーバを負荷分散の対象から外すことができませんね。
アプリケーション、と書いてしまったんですが、字数を考えると、模範解答の表現が適切ですね…
模範解答は
サービスが稼働しているか検査しないから
でした。
下線⑪SAML認証要求(SAML Request)を作成し、IdPである認証連携サーバにリダイレクトするよう要求する。
設問6(1)についての問題ですが、ログイン要求を受信したECサーバがリダイレクト応答を行うために必要とする情報を、購買担当者の認証・認可の情報を提供するIdPが会員企業によって異なることに着目して答えるよう、問われています。
P.18の下から13行目から、本設問におけるSSO(SAML)認証のやり方が記載されています。
・(a)利用者がIdPにログインした時刻、場所、使用した認証の種類
・(b)利用者の名前、生年月日
・(c)利用者が持つサービスを利用する権限などの情報
更に同ぺ時の下から3行目では、”z-DCで稼働するY社のECサーバがSAMLのSPに対応すれば、購買担当者は、自社内ディレクトリサーバ(以下、DSという)などで管理するアカウント情報を使って、ECサーバにSSOで安全にログインできる”とあります。
これはつまり、上記(a)~(c)の内、(b)と、且つどのIdPで認証がなされるべきかに関する情報があれば、リダイレクト応答が可能となるわけです。
ただ、字数制限の30字でうまく書けない…
模範解答は
アクセス元の購買担当者が所属している会員企業の情報
でした。
下線⑫IdPが作成するデジタル署名の検証に必要な情報…
設問6(2)についての問題ですが、図7の手順の処理を行うために、ECサーバに登録すべき情報を問われています。
IdPに対して、自分が正真正銘の、ECサーバであることを証明しつつ、必要な情報を渡すわけですから、IdPの公開鍵(これで暗号化して、IdP側は自身の秘密鍵で復号)をECサーバ内に保持させる必要がありますね。
模範解答は
IdPの公開鍵証明書
でした。
下線⑬受信した情報の中からSTを取り出し…
※更新中
設問6(3)についての問題ですが、取り出したSTをPCは改ざんすることができない理由を問われています。
P.20の下から4行目に、”IdPの鍵でSTを暗号化する”とありますね。
模範解答は
IdPの鍵を所有していないから
でした。
PCはSAML ResponseをSPへ転送する。SPはSAML Responseに含まれる下線⑭デジタル署名を検証…
設問6(4)についての問題ですが、受信したSAMLアサーションに対してできる検証を2つ問われています。
本設問において検証ん対象となっているのは、利用者と、利用されようとしている機能が正当化どうか、です。ここから回答を展開しようとしてしまいましたが、ここはセキュリティ的な観点で、やり取りしている相手が正当か(なりすましチェック)、やり取りしている内容が正当か(改ざんされていないか)という観点で答えるべきでした。
模範解答は
・信頼関係のあるIdPが生成したものであること
・SAMLアサーションが改ざんされていないこと
でした。
ネットワークの勉強をして良かったなーと思うこと
ITコンサルタントとしての現場において、プロジェクト内でトラブルシューティングやシステムインフラ設計において最も頼られる存在になり、安定した案件・プロジェクトアサインが実現できるようになりました。
参考:コンサルファームでアベイラブルになったら
文系SEであっても、こういった知識があると一目置かれた存在になれますし、キャリアアップの一助になります。
実際、僕はプログラマ➡SE(ネットワークエンジニア)➡ITコンサルタントとキャリアップしてきましたが、ITコンサルタントとして活動している今も本記事の様な技術的な部分を大事にしているため、’他のコンサルタントとは差別化された人材になれているな’と感じています。
本記事は技術的な内容でしたが、キャリアに関する情報をお探しの方はこちらも是非、ご覧ください。
参考:【文系 SE】ネットワークエンジニアのすすめ
それでは、Tchau◎
こじろう