プロキシサーバ
利用者の端末の代わりに、Webサーバなどに接続して通信を中継するサーバ。通信を一か所にまとめることで、アクセスの制限、ログの記録、利用者認証、キャッシュなどを行う。
イマシルちゃんの解説
プロキシ(proxy)は、「代理人」っていう意味なんだ。
会社のパソコンがインターネットのサイトを見たいとき、直接行くんじゃなくて、
プロキシサーバに「代わりに取ってきて」ってお願いするんだよ。
代理人が全部のお使いを引き受けるから、「危ないお店には行かせない」「誰がどこに行ったかを記録する」っていう管理ができるんだ!
より深い解説
定義
プロキシサーバ(フォワードプロキシ)は、組織の内部の端末からインターネット上のWebサーバへの通信を、端末に代わって中継するサーバである。端末はプロキシサーバに接続を要求し、プロキシサーバがWebサーバに接続して、結果を端末に返す。Webサーバから見ると、通信の相手はプロキシサーバになる。
主な機能と目的
| 機能 | 目的 |
|---|---|
| アクセス制御(URLフィルタリング) | 登録したFQDNやIPアドレス宛ての通信をブロックし、業務に不要なサイトや危険なサイトへのアクセスを防ぐ |
| ログの記録 | 誰が、いつ、どのサイトにアクセスしたかの履歴を残す |
| 利用者認証 | 認証サーバと連携して、利用者を確認してから通信させる |
| キャッシュ | 一度取得したコンテンツを保存し、次の要求には保存したものを返して、通信量を減らす |
| 出口の一本化 | インターネットへの通信をプロキシサーバ経由に限定し、端末からの直接の通信をファイアウォールで遮断できる |
端末の設定
| 方法 | 内容 |
|---|---|
| 手動設定 | ブラウザやOSに、プロキシサーバのアドレスとポート番号(例:8080)を設定する |
| PACファイル | 宛先に応じて、プロキシサーバを経由するか直接接続するかを判断するスクリプトを配布する |
| WPAD | PACファイルの場所を、DHCPやDNSで自動的に見つける |
| 透過型プロキシ | 端末には設定せず、ネットワーク機器で通信をプロキシサーバに転送する |
HTTPSの中継
端末は、HTTPSのサイトに接続するとき、プロキシサーバに CONNECT メソッドで接続先を伝え、プロキシサーバはTCPの通信をそのまま中継する(トンネル)。この場合、プロキシサーバは通信の中身(URLのパスや内容)を見られない。中身まで検査するには、プロキシサーバでTLSを終端して復号するTLSインスペクションが必要になる。
リバースプロキシとの違い
| フォワードプロキシ | リバースプロキシ | |
|---|---|---|
| 置く場所 | 利用者(クライアント)の側 | サーバの側 |
| 中継する通信 | 内部の端末 → 外部のサーバ | 外部の端末 → 内部のサーバ |
| 主な目的 | アクセス制御、ログ、キャッシュ | 内部のサーバの保護、負荷分散、TLSの終端 |