戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

ネットワークスペシャリスト 2015年 午後101


シングルサインオンの導入に関する次の記述を読んで、設問1~4に答えよ。

 A社は、新興の広告代理店である。A社ではここ数年、業務の拡大傾向が続き、営業システムや広告システムなど、PCのWebブラウザからアクセスされるWebアプリケーションを導入してきた。これらのWebアプリケーションの利用者認証は、それぞれ個別に行っている。しかし、この方法は利用者の利便性が低いことから、情報システム課に改善の要望が出されていた。  そこで、情報システム課のB課長は利用者からの改善要望を踏まえ、全ての社内Webアプリケーションの認証を共通化するために、シングルサインオン(以下、SSOという)の導入を考えた。SSOを導入すると、利用者は一度の認証操作で複数のシステムの利用が可能となる。   〔SSOの導入〕  情報システム課は、A社の全システムにSSOを本格導入する前に、試験的に営業システムと広告システムにSSOを導入することにした。そこで、B課長が要件をまとめ、ネットワーク担当のC氏に検討を指示した。その指示の内容を次に示す。  ・PCからアクセスされる、営業システムと広告システムを対象範囲として、SSOを可能にする。  ・SSOサーバは、障害に備えて負荷分散装置(以下、LBという)によって二重化を行う。  ・LBは、DSR(Direct Server Return)方式を使用する。  ・関連するシステムのURLを、表1のように設定する。   ネットワークスペシャリスト(平成27年度 午後1 問01 表01)
 C氏が検討したA社のシステム構成を、図1に示す。
ネットワークスペシャリスト(平成27年度 午後1 問01 図01)
〔SSOについての検討〕  C氏はHTTPを用いたSSOの方式と認証処理シーケンスについて検討した。SSOの方式を分類すると、SSOで利用したいサーバにエージェントと呼ばれるソフトウェアモジュールをインストールして実現するエージェント方式と、SSOサーバにおいて全ての通信の中継を行う 方式がある。C氏は、エージェント方式の検討を行い、エージェント方式を採用することにした。  エージェント方式におけるSSO認証処理のシーケンスは、次のとおりである。  ① PCからWebアプリケーションサーバに、サービス要求を行う。  ② Webアプリケーションサーバ内のエージェントは、サービス要求内のCookieに認証済資格情報(以下、アクセスチケットという)が含まれているか確認する。含まれていなければ、サービス要求はSSOサーバへ される。  ③ SSOサーバからPCに、認証画面を送る。  ④ PCからSSOサーバに、UserIDとPasswordを送出する。  ⑤ SSOサーバは、UserIDとPasswordから利用者のアクセスの正当性を確認したら、アクセスチケットを発行して、Cookieに含めて応答を返す。サービス要求は、Webアプリケーションサーバへ される。  ⑥ Webアプリケーションサーバ内のエージェントは、SSOサーバにアクセスチケット確認要求を送り、SSOサーバは、確認して応答を返す。  ⑦ Webアプリケーションサーバは、⑥の応答によって利用者のアクセスの正当性が確認できる場合、Webアプリケーション画面を送出する。    エージェント方式におけるSSO認証処理のシーケンスの①〜⑦を図示すると、図2のようになる。
ネットワークスペシャリスト(平成27年度 午後1 問01 図02)
〔SSOサーバの動作確認〕  C氏は、図1と同等構成の検証環境を本番環境とほぼ同じに用意し、SSOサーバを構築した。また、営業サーバと広告サーバには、エージェントのインストールを行った。  検証環境を構築した後、動作確認として営業システムへのアクセスを行ったところ、認証画面が表示されるところまでは想定どおり動作したが、UserIDとPasswordを正しく入力しても、営業システムの画面に遷移せず、SSOとして正しく動作しなかった。原因を調査したところ、SSOサーバから送出されるHTTP応答パケットのヘッダフィールドに、Domain属性が付与されていないからであった。  そこで、表1中のURL情報を参照して、SSOサーバの設定項目中の(Ⅰ)CookieのDomain属性を設定した 。その結果、営業システムと広告システムにおいてSSOが正しく動作するようになった。  SSOでCookieを用いる場合、Cookieが漏えいしたときにセキュリティの問題が生じる。そこで、(Ⅱ)Cookieが平文でネットワークを流れないように、表1中のサーバから返される全てのページをSSL/TLS対応ページに変更した。   〔負荷分散に関する設定と動作確認〕  C氏は、検証環境において、図1と同じように、LBをSW2に接続してVIPアドレスと負荷分散ポリシを設定するとともに、PCからsso.a-sha.example.jpへの認証リクエストの宛先がこのVIPアドレスとなるように、サーバに設定を行った。SSOサーバをDSR方式で負荷分散するときのLBの動作の要点を次に示す。  (1) PCからSSOサーバへのリクエストは、LBに設定されたVIPアドレスに送られ、LBは当該リクエストを負荷分散ポリシに従って、SSOサーバ1又はSSOサーバ2に転送する。  (2) 振り分け先については、TCPコネクション確立のためのSYNパケットがPCから届いた時点で、決定される。  (3) 振り分け先として決定されたSSOサーバにリクエストパケットが転送されるが、このリクエストパケットの宛先アドレスはVIPアドレスのままである。    要点(2)の動作から、DSR方式のLBは(III)Cookieなどのレイヤ7の情報を基にして振り分け先サーバを選定するような方式には対応できないことに注意する必要がある。  要点(3)の動作から、SSOサーバは、自IPアドレスと異なるVIPアドレス宛てのパケットを受信しなければならない。そこで、VIPアドレスを付与したインタフェースをSSOサーバに設定することにした。  C氏がインタフェースをSSOサーバに設定した後にLBを再起動したところ、(IV)IPアドレス重複エラーが検知された。そこで、このエラーの原因を調査し、(V)SSOサーバ上でARP関連の設定を加えて対処した。この対処によってエラーが解消され、想定どおりに動作することが確認された。    その後、A社は、営業システムと広告システムを対象範囲とするSSOシステムを正式に導入することにした。

設問1

本文中のに入れる適切な字句を答えよ。

模範解答

ア:リバースプロキシ イ:リダイレクト ウ:Set-Cookie エ:内部 DNS オ:ループバック

解説

解答の論理構成

  1. [問題文]では、SSOの方式に関して
    「SSOサーバにおいて全ての通信の中継を行う 方式がある。」
    と記載されています。SSOサーバがクライアントとWebアプリケーションの間に立って転送処理を行う代表的方式は“リバースプロキシ方式”です。したがって=リバースプロキシとなります。
  2. エージェント方式のシーケンス②・⑤で
    「サービス要求はSSOサーバへ される。」
    「サービス要求は、Webアプリケーションサーバへ される。」
    とあり、HTTPで別サーバへ遷移させる処理は“リダイレクト”です。よって=リダイレクトです。
  3. 動作確認時の不具合説明で
    「SSOサーバから送出されるHTTP応答パケットのヘッダフィールドに、Domain属性が付与されていない」
    とあります。Cookieをブラウザに渡すヘッダは“Set-Cookie”なので=Set-Cookieです。
  4. VIPへ名前解決させる設定箇所として
    「PCからsso.a-sha.example.jpへの認証リクエストの宛先がこのVIPアドレスとなるように、サーバに設定を行った。」
    と明記されています。名前解決を担当するのは“内部 DNSサーバ”であるため=内部 DNSです。
  5. DSR方式ではバックエンドサーバにもVIPを持たせ、OSが自分宛パケットとして扱う必要があります。その際、実インタフェースに割り当てるとARP応答競合が起こるため、通常はARPを出さない“ループバックインタフェース”を使います。本文にも
    「VIPアドレスを付与したインタフェースをSSOサーバに設定することにした。」
    とあるので=ループバックです。
これらより模範解答は
ア:リバースプロキシ
イ:リダイレクト
ウ:Set-Cookie
エ:内部 DNS
オ:ループバック

誤りやすいポイント

  • エージェント方式とリバースプロキシ方式の混同。どちらもSSO実現手段ですが、通信が必ずSSOサーバを経由するか否かが決定的な違いです。
  • を「フォワード」や「転送」と答えてしまう誤答。HTTPの“Location”ヘッダを伴うブラウザ側遷移はリダイレクトが正解です。
  • Cookieヘッダの種類。送信時は“Cookie”、サーバ応答時は“Set-Cookie”である点に注意が必要です。
  • DSRではVIPを実インタフェースに割り当てるとARP競合が発生するため、ループバック+ARP無効設定が定番対策になります。
  • DNSを“DHCPサーバ”と誤解するケース。名前解決とIP配布は別機能です。

FAQ

Q: DSR方式を採用したのはなぜですか?
A: レイヤ4でNATを行わず応答はサーバから直接クライアントへ返すため、スループットが高くSSOサーバのSSL/TLS終端性能をフルに発揮できるからです。
Q: CookieのDomain属性を設定しないと何が問題なのですか?
A: ブラウザはDomain属性がないCookieを発行サーバのFQDNにだけ送ります。本問では“sso.a-sha.example.jp”で発行されたCookieが“eigyou.a-sha.example.jp”へ送られず、チケット確認が失敗します。
Q: SSL/TLS化すればCookieは必ず安全ですか?
A: 通信経路は暗号化できますが、盗用された端末内のCookieやXSSによる抜き取りは防げません。Secure属性とHttpOnly属性の併用が推奨されます。

関連キーワード: シングルサインオン, リバースプロキシ, リダイレクト, Cookie, DSR

設問2

図2中の⑥で確認が行われるアクセスチケットは、PCに対して発行されたものである。PCはどの時点でアクセスチケットを得るかを、図2中の①〜⑦の番号で答えよ。

模範解答

解説

解答の論理構成

  1. 質問の主語は「アクセスチケットを得る PC」です。したがって、PC が Cookie 内にアクセスチケットを受け取るタイミングをシーケンス①〜⑦から探します。
  2. 【問題文】には次の記述があります。
    ⑤ SSOサーバは、UserIDとPasswordから利用者のアクセスの正当性を確認したら、アクセスチケットを発行して、Cookieに含めて応答を返す。
    ここで「発行して」「Cookieに含めて応答を返す」と明記されています。PC は SSO サーバからの「応答」を受信する側なので、この時点で初めてアクセスチケットを保持します。
  3. 以上より、PC がアクセスチケットを得るのは図2の番号「⑤」です。

誤りやすいポイント

  • ⑥と混同する
    • ⑥は「Webアプリケーションサーバ内のエージェント」が SSO サーバへ確認要求を送るフェーズであり、PC は関与しません。
  • ②で Cookie を送出すると考える
    • ②は「Cookieに認証済資格情報が含まれていなければ」リダイレクトされる場面です。まだアクセスチケットは存在していません。
  • 「発行」と「確認」の区別
    • ⑤が「発行」、⑥が「確認」です。動詞を意識すると取り違えを防げます。

FAQ

Q: アクセスチケットはどこに保存されますか?
A: 【問題文】「Cookieに含めて応答を返す」とあるとおり、PC のブラウザが保持する Cookie に保存されます。
Q: ④で資格情報を送った直後にチケットが発行されるのでは?
A: ④は送信のみで発行はまだ行われません。SSO サーバが受信・認証した後、⑤で発行し Cookie に載せて返送します。
Q: ⑦では Cookie が再送信されていますか?
A: はい。PC は ⑤ で受け取った Cookie を保持しているため、その後のアクセス(⑦ など)で同じ Cookie を送信し、シングルサインオンが成立します。

関連キーワード: Cookie, アクセスチケット, エージェント方式, リダイレクト, 認証シーケンス

設問3〔SSOサーバの動作確認〕について、(1)、(2)に答えよ。

(1)本文中の下線(Ⅰ)で、CookieのDomain属性として設定した具体的なドメイン名を答えよ。

模範解答

a-sha.example.jp

解説

解答の論理構成

  1. 問題文は、Cookie による SSO が失敗した原因を「SSOサーバから送出されるHTTP応答パケットのヘッダフィールドに、Domain属性が付与されていない」と述べています。
  2. Domain 属性は、複数サブドメイン間で Cookie を共有させるために設定します。
  3. 表1には以下の URL が示されています。
  4. 3 つすべてのホスト名に共通し、かつサブドメイン部分(sso., eigyou., koukoku.)を除いた最上位の一致部分は「a-sha.example.jp」です。
  5. 従って、Cookie を 3 サーバ間で共有させるには Domain 属性に「a-sha.example.jp」を設定するのが妥当です。
  6. これにより、SSO サーバで発行した Cookie が営業サーバ・広告サーバにも送信され、シーケンス⑤以降が正しく進行します。
  7. 以上から、(Ⅰ) で設定すべき具体的ドメイン名は「a-sha.example.jp」となります。

誤りやすいポイント

  • 「.example.jp」までしか指定せず、サブドメインが広すぎて外部サイトにも Cookie が送られる設定にしてしまう。
  • 「sso.a-sha.example.jp」のように発行元ホストをそのまま指定し、営業サーバ・広告サーバに Cookie が送信されず SSO が成立しなくなる。
  • ハイフンを含む「a-sha」を「asha」などとタイプミスし、ドメインが一致しない。

FAQ

Q: Domain 属性に先頭のドット「.a-sha.example.jp」を付ける必要はありますか?
A: RFC6265 では先頭ドットの有無で動作は変わりません。設問は「具体的なドメイン名」を問うているので「a-sha.example.jp」で十分です。
Q: Cookie の Path 属性は変更しなくてもよいのですか?
A: 本問はドメイン間共有が課題であり、Path は各 Web アプリケーションのルート “/” で共通と仮定できます。Path が相違しない限り追加設定は不要です。
Q: SSL/TLS を導入した際は Secure 属性も必須ですか?
A: 設問中に「(Ⅱ)Cookieが平文でネットワークを流れないように…SSL/TLS対応ページに変更」とあるため、実装段階では Secure 属性を付加するのが推奨です。

関連キーワード: Cookie, Domain属性, サブドメイン, シングルサインオン, RFC6265

設問3〔SSOサーバの動作確認〕について、(1)、(2)に答えよ。

(2)本文中の下線(Ⅱ)について、その対策を行っても、予期しなかったコネクションを介して、WebブラウザからCookieが平文で、ネットワーク上に意図せず流れてしまう可能性がある。これを防ぐために、SSOサーバがCookieを発行するときに実施すべき方策を、25字以内で述べよ。

模範解答

Cookie に Secure 属性を付ける。

解説

解答の論理構成

  1. 本文では「(Ⅱ)Cookieが平文でネットワークを流れないように、表1中のサーバから返される全てのページをSSL/TLS対応ページに変更した」と対策を実施しています。
  2. しかし HTTPS 化だけでは、ユーザが誤って HTTP でアクセスした場合や内部でリダイレクトが発生した場合に、ブラウザが Cookie を自動送信し、再び「平文でネットワークを流れ」る恐れがあります。
  3. これを防ぐには、ブラウザ側に「この Cookie は暗号化通信 (HTTPS) でしか送信してはいけない」という制約を与える必要があります。
  4. Cookie にその制約を与える標準的手段が、HTTP 応答ヘッダ “Set-Cookie” に「Secure」属性を付加することです。
  5. したがって、SSO サーバが Cookie を発行するときに実施すべき方策は「Cookie に Secure 属性を付ける」となります。

誤りやすいポイント

  • HTTPS 化だけで十分だと考え、「Secure 属性」を失念する。HTTP での誤アクセス時に漏えいリスクが残る点を見逃しやすいです。
  • 「HttpOnly 属性」と混同し、JavaScript からの盗難対策と勘違いする。設問は通信路上の平文漏えいを問題にしています。
  • サーバ側で HTTP ポートを閉じれば良いと安易に判断し、実運用で発生するリダイレクトや外部リンク経由のアクセスを考慮しない。

FAQ

Q: Secure 属性を付けてもブラウザは必ず HTTPS だけで送信しますか?
A: はい。Secure 付き Cookie はブラウザ仕様により HTTPS でしか送信されません。HTTP でのリクエスト時には自動的に付与されないため漏えいが防げます。
Q: HttpOnly 属性も合わせて設定すべきですか?
A: JavaScript による盗難対策として有効ですが、今回の設問は“平文で流れる”ことへの対策が主題なので、Secure 属性が必須事項です。
Q: サイト全体を HTTPS にリダイレクトすれば漏えいしませんか?
A: リダイレクト前の最初の HTTP リクエストに Cookie が付いてしまう可能性があります。Secure 属性でブラウザ側を縛ることが確実です。

関連キーワード: Secure属性, HTTPS, Cookie, セッション管理, 暗号化通信

設問4〔負荷分散に関する設定と動作確認〕について、(1)〜(3)に答えよ。

(1)本文中の下線(Ⅲ)の理由を、30字以内で述べよ。

模範解答

SYN パケットにはレイヤ7情報が含まれていないから

解説

解答の論理構成

  1. 問題文では、DSR方式のLBの動作要点として
    「(2) 振り分け先については、TCPコネクション確立のためのSYNパケットがPCから届いた時点で、決定される。」
    と明示しています。
  2. SYNパケットはTCPヘッダしか持たず、HTTPヘッダのようなアプリケーション層(レイヤ7)の情報は搭載しません。
  3. したがって、LBは「Cookieなどのレイヤ7の情報」を受け取る前に振り分け先を決めてしまうため、
    問題文の下線部(Ⅲ)で示された「Cookieなどのレイヤ7の情報を基にして振り分け先サーバを選定するような方式には対応できない」となります。
  4. 以上より、理由は「SYN パケットにはレイヤ7情報が含まれていないから」となります。

誤りやすいポイント

  • SYNパケットにHTTPヘッダが載ると誤解し、L7情報も取得可能と考えてしまう。
  • DSR方式でも後続パケットで再判定できると想定し、初期SYNでの固定を見落とす。
  • Cookie自体がTLSで暗号化されればLBも読めると混同し、層の違いを意識しない。

FAQ

Q: DSR方式でもHTTPヘッダを基に振り分けるロードバランサはありますか?
A: DSRは基本的にL4ロードバランスです。L7振り分けを行う場合はNAT方式やリバースプロキシ方式が用いられます。
Q: TLS終端をLBで行えばCookieベースの振り分けは可能ですか?
A: LBでTLS終端すればHTTPヘッダを解釈できますが、その場合は「DSR方式」ではなく「リバースプロキシ方式」など別方式になります。
Q: SYNパケット後のACK以降で振り分けを変更する実装はありますか?
A: 一部の高度な製品にはありますが、問題文のDSR方式ではSYN受信時に振り分けを固定する前提です。

関連キーワード: DSR方式, SYN, レイヤ7, Cookie, 負荷分散

設問4〔負荷分散に関する設定と動作確認〕について、(1)〜(3)に答えよ。

(2)本文中の下線(Ⅳ)で、IPアドレス重複エラー検知に用いられるARPの名称を答えよ。

模範解答

Gratuitous ARP 又は GARP

解説

解答の論理構成

  1. まず本文で、SSOサーバに 「VIPアドレス」 を付与した後、LB を再起動すると
    「(IV)IPアドレス重複エラーが検知された」 と記載されています。
    IP の重複はネットワーク上で ARP を用いて検知されるのが一般的です。
  2. VIP と実 IP を同一ネットワークへ載せる DSR 方式では、各実サーバが自分の MAC アドレスを知らせるために 同一 IP を持った ARP 通知 を出します。
    この通知は、ARP要求でも応答でもなく、自ホストから “私はこの IP を使っています” とブロードキャストする特別な ARP です。
  3. ネットワーク技術では、そのような ARP を
    “Gratuitous ARP(略称 GARP)”
    と呼びます。
    Gratuitous には “恩着せがましい” の意があり、要求されたわけではないのに自発的に名乗り出る ARP という意味合いです。
  4. よって、IP 重複を検知した ARP の正式名称は
    Gratuitous ARP(GARP)
    となります。

誤りやすいポイント

  • ARP を使うからといって「ARP リクエスト」と答えてしまう。重複検知で用いられるのは自発的に送信される“Gratuitous”形態です。
  • VRRP や HSRP と混同し、プロトコル名を書いてしまう。設問は“ARP の名称”を問うています。
  • “Broadcast ARP” など正式でない俗称を書く。試験では正式名称「Gratuitous ARP」が求められます。

FAQ

Q: Gratuitous ARP は常にブロードキャストですか?
A: はい。ARP テーブルを即時更新させる必要があるため、 宛てにブロードキャストされます。
Q: 重複検知に失敗すると何が起こりますか?
A: 同一セグメント内で同一 IP が複数の MAC で応答し、通信が不安定または遮断される可能性があります。
Q: DSR 方式で VIP を各実サーバに設定する理由は?
A: 戻りトラフィックを LB を経由させず 直接 クライアントへ返す(Direct Server Return)ためです。

関連キーワード: Gratuitous ARP, DSR方式, VIPアドレス, 負荷分散, ARPキャッシュ

設問4〔負荷分散に関する設定と動作確認〕について、(1)〜(3)に答えよ。

(3)本文中の下線(Ⅴ)の対処について、SSOサーバに対してどのような設定を行ったか。40字以内で述べよ。

模範解答

VIP アドレスに対する ARP リクエストに応答しないように設定する。

解説

解答の論理構成

  1. DSR 方式では VIP を 「LB」 が外部に提示し、実サーバは MAC アドレスを公開しないのが前提です。本文には
    「要点(3)の動作から、『SSOサーバは、自IPアドレスと異なるVIPアドレス宛てのパケットを受信しなければならない』
    とあります。
  2. そのため C 氏は 「VIPアドレスを付与した…インタフェースをSSOサーバに設定」 しましたが、LB 再起動後に
    「(IV)IPアドレス重複エラーが検知された」
  3. 重複の典型的原因は、VIP に対する ARP 要請に LB と SSO サーバの両方が応答してしまうことです。本文も
    「SSOサーバ上でARP関連の設定を加えて対処した」
    と明示しています。
  4. よって解決策は、SSO サーバ側で VIP の ARP 応答を抑止し、LB のみが VIP の MAC を返すようにすることになります。
  5. 以上から、「VIP アドレスに対する ARP リクエストに応答しないように設定する」が求められる設定です。

誤りやすいポイント

  • 「IPアドレス重複エラー」から 静的ARPエントリ を連想し、LB 側設定と誤解する。実際は SSO サーバの沈黙が解になります。
  • ループバック/仮想 NIC を VIP に設定しただけで満足し、ARP 抑止を忘れる。
  • DSR を NAT 型ロードバランサ と混同し、「ARP は LB が全部代行する」と早合点する。

FAQ

Q: ARP 応答を止めても SSO サーバは VIP 宛てパケットを受信できますか?
A: はい。DSR ではロードバランサが L2 内で宛先 MAC を実サーバの MAC に書き換えるため、ARP 応答が不要でも届きます。
Q: ARP 応答抑止は OS 依存ですか?
A: 依存します。Linux なら arp_ignore=1 arp_announce=2 など、Windows なら netsh interface ipv4 set interface unicastrespond=disabled などの方法があります。
Q: VIP への ICMP Echo 要求に SSO サーバは応答しますか?
A: ARP を遮断すると MAC アドレスが得られないため届きません。運用監視は LB 宛てに実施するのが一般的です。

関連キーワード: DSR, VIP, ARP, 負荷分散, Cookie
戦国ITクイズ機能

\ せっかくなら /

ネットワークスペシャリスト
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について