プロキシサーバって聞いたことあるけど何をしているサーバだワンか。
会社ではプロキシサーバを導入してPCで利用できるよう設定しているから、きっとメリットがあるはずだワン。

プロキシサーバの役割についてご紹介します。
結論として、企業でプロキシサーバを導入することによって、あなたのPCをセキュリティ面で保護するなどのメリットがあります。
プロキシサーバとは?

プロキシは代理という意味です。
YahooやGoogleなど一般サイトを閲覧する際、あなたのPCとサイトの間に入って、あなたのPCの代わりにサイトにアクセスしてくれます。
サイト閲覧する際のネットワーク経路としては以下のようになります。
PC → プロキシサーバ → 一般サイト
代わりにサイトにアクセスしてくれるのはわかったけど、何のためにそんなことやっているだワンか。

役割について、次章でご説明します。
プロキシサーバの役割

プロキシサーバには大きく分けて7つの役割があります。
URLフィルタリング機能

セキュリティ機能の一種です。
従業員が業務とは関係ないサイトを閲覧しないよう、企業の管理者がプロキシサーバにフィルタリング設定を行うことができます。
プロキシサーバの提供ベンダーによってサービス仕様が多少異なる点がありますが、一般的には2つのフィルタリングする方法があります。
カテゴリブロック
サイトのカテゴリ、つまり種類ごとにブロック有無を設定します。
例えば、企業の方針でSNSやゲームに関連するサイトは業務で使用してはならないルールになっているとしましょう。
プロキシサーバの管理画面ではSNSやゲームなど各カテゴリでON/OFFを設定できるようになっているので、SNSとゲームのカテゴリ設定をOFFにすることで実現できます。
どのサイトがSNSなのか?というカテゴリ分けはプロキシサーバの提供ベンダーによって判断されています。
このため、もし提供ベンダーがどこかの行政のサイトを誤ってSNSとしてカテゴリ分けしていたりすると、業務で使うサイトなのにブロックされてしまうという状況が発生します。
カテゴリ分けが誤っていることを提供ベンダーに申し出ても構いませんが、時間を要す場合があったり、対応してくれない場合があります。
セキュリティ対策では誤遮断が付き物であることを理解し、状況に応じて対象サイトがブロックされないようプロキシサーバ側でホワイトリスト登録するのが手っ取り早い対策となることもあります。
URLブロック
URLごとにブロック有無を設定します。
Internet ExplorerやGoogle ChromeなどのWebブラウザでサイト閲覧する際、画面上部にURL情報が表示されますよね。
企業のセキュリティ管理者が特定のサイトをブロックしたい場合、そのサイトURLをプロキシサーバの設定でブラックリスト登録することで実現します。
URLの判定方法としては以下の2つがあります。
- 完全一致:ブラックリスト登録内容と対象URLが完全に一致するかで判定
- 部分一致:ブラックリスト登録内容が対象URLに含まれるかで判定
完全一致より部分一致の方が広い範囲でブロックされる設定と言えます。
例えば完全一致、部分一致それぞれでexample.netをブラックリスト登録した場合、以下のようになります。
- example.netにアクセス ⇒ 完全一致、部分一致どちらもブロックされる
- sub.example.netにアクセス ⇒ 完全一致ではブロックされず、部分一致ではブロックされる
完全一致と部分一致どちらで設定するかで動作が異なるため、どのような制御を行うべきなのか設定の意図を正確に把握するようにしましょう。
Webアンチウイルス機能

アクセスしたサイトにマルウェアなどのウイルスが含まれる場合にブロックしてくれる機能です。
Webアンチウイルス機能はURLフィルタリング機能とは異なり、通常プロキシサーバ側の設定を管理者で変更する必要はありません。
代わりに、マルウェアであるかの判断はプロキシサーバの提供ベンダー側に任せることになります。
但し、提供ベンダー側で正当なサイトを誤ってブロックしてしまう場合があるため、その際は対象サイトのURLをホワイトリスト登録することで事象を回避します。
HTTPS復号化機能

URLフィルタリング機能とWebアンチウイルス機能はあなたのPCを守ってくれる便利な機能ですが、アクセスするサイトが暗号化されていないサイト、つまりHTTPサイトの場合に検査が可能です。
暗号化されているサイトであるHTTPSサイトまで検査を行いたい場合、プロキシサーバで暗号化された通信を紐解く必要があります。
暗号化された通信を紐解くことを復号化と言います。
ちなみよく複合化と表記されていることがありますが、誤りなので注意しましょう。
HTTPS通信を復号化することで、暗号化されているHTTPSサイトもセキュリティ検査ができるようになります。
導入時の注意としては、プロキシサーバを利用する人たちにプロキシサーバの証明書を配布し、PCに登録してもらう必要があります。PCへの証明書登録が大変なので、あえてHTTPSサイトまで検査はしないと判断している企業もあります。
キャッシュ機能

PCから直接サイトにアクセスする場合、アクセスする毎にコンテンツをダウンロードする必要があります。
プロキシサーバを利用してキャッシュ機能を有効化する場合、プロキシサーバがサイトのコンテンツ情報を一時的に保存できます。
コンテンツ情報を一時的に保存することで、同じサイトに再度アクセスした際、サイトの代わりにプロキシサーバがPCへコンテンツ情報を介すことでサイト表示を高速化できます。
また、プロキシサーバを複数人で利用している場合、あなたより前に誰かが対象のサイトにアクセスしていればプロキシサーバにキャッシュ情報がたまります。
このため、あなたが対象サイトへアクセスした際にサクサクと閲覧することができます。
キャッシュ機能では、プロキシサーバの利用者が多ければ多いほどサイト表示の高速化の恩恵を受けることができると言えます。
なお、Webサイト側のキャッシュ機能もあり、WordPressのキャッシュ機能は以下でご紹介しています。

ログ取得機能

ログ取得機能は管理者向けの機能です。
あなたがプロキシサーバを経由してサイトにアクセスする際、プロキシサーバのログには以下のような情報が記録されます。
- アクセス日時
- 送信元IPアドレス
- 宛先URL
- ユーザーエージェント
例えばあなたが2020年10月10日18時53分20秒(①アクセス日時)に、情報システム課のロッカー付近にある端末(②送信元IPアドレス)からFacebook(③宛先URL)に、タブレットPCのGoogle Chromeブラウザを利用して(④ユーザエージェント)アクセスしたということが記録されます。
昼休みにこっそりネットサーフィンしてFacebook見たら、管理者からは丸見えだワンね。
悪いことはできないワン。

アクセス情報を細かく確認できるがゆえ、ログ情報は外部に情報漏えいが起きないよう適切に管理する必要があります。
また、日々膨大なログ情報を記録するため、ログを定期的に圧縮することでプロキシサーバのディスク容量を圧迫しないよう対策する必要があります。
匿名化機能

プロキシサーバはPCに代わってサイトにアクセスしてくれるため、サイト側から見るとプロキシサーバからアクセスが来ているように見えます。
具体的には、サイト側のアクセスログには送信元IPアドレスがプロキシサーバであると記録されます。
サイト側から見ると、どこのPCからアクセスが来ているのかの匿名化することができるのです。
匿名化機能は本来セキュリティ対策として有用な方法ですが、世の中には匿名化の仕組みを悪用する人たちがいます。
サイバー攻撃の際に悪用されることが多いのはTor(トーア)です。
Torは世界中誰でも利用できるよう公開されているプロキシサーバで、攻撃者がTorをプロキシサーバとして設定することで、どこから攻撃が来ているのか匿名化することができるのです。
匿名化機能をくれぐれも悪用しないようにしましょう。
Torについては以下の記事でも紹介しています。

認証機能

プロキシサーバの認証機能を利用することで、管理者が許可したPCのみサイト閲覧させるといった制御ができます。
あなたの企業でプロキシサーバを導入している場合、サイトにアクセスする際にポップアップが表示され、IDとパスワードを入力していませんでしょうか。
このIDとパスワードは、プロキシサーバの認証機能によって求められている場合があります。
プロキシサーバの認証機能はログ取得機能と連携することができます。
ログ取得機能の章で紹介したログ情報に加えてID情報を取得することで、更に細かく個人の特定を行います。
まとめ

プロキシサーバには以下7つの役割があります。
- URLフィルタリング機能
- Webアンチウイルス機能
- HTTPS復号化機能
- キャッシュ機能
- ログ取得機能
- 匿名化機能
- 認証機能
プロキシサーバの役割について理解したワン。
サイト閲覧のために裏で色々と働いてくれている縁の下の力持ちだワンね。
