応用情報技術者 2011年 春期 午後 問05
リバースプロキシサーバの導入に関する次の記述を読んで、設問1~3に答えよ。
C社は、電話、インターネット及びテレビのサービスを一括して顧客に提供するCATV事業者である。
〔現在のシステム構成〕
C社では、日々の業務において、工事担当者が現場にいながらにして、作業予定の確認や作業報告ができるように、電話工事管理システム、インターネット工事管理システム及びテレビ工事管理システムという携帯電話端末用のWebシステムを導入し、業務効率向上を目指してきた。
現在のシステム構成を図1に示す。携帯電話端末は、携帯電話網とインターネットを接続するためのゲートウェイを経由して、インターネット上に公開されたWebサーバにアクセスする。“www.example.com”は、FW1のインターネット側IPアドレスに割り付けられたドメイン名である。

電話工事管理システム、インターネット工事管理システム及びテレビ工事管理システムは同一のWebサーバ上に配置されており、通信時にはSSLを用いた暗号化が行われる。HTTPで用いるポート番号は80、HTTPSで用いるポート番号は443であり、Webサーバには第三者機関から取得したサーバ証明書がインストールされている。
FW1に到着したWebサーバへのアクセス要求のパケットのうち通信が許可されたものだけが、ファイアウォールの静的アドレス変換の機能によって192.168.3.90に転送されるように設定されている。
Webシステムが利用するデータは、社内LAN内部のDBサーバに蓄積される。
電話工事管理システム、インターネット工事管理システム及びテレビ工事管理システムは、それぞれが独立したWebアプリケーションとして構築されている。Webアプリケーションを利用するにはログイン操作が必要であり、Webサーバ上のログインページのURLパスは表1のとおりである。
なお、URLパスとは、URL中のドメイン名より後の部分のことである。

各工事管理システムへの携帯電話端末以外からのアクセスを禁止するために、Webサーバにはアクセス制御の設定をしている。携帯電話端末以外から各工事管理システムにアクセスしようとしても、システムを利用することはできない。
なお、携帯電話端末からのアクセスか否かの判定は、Webサーバに通知される送信元IPアドレスを参照することで行われる。
〔リバースプロキシサーバの導入〕
リバースプロキシサーバは、インターネットからのアクセスを受け付け、アクセス時に指定されたURLに対応する別のサーバに通信を中継する、プロキシサーバの一種である。URLとサーバの対応は、あらかじめ設定されている。
C社では、セキュリティの強化とWebサーバの負荷分散のため、リバースプロキシサーバを導入してシステムを分散管理することにした。変更後のシステム構成を図2に示す。
変更後のシステム構成では、リバースプロキシサーバだけをDMZに配置し、それ以外のサーバは社内LANに配置する。
ゲートウェイとリバースプロキシサーバの通信ではSSLを用いた通信を行い、リバースプロキシサーバと各Webサーバ(192.168.5.201、192.168.5.202及び192.168.5.203)の通信では、SSLは用いない。
第三者機関から取得したサーバ証明書は a にインストールする。
↩設問1 ↩設問3(1)
電話工事管理システム、インターネット工事管理システム及びテレビ工事管理システムは、それぞれ別々のWebサーバで運用する。ログインページのURLパスは、どの工事管理システムも共通で "login.html" とする。
FW1ではポート番号 b の通信を、FW2ではポート番号 c の通信を許可しておく。また、リバースプロキシサーバには、表2の設定をする。
現在のシステム構成(図1)では、Webサーバで携帯電話端末以外からのアクセスを禁止するアクセス制御を行っているが、①変更後のシステム構成(図2)では、各Webサーバ(192.168.5.201、192.168.5.202及び192.168.5.203)でアクセス制御を適切に行うことができない。そこで、②ファイアウォールのパケットフィルタに、携帯電話端末からのアクセス時に使用されるIPアドレスの範囲以外からの通信を禁止する設定を追加することで、アクセス制御を行うように変更した。
携帯電話端末から、インターネット工事管理システムのログイン画面にアクセスする際の処理の流れを次に示す。
(1) 携帯電話端末から、e://f にアクセスする操作が行われる。
(2) ゲートウェイを経由して e://f に対するアクセス要求が送信される。
(3) 静的アドレス変換の機能によって、通信はリバースプロキシサーバに転送される。
(4) リバースプロキシサーバは、設定に基づいて g://h にアクセスする。
(5) リバースプロキシサーバは、Webサーバから受け取った結果をゲートウェイに返す。
(6) ゲートウェイは、ログイン画面の表示内容を携帯電話端末に返す。設問1:
問題文を見る模範解答
a:リバースプロキシサーバ
b:443
c:80
d:http
解説
解答の論理構成
-
サーバ証明書の設置先
引用: “第三者機関から取得したサーバ証明書は a にインストールする。”
直前の記述で “リバースプロキシサーバだけをDMZに配置し…ゲートウェイとリバースプロキシサーバの通信ではSSLを用いた通信を行い” とあります。SSLを終端する機器に証明書を置くのが原則なので、a は “リバースプロキシサーバ” となります。 -
FW1で許可すべきポート番号
引用: “ゲートウェイとリバースプロキシサーバの通信ではSSLを用いた通信を行い”
SSL (HTTPS) は “HTTPで用いるポート番号は80、HTTPSで用いるポート番号は443” と定義済み。したがって、インターネット側(FW1)で許可するのは “443” です。
よって b=443。 -
FW2で許可すべきポート番号
引用: “リバースプロキシサーバと各Webサーバ…の通信では、SSLは用いない。”
SSLを用いない=平文HTTPなので、c にはHTTPの既定ポート “80” を設定します。
これにより模範解答
a: リバースプロキシサーバ
b: 443
c: 80
d: http
が導かれます。
a: リバースプロキシサーバ
b: 443
c: 80
d: http
が導かれます。
誤りやすいポイント
- “SSLを用いた通信” と聞いて、DMZ内部もすべてHTTPSと決めつけてしまい c まで “443” にしてしまう。
- 証明書はWebサーバに載せるものという思い込みから a を “各Webサーバ” と誤記する。
- 表2の “d://” の空欄をURLの先頭に来る “https” と思い込む(内部通信は平文という条件を見落とし)。
FAQ
Q: リバースプロキシサーバでSSLを終端すると、内部通信が平文になりますが安全でしょうか?
A: DMZ内で暗号を解除し、FW2で社内LANへ限定したルートを提供しています。内部ネットワークは物理的・論理的に外部から隔離されているため、許容される設計です。必要に応じて内部をHTTPSにすることもできますが、本問では負荷分散と管理性を優先しています。
A: DMZ内で暗号を解除し、FW2で社内LANへ限定したルートを提供しています。内部ネットワークは物理的・論理的に外部から隔離されているため、許容される設計です。必要に応じて内部をHTTPSにすることもできますが、本問では負荷分散と管理性を優先しています。
Q: 証明書を各Webサーバではなくリバースプロキシサーバに置くメリットは?
A: 1枚の証明書で複数サーバをまとめて保護でき、証明書更新の手間を削減できます。また暗号処理をプロキシに集約できるため、バックエンドサーバの負荷軽減にもつながります。
A: 1枚の証明書で複数サーバをまとめて保護でき、証明書更新の手間を削減できます。また暗号処理をプロキシに集約できるため、バックエンドサーバの負荷軽減にもつながります。
Q: ポート番号80と443以外を使ってはいけませんか?
A: 技術的には他ポートでもSSL/TLSやHTTPは動作します。ただしファイアウォール設定・端末側設定を簡素化する観点から、標準ポートの “80” と “443” を用いるのが一般的です。
A: 技術的には他ポートでもSSL/TLSやHTTPは動作します。ただしファイアウォール設定・端末側設定を簡素化する観点から、標準ポートの “80” と “443” を用いるのが一般的です。
関連キーワード: リバースプロキシ, パケットフィルタ, DMZ, SSL/TLS, ポート番号
設問2:
問題文を見る本文中のe~hに適切な字句を入れてURLを完成させよ。
模範解答
e:https
f:www.example.com/srv2/login.html
g:http
h:192.168.5.202/login.html
解説
解答の論理構成
-
外部アクセス時のプロトコル
- 【問題文】「ゲートウェイとリバースプロキシサーバの通信ではSSLを用いた通信を行い」とあるため、外部(携帯電話端末→リバースプロキシサーバ)ではHTTPS(https)を利用します。
- よって e はhttpsです。
-
外部アクセス時のホスト名+パス
- インターネット側から見えるFQDNは【問題文】「“www.example.com”は、FW1のインターネット側IPアドレスに割り付けられたドメイン名である。」と明示されています。
- インターネット工事管理システムは【問題文】「表2 リバースプロキシサーバの設定」で /srv2/ が転送対象。ログインページは【問題文】「ログインページのURLパスは、どの工事管理システムも共通でlogin.htmlとする。」とあります。
- 以上より外部URLはwww.example.com/srv2/login.html。したがって f はwww.example.com/srv2/login.htmlです。
-
内部転送時のプロトコル
- 【問題文】「リバースプロキシサーバと各Webサーバ(192.168.5.201、192.168.5.202及び192.168.5.203)の通信では、SSLは用いない。」とあるので平文HTTP(http)となります。
- したがって g はhttpです。
-
内部転送時のホスト名+パス
- インターネット工事管理システム用Webサーバは【問題文】図2に示すとおり192.168.5.202。
- リバースプロキシは /srv2/ をhttp://192.168.5.202/ に転送する設定になっているので、ログインページはhttp://192.168.5.202/login.html。
- よって h は192.168.5.202/login.htmlです。
以上をまとめると
- e:https
- f:www.example.com/srv2/login.html
- g:http
- h:192.168.5.202/login.html
誤りやすいポイント
- 「リバースプロキシサーバと各Webサーバの通信では、SSLは用いない」を読み落として g をhttpsにしてしまう。
- 表2の「/srv2/」設定を見落とし、/srv1/ や /srv3/ と取り違えて f を誤記。
- 外部URLに内部IPアドレス192.168.5.202を書いてしまうなど、DMZ/社内LANの区別を混同する。
FAQ
Q: 外部URLの先頭がhttpsになる根拠はどこですか?
A: 【問題文】「ゲートウェイとリバースプロキシサーバの通信ではSSLを用いた通信を行い」とあるためHTTPSとなります。
A: 【問題文】「ゲートウェイとリバースプロキシサーバの通信ではSSLを用いた通信を行い」とあるためHTTPSとなります。
Q: 内部転送先のURLに /srv2/ を付けなくて良いのですか?
A: リバースプロキシが /srv2/ を取り除いたうえでhttp://192.168.5.202/ に転送する設定(表2)なので、内部URLはhttp://192.168.5.202/login.html になります。
A: リバースプロキシが /srv2/ を取り除いたうえでhttp://192.168.5.202/ に転送する設定(表2)なので、内部URLはhttp://192.168.5.202/login.html になります。
Q: もし各WebサーバにもSSL証明書を入れたら g はどうなりますか?
A: 各WebサーバがSSLに対応し、プロキシとの間も暗号化する設計に変更した場合は g=httpsに変わります。ただし今回の条件では「SSLは用いない」と明記されているためhttpが正解です。
A: 各WebサーバがSSLに対応し、プロキシとの間も暗号化する設計に変更した場合は g=httpsに変わります。ただし今回の条件では「SSLは用いない」と明記されているためhttpが正解です。
関連キーワード: SSL/TLS, リバースプロキシ, DMZ, パケットフィルタ, URLルーティング
模範解答
送信元のIPアドレスが、すべて192.168.3.90になるから
解説
解答の論理構成
- 【問題文】には、リバースプロキシサーバが “DMZ” に置かれ、IPアドレスが “192.168.3.90” であると記されています。
引用:「リバースプロキシサーバ…右上にIPアドレス “192.168.3.90” の表記」 - 同じく【問題文】には、携帯電話端末かどうかの判定を「送信元IPアドレスを参照」して行うと書かれています。
引用:「携帯電話端末以外からのアクセスか否かの判定は、Webサーバに通知される送信元IPアドレスを参照することで行われる。」 - 変更後は、外部からの通信が必ずリバースプロキシサーバを経由して社内LANの各Webサーバ( “192.168.5.201” “192.168.5.202” “192.168.5.203” )に届けられます。
引用:「リバースプロキシサーバは、インターネットからのアクセスを受け付け…通信を中継する」 - この中継で元の送信元IPはプロキシのIPに書き換えられるため、各Webサーバが受け取るパケットの送信元は常に “192.168.3.90” となります。
結果として、元々Webサーバで行っていた「送信元IPによるアクセス制御」が機能しなくなります。 - 以上から、解答は「送信元のIPアドレスが、すべて192.168.3.90になるから」となります。
誤りやすいポイント
- 「X-Forwarded-Forヘッダを見れば良い」と考えてしまう
→ 出題はOSI第3層のパケットフィルタ条件について問うており、アプリ層ヘッダは対象外です。 - 「192.168.5.201など社内側で何らかのNATを行えば区別できる」と誤解する
→ 区別したいのは送信元、つまり外部利用者のIP。NATは宛先アドレスの変換であり解決策になりません。 - 「UA(User-Agent)が携帯ブラウザなら判定可能では?」
→ 問題文に「送信元IPアドレスを参照」と明示されているため、他の情報は前提として使えません。
FAQ
Q: Webサーバ側でX-Forwarded-Forヘッダを解析すれば、アクセス制御を続けられませんか?
A: 技術的には可能ですが、設問は「現状のままでは適切に行えない理由」を問うており、ネットワーク層での制約を説明することが求められています。
A: 技術的には可能ですが、設問は「現状のままでは適切に行えない理由」を問うており、ネットワーク層での制約を説明することが求められています。
Q: リバースプロキシサーバに複数IPアドレスを持たせれば区別できますか?
A: 可能ですが、同じサーバで外部アクセスを終端する限り、Webサーバ側が直接外部アドレスを確認することはできず、追加設計が必要になります。
A: 可能ですが、同じサーバで外部アクセスを終端する限り、Webサーバ側が直接外部アドレスを確認することはできず、追加設計が必要になります。
Q: パケットフィルタで携帯電話網のアドレス帯以外を遮断する方法は安全ですか?
A: 携帯電話事業者がアドレス帯を変更した場合に通信不能となるリスクがあるため、定期的なメンテナンスが欠かせません。
A: 携帯電話事業者がアドレス帯を変更した場合に通信不能となるリスクがあるため、定期的なメンテナンスが欠かせません。
関連キーワード: リバースプロキシ, IPアドレス変換, 送信元フィルタリング, DMZ
(2)下線②について、ファイアウォールはFW1とFW2の2か所に設置されているが、どちらのファイアウォールに設定を追加すればよいか。答案用紙の“FW1・FW2”のいずれかを○印で囲んで示せ。
模範解答
FW1
解説
解答の論理構成
-
追加するパケットフィルタの目的
下線②では、
“ファイアウォールのパケットフィルタに、携帯電話端末からのアクセス時に使用されるIPアドレスの範囲以外からの通信を禁止する設定を追加する”
と記載されています。したがって設定は「携帯電話端末の送信元IPアドレス」を識別できる場所に施す必要があります。 -
送信元IPアドレスを識別できるポイント
変更後の構成(図2)を見ると、
・インターネット → “FW1” → DMZ(“リバースプロキシサーバ”)
・DMZ → “FW2” → 社内LAN(各Webサーバ)
の順でパケットが流れます。
アクセスは一度リバースプロキシサーバで終端されるため、リバースプロキシサーバより後ろ(すなわち “FW2” 側)では送信元IPが “192.168.3.90” に変わります。外部クライアントの実IPは保持されません。 -
どちらにフィルタを置くべきか
“FW2” に設定してしまうと、すべての通信の送信元IPはリバースプロキシサーバの “192.168.3.90” であり、携帯電話端末のIP範囲か否かを判定できません。
一方、“FW1” はインターネットに直接面しており、携帯電話端末が持つグローバルIP範囲をそのまま確認できます。したがって下線②の要件を満たせるのは “FW1” です。 -
結論
追加設定を行うファイアウォールは “FW1” となります。
誤りやすいポイント
- 「リバースプロキシサーバがあるから送信元IPが後段でも分かる」と早合点する。実際にはリバースプロキシでTCPセッションが分断されるため、FW2からは外部IPを確認できません。
- 「DMZ内で制御すれば十分」と考えてFW2を選ぶ。外部不正アクセスをDMZ内に入れないこと自体がセキュリティ強化の主旨です。
- “静的アドレス変換” と “逆引きプロキシ” を混同し、どの段階でIPが書き換わるかを取り違える。
FAQ
Q: リバースプロキシサーバでX-Forwarded-Forヘッダを使えばFW2でも制御できませんか?
A: それはHTTPレベルのヘッダです。FW2はL3/L4のパケットフィルタなのでヘッダを参照できず、要件を満たせません。
A: それはHTTPレベルのヘッダです。FW2はL3/L4のパケットフィルタなのでヘッダを参照できず、要件を満たせません。
Q: 携帯電話端末のIP範囲が変更された場合、FW1のみ更新すれば良いですか?
A: はい。送信元IPアドレスに基づく許可/拒否はFW1の設定で一元管理できます。
A: はい。送信元IPアドレスに基づく許可/拒否はFW1の設定で一元管理できます。
Q: DMZにもう一段ファイアウォールを追加する案は有効でしょうか?
A: 追加は可能ですが、本設問は既存の “FW1” “FW2” のいずれかで要件を満たすシンプルな構成を想定しています。
A: 追加は可能ですが、本設問は既存の “FW1” “FW2” のいずれかで要件を満たすシンプルな構成を想定しています。
関連キーワード: DMZ, パケットフィルタリング, 逆プロキシ, 静的アドレス変換



