プロキシ(proxy)サーバーとは?その仕組みや役割を知っておきましょう。
proxyサーバーはクライアントとWEBサーバーの間を中継するサーバーです。
間に入って通信を全て代理するので、秘匿性の確保・表示高速化・セキュリティの面が向上します。
インターネットとWEBサーバーの間を中継するリバースプロキシなどもあります。
プロキシ(proxy)サーバーとは?
プロキシサーバーの「proxy」は「代理」や「中継」を意味します。
ユーザーの代わりにインターネットに代理でアクセスする中継サーバーの事をプロキシサーバーと呼びます。
中継が主なので実物のWEBデータなどは入っていません。
プロキシの仕組み
プロキシサーバーは、一般家庭や社内ネットワークなどの環境からインターネットへの通信を中継する役割を持っています。
例えばとあるWEBサイトを訪問するとしましょう。その時以下のような流れで通信が起こります。
proxyサーバーを経由した通信の流れ
①クライアントからリクエストを送る
②プロキシサーバーが中継して、目的のWEBサイトサーバーにリクエストを出す
③WEBサイトサーバーからの返事をプロキシサーバーが受けとる
④プロキシサーバーがクライアントに返事を返す
⑤WEBサイトが閲覧できる
間にプロキシサーバーが入り込んで、関所の様な役割を果たす訳です。
ではなぜこのように間に中継サーバーを挟むのでしょうか。
これには様々なメリットがありますのでご紹介していきましょう。
プロキシサーバーの利点
個人情報を隠す
クライアントとWEBサーバーの間に入って、クライアントの代理で通信するのがプロキシサーバーの仕事です。
仮にプロキシサーバーを介さずに通常の通信をするとしましょう。
その場合自分のIPアドレスやホスト名・OSの種類などの情報が全て、WEBサーバー側に取得されてしまいます。
固定IP情報を知られるサイバーリスク
最近は企業だけでなく一般家庭においても、固定IPアドレスを使うケースが一般的です。
となればハッキングなどサイバー攻撃の対象にされるリスクが高まる訳です。
しかし、プロキシサーバーを中継するとIPなどのユーザー情報はWEBサーバー側には届きません。
proxyサーバーがクライアントの代理で通信する
クライアントが直接通信せず、間に入ったプロキシがクライアントの代わりにWEBサーバーにアクセスする訳です。
ですのでWEBサイトの管理者(WEBサーバー側)にはプロキシの情報しか伝わない事になります。
これによりクライアント側の情報が漏れないので、セキュリティが向上します。
WEBサイト表示の高速化
もう一つの利点はキャッシュ能力です。
プロキシサーバーのキャッシュ機能により、WEBサイト表示の高速化が実現できます。
またインターネット自体へのトラフィック量が減少するため、回線帯域の節約につながります。
プロキシサーバーは全てのコンテンツをキャッシュするので、仮に初めて見るユーザーに対しても素早くコンテンツを表示させる事ができます。
※高速化にも限度があります。通信回線などで影響を受けます。
フィルタリングによるセキュリティ
プロキシサーバーには、「コンテンツフィルタリング」と呼ばれるWEBページの選別機能があります。
主にブラックリスト方式とホワイトリスト方式の2つがあります。
ブラックリスト方式
有害とされるWEBサイトやアドレスをリスト化し、それに該当するもの全ての通信を遮断する方式です。
ホワイトリスト方式
安全とされるWEBサイトやアドレスをリスト化し、それに該当したもののみ通信を許可する方式です。
こういったフィルタリングが有効になって入れば、危険なサイトへの訪問を自動ブロックできる訳です。
プロキシ上にログが残る
プロキシ上には、サイトへアクセスしたユーザーに関する様々なログが残ります。
・誰がどのWEBサイトを見ているのか
・どういった環境から不正なアクセスが試みられているのか
など様々な記録が残ります。
もしサイバー攻撃による被害が発生した場合に、このログの解析を行うことで適切な対応を行うことができます。
プロキシ上でウィルスチェックができる
クライアントの端末上ではなくプロキシ上でウィルスチェックを行うことができる点も重要です。
プロキシ上でウィルスを検知できれば、社内ネットワークなどへの侵入を防ぐ事ができます。
社内ネットワークの安全性が向上すると同時に、ウィルスチェックがプロキシ上での管理となるので運用が楽になりますよね。
プロキシサーバーの種類
フォワードプロキシ
一般的にプロキシサーバーと言われるのは「フォワードプロキシ」を指します。
クライアントとWEBサーバーの間に入り「一般家庭」や「社内ネットワーク」側の代理としてインターネットへの通信をおこないます。
またプロキシサーバーを複数経由することを「多段プロキシ」と呼びます。
この技術はダークウェブなどで利用される匿名通信「Tor(トーア)」でも応用されています。
キャッシュサーバー(CDN)
WEBサイトが配信するページや画像などのコンテンツをキャッシュして保存するのが目的です。
リクエストの際はWEBサーバーに直接アクセスせず、代わりにキャッシュ情報を送信します。
これによりWEBサーバーへの負荷軽減や接続の高速化が実現できます。
コンテンツ配信ネットワークCDN
キャッシュサーバーを設置してコンテンツ配信を高速化するのがCDN(コンテンツ配信ネットワーク)です。
音楽や映画・ゲームなどの大容量デジタルコンテンツ配信サービスを高速に配信するのに、このCDNサービスが利用されています。
透過型プロキシ(Transparent Proxy)
フォワードプロキシに類似していますが、透過型の場合はPC端末側のプロキシ設定ではありません。
ネットワーク側の制御により裏で代理通信させるのが特徴となります。
透過型プロキシはユーザー側で迂回路を作ることができないため、セキュリティ上の安全性が担保されています。
リバースプロキシ
フォワードプロキシはクライアント側の代理であり、クライアントとインターネットの間に設置されるものです。
それに対しリバースプロキシは、インターネットとWEBサーバー側の間に設置されるサーバーです。
外部からの通信をWEBサーバーの前で受け付けることで、直接WEBサーバーへのアクセスができないため不正アクセスを防止できます。
キャッシュによりWEBサーバーへの負荷を軽減でき、特定IPアドレスのアクセス許可・遮断をする事ができます。
リバースプロキシとの違い
リバースプロキシは、インターネットとWEBサーバー通信の間に入って中継をします。
前述のプロキシ(フォワードプロキシ)と比較すると、インターネットへ接続する方向が逆になるのでリバースプロキシと呼ばれます。
リバースプロキシの通信の流れ
①クライアントからインターネット経由でリクエストを送信する
②送信先URLに割り当てられたリバースプロキシが受け取る
③リバースプロキシがコンテンツを保有するWEBサーバーへリクエストを転送する
④WEBサーバーがリバースプロキシにコンテンツを返送する
⑤リバースプロキシが受信コンテンツをクライアントへ送信する
中継する場所が違う
プロキシとリバースプロキシは、WEBサーバーへの通信を中継する点では同じです。
プロキシは一般家庭や社内LANからのクライアントとインターネットの間を中継します。
一方リバースプロキシは、インターネットとWEBサーバー間のアクセスを中継するものです。
プロキシを利用するデメリット
これはいずれも悪意ある第三者がプロキシサーバーを設置した場合を想定したものです。
あくまで「可能性」のお話になりますが、全くないとは言い切れません。
不正なページへ転送させられる
プロキシサーバーは、最終的にWEBサーバー側からの反応をクライアントへ送信してきます。
この時に正しいサイトではなく不正なサイトに誘導するケースがあります。
プロキシサーバー側に悪意があると、この誘導通信を防ぐ事ができません。
接続履歴を閲覧されてしまう
プロキシサーバでは、クライアントのアクセス情報を全て管理しています。
「どの端末がどのサイトへアクセスしたか」や接続履歴をすべて閲覧されてしまう可能性がある訳です。
パスワード情報が抜き取られる
WEBサイトの代わりにクライアントのアクセスを受けるのがプロキシサーバーの役目です。
となると、クライアントの接続IDやパスワードなどのデータも全て受け取っている事になります。
もしプロキシサーバーが悪意を持つ第三者によって設置されている場合、こうしたパスワードなどの情報が抜き取られてしまう恐れがあります。