外の世界から守ってくれるプロキシ

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

プロキシサーバ又はリバースプロキシサーバを新たにDMZに導入するセキュリテ強化策のうち、導入によるセキュリティ上の効果が最も高いものはどれか。

  1. DMZ上の公開用Webサーバとしてリバースプロキシサーバを設置し、その参照先のWebサーバを、外部からアクセスできない別のDMZに移設することによって、外部のPCとの通信におけるインターネット上での盗聴を防ぐ。
  2. (正解)DMZ上の公開用Webサーバとしてリバースプロキシサーバを設置し、その参照先のWebサーバを、外部からアクセスできない別のDMZに移設することによって、外部から直接Webサーバのコンテンツが改ざんされることを防ぐ。
  3. 社内PCからインターネット上のWebサーバにアクセスするときの中継サーバとしてプロキシサーバをDMZに設置することによって、参照先のWebサーバと社内PC間の通信におけるインターネット上での盗聴を防ぐ。
  4. 社内PCからインターネット上のWebサーバにアクセスするときの中継サーバとしてプロキシサーバをDMZに設置することによって、参照するコンテンツのインターネット上での改ざんを防ぐ。

出典 : ネットワークスペシャリスト試験 平成27年秋期 午前Ⅱ問18

プロキシは、インターネットとの接続を中継してくれる代理人です。

プロキシは、単に「プロキシ」と言ったり「プロキシサーバ」と言ったりします。

Webアクセスで利用されるプロキシサーバの機能として,適切なものはどれか。

  1. 外部サーバのホスト名と IP アドレスの対応表をもち、クライアントからの問合せに対してホスト名に対応する IP アドレスを通知する。
  2. クライアントを内部ネットワークに接続するときに、クライアントに対して IP アドレスを動的に割り当てる。
  3. 内部ネットワークで使っているプライベート IP アドレスとグローバル IP アドレスとを相互変換し、外部サーバとの直接通信を実現する。
  4. (正解)内部ネットワークのクライアントが外部サーバと通信する場合、中継役となりクライアントの代わりに外部サーバに接続する。

出典 : 基本情報技術者試験 平成17年秋期 問56

社内ネットワークなど内部とインターネットなど外部の接続を中継してくれます。英語で書くと「proxy」で日本語に訳すと「代理人」になります。 インターネットは楽しいですが、怖い人々がたくさん待ち構えています。 そんな、怖い人々と直接やりとりするのは嫌なのでプロキシさんに代理人としてやりとりしてもらうのです(これはイメージです)。

TCP/IPネットワークのフォワードプロキシに関する説明のうち,最も適切なものはどれか。

  1. Webサーバと同一の組織内(例えば企業内)にあって,Webブラウザからのリクエストに対してWebサーバの代理として応答する。
  2. Webブラウザと同一の組織内(例えば企業内)になければならない。
  3. (正解)Webブラウザの代理として,Webサーバに対するリクエストを送信する。
  4. 電子メールをインターネット上の複数のサーバを経由して転送する。

出典 : 応用情報技術者試験 令和元年秋期 問35

接続元にあるのが「フォワードプロキシ」、接続先にあるのが「リバースプロキシ」

裁判をする時に訴える人も訴えられる人も弁護士さんを立てます。訴える人と訴えられる人が、接続元のパソコンや接続先サーバで、弁護士さんがプロキシサーバ、みたいなイメージです(本当にイメージです)。

接続するパソコンが、内部ネットワークにあってインターネットに接続する時に、代理でインターネットに接続してくれるのがフォワードプロキシです。英語で書くと「forward proxy」で「前方の + 代理人」になります。

Webサーバを使ったシステムにおいて,インターネット経由でアクセスしてくるクライアントから受け取ったリクエストをWebサーバに中継する仕組みはどれか。

  1. DMZ
  2. フォワードプロキシ
  3. プロキシARP
  4. (正解)リバースプロキシ

出典 : 応用情報技術者試験 平成31年春期 問35

Webサーバを作る人々にとっては、インターネットから接続し来る人々はどんな怖い人がいるか分からないので怖いものです。だから、インターネットからWebサーバへの接続の時に代理人を立てます。これがリバースプロキシです。英語で書くと「reverse proxy」で「反対の + 代理人」になります。

種類 接続元 接続先
フォワードプロキシ 内部ネットワークのクライアント インターネット上のサーバ
リバースプロキシ インターネット上のクライアント 内部ネットワークのサーバ

フォワードプロキシにはいろんな利点があります。

プロキシサーバが接続元PCの代理としてインターネットに接続してくれるのでPC固有のIPアドレスなどの情報を晒さずに済みます。

ユーザー認証機能をくっつければ、認証した人だけがインターネットに接続できます。 プロキシサーバにユーザー認証を実装することで、登録されて認証できた人だけがインターネットを使えるようにすることができます。

接続元PCの情報を外部に曝さずにインターネットを使えます。
キャッシュでよくみるページへのアクセスが速くなります。 プロキシサーバには、表示したページ情報をキャッシュしておく機能があり、同じページを再度表示する場合はキャッシュを使用することで素早くページを表示できます。

フィルタリングで、怪しいサイトへの接続を禁止できます。 社内の決まり(ポリシー)に沿って、怪しいサイトへの接続を禁止することでPCへのマルウェアの侵入対策になります。

情報を一元管理できます。 内部ネットワークにあるPCは、みんなプロキシサーバを経由することになるので各自のインターネット接続情報が一元管理されることになります。 それにより、何か事故や問題が起こった時にプロキシサーバの記録をたどることで調査が可能になります。

リバースプロキシにも利点があります。

負荷分散を行なったり、プロキシで暗号化・復号を行うことによるSSL通信の高速化を図ることができます。

板橋区志村の熊野湯

使っているPCに設定されたプロキシサーバを確認してみます。

Macの場合

[システム環境設定] > [ネットワーク] > [Wifi]などのインターフェースを選択 > [詳細]ボタン > [プロキシ]タブ、とたどっていくとみられます。

Windowsの場合

# コマンドで確認したい場合は、コマンドプロンプトなどのターミナルを起動して`netsh winhttp show prox`と打てばOKです。
# プロキシサーバーを使っていないとこんな感じ
$ netsh winhttp show prox

現在の WinHTTP プロキシ設定:

    直接アクセス (プロキシ サーバーなし)。

画面で見たい場合は、Win + X > [設定] > [Windowsの設定]ダイアログ表示 > [ネットワークとインターネット] > [プロキシ]とたどっていくとみられます。

次回の勉強内容

ponsuke-tarou.hatenablog.com