プロキシサーバー

プロキシサーバーとは

プロキシサーバーは、クライアントの代理(proxy)としてインターネットへアクセスする中継サーバーです。社内PCがWebサイトを見るとき、直接アクセスするのではなく「PC → プロキシ → Webサイト」という経路をとります。

Webサイト側から見えるのはプロキシのIPアドレスであり、社内の個々のPCは直接インターネットに出ない構成になります。企業ネットワークで広く使われる形です。

プロキシで何ができるか

  • アクセス制御 — 業務に不要なサイトや危険なサイトへのアクセスを遮断する(URLフィルタリング)
  • ログの記録 — 誰がいつどこへアクセスしたかを記録し、監査やインシデント調査に使う
  • キャッシュ — 一度取得したコンテンツを保存して再利用し、回線負荷と表示時間を減らす([[HTTPキャッシュ]] の共有キャッシュとして働く)
  • マルウェア検査 — 通過する通信をスキャンして脅威を検出する

[[ファイアウォール]] が「ポートや宛先の単位」で通信を制御するのに対し、プロキシは [[HTTP]] の中身を理解した上で「URLやコンテンツの単位」で制御できるのが持ち味です。

フォワードプロキシとリバースプロキシ

「プロキシ」と言ったとき、立ち位置の違いで2種類があります。

フォワードプロキシリバースプロキシ
誰の代理かクライアント(社内PCなど)の代理サーバーの代理
置き場所社内ネットワークの出口Webサーバーの手前
主な目的アクセス制御・ログ・キャッシュ負荷分散・TLS終端・防御

本記事で扱ってきたのはフォワードプロキシです。サーバー側の手前に立つ [[リバースプロキシ]] は別記事で解説しています。

初学者向けポイント

  • 社内ネットワークで「ブラウザは見えるのに curl やツールが繋がらない」ときは、プロキシ設定(環境変数 HTTP_PROXY / HTTPS_PROXY)の抜けを疑う
  • プロキシは通信を中継する立場のため、社内の証明書を使って [[HTTPS・TLS]] の通信を検査する構成もある — 会社支給PCに独自の証明書が入っているのはこのため
  • 匿名化目的の公開プロキシは通信内容を第三者に預けることになる — 安易に使わない

関連技術とのつながり

  • [[リバースプロキシ]] — サーバー側の手前に立つ、向きが逆のプロキシ
  • [[HTTP]] — プロキシはHTTPを理解して中継・制御する
  • [[ファイアウォール]] — 通信制御の粒度が異なり、組み合わせて使われる
  • [[HTTPキャッシュ]] — プロキシは複数人で使う共有キャッシュとして働ける
Q: フォワードプロキシの説明として正しいのはどれ?
- [x] クライアントの代理でインターネットへアクセスする中継サーバー
- [ ] Webサーバーの手前に置いて負荷分散する装置
- [ ] ドメイン名をIPアドレスに変換するサーバー
解説: フォワードプロキシはクライアント側の代理です。サーバー側の代理はリバースプロキシ、名前解決はDNSの役割です。

Q: プロキシとファイアウォールの違いとして本文で挙げられているのはどれ?
- [ ] プロキシは通信を暗号化し、ファイアウォールは復号する
- [x] プロキシはHTTPの中身を理解してURLやコンテンツ単位で制御できる
- [ ] ファイアウォールの方がURLフィルタリングを得意とする
解説: ファイアウォールはポートや宛先の単位、プロキシはHTTPを理解した上でURL・コンテンツ単位の制御が持ち味です。

Q: プロキシサーバーの機能として本文で挙げられていないのはどれ?
- [ ] アクセスログの記録
- [ ] コンテンツのキャッシュ
- [x] IPアドレスの自動配布
解説: アドレスの自動配布はDHCPの役割です。プロキシはアクセス制御・ログ・キャッシュ・マルウェア検査などを担います。