今回はプロキシサーバについてご紹介します。
プロキシサーバは日本の多くの企業で採用されているので、
企業ネットワークを構築するにあたって理解しておくべきポイントです。
プロキシサーバとは
プロキシ(proxy)は代理という意味です。
クライアントの代理でインターネット上のWebサーバなどとやり取りを行います。
プロキシサーバのメリット
プロキシサーバを導入するメリットは4つ考えられます。
- セキュリティの向上
- 通信の匿名性
- 通信の速度向上
- 通信の記録
セキュリティの向上
個人的に考えるプロキシサーバを用いる一番のメリットは、
セキュリティの向上が期待できることです。
プロキシサーバにセキュリティ機能がある場合は、
Webフィルタリングによる有害サイトのアクセスをブロックすることが可能です。
また、プロキシサーバを利用する際に認証を行うことも可能です。
ID/Passによる認証も可能ですし、
Windows環境下であればADサーバと連携することで、
認証されているユーザからの通信のみを許可するということも可能です。
通信の匿名性
クライアントの代理で通信を行いますので、匿名性が向上が期待できます。
情報処理の資格系の本だったり、インターネットで検索すると、
プロキシサーバのメリットとしてよく挙げられていますが、
現在のWebサービスやネットワークの環境としては、
あまりメリットとも言えない状況となっています。
プロキシサーバを利用することで、隠せる情報としては、
IPアドレス、OSや使用しているブラウザ情報などが挙げられます。
家庭でも企業でもルータがNATやNAPTをして、
インターネット上に通信を行っていますので、
もともと相手に知られるのはグローバルIPアドレスのみとなっています。
グローバルIPアドレスは知られても問題ない情報ですし、
ルータに対してインターネット側からの不特定の送信元からのSSH・Webアクセスや、
ping応答を拒否しておくなどの対策をとっておけば十分かと思います。
また、OSやブラウザの情報はHTTPのGET内のUser-Agentヘッダに含まれていますが、
インターネット上のサイトに通信する際はHTTPSを用いることがほとんどなため、
このリクエスト自体が暗号化されているため、
プロキシサーバを使用することならではのメリットとは言えなくなってきていると考えます。
通信の速度向上
プロキシサーバを用いることで通信速度の向上が期待できます。
プロキシサーバにWebページ、DNSの応答結果をキャッシュする機能があるものもあります。
これらがキャッシュされている場合は、
2台目以降のクライアントがそのページを閲覧しようとすると、
わざわざインターネット上のページやDNSサーバまで通信しなくとも、
もっと近くにいるプロキシサーバが応答してくれるので、
通信速度が速くなることが期待できます。
現在では大容量通信が可能になっていますので、
WebページやDNSクエリ程度の通信量では体感的にはあまり速度の向上を感じれないかと思います。
通信の記録
プロキシサーバでは通信をログとして保存することができます。
セキュリティな観点で異常に頻繁にアクセスが発生している宛先を確認したり、
どこ宛の通信量が多いかなどの社員が使用しているアクセス先の調査などにも役立ちます。
プロキシサーバのデメリット
プロキシサーバのデメリットは2つ考えられます。
- 攻撃対象となりうる
- ボトルネックとなり通信速度の低下を招く
攻撃対象となりうる
プロキシサーバのメリットでご紹介しましたが、
プロキシサーバには通信ログやキャッシュ情報という、
攻撃者からするとお宝が詰まっています。
通信ログは単純にどこ宛ての通信があるのかや、
ローカルIPアドレス情報などが流出してしまいます。
またキャッシュ情報を汚染(ポイズニング)することで、
不正なサイトへ一人だけでなく、会社ごと誘導することが可能になってしまいます。
ボトルネックとなり通信速度の低下を招く
プロキシサーバのメリットで通信の速度向上が期待できると記載しましたが、
現在のWebサービスの状況下では逆にボトルネックとなり速度低下を招く場合があります。
現在はMicrosoft365(Office365)や、
GoogleAppsを始めとしたOfficeソフトがSaaS化されています。
特にこれらのメールソフトを使用した場合に、1クライアントあたり、
30~50セッションと多くのセッション数を使用すると言われています。
メールソフトはメール送受信以外にカレンダー機能が備わっており、
自分や他人のスケジュールを管理・閲覧できるなど多機能なため、
その分通信回数、通信先が多くなる傾向があります。
また、ZoomやTeamsなどのオンライン会議サービスの利用も多くなってきています。
ビデオONの状態で通話をした場合は1.5Mbpsの帯域を使用すると言われています。
このような状況下ですと、
セッション数やトラフィックの量で、プロキシサーバの処理能力によっては、
プロキシサーバがボトルネックとなり、逆に通信速度が低下する恐れがあります。
ブレークアウトとは相性最悪
感のいい方はお気づきだと思いますが、これらはどこかで聞いた話ですよね。
そして、セッション数やトラフィック量のひっ迫には対策方法がありましたよね。
そうです、『ブレークアウト』です。
ブレークアウトすればいいじゃんと思うかもしれませんが、
プロキシサーバとブレークアウトは相性が最悪です。
NW機器(SD-WAN機器)でどうブレークアウト先か判別するかは、
大きく2通りあります。
- 宛先IPアドレス
- HTTPヘッダ情報
特に宛先IPアドレスで判別するNW機器とは相性が最悪です。
少し(正確には明示型、Explicit)プロキシの通信フローに触れますが、
クライアントはこの宛先に通信したいよとHTTPのGETリクエストを投げます。
このときの宛先IPアドレスはプロキシサーバです。
SD-WAN機器でMicrosoft365(Office365)を、
ブレークアウト対象と設定していたとしても、
宛先IPがプロキシサーバとなっているため、
SD-WAN機器ではブレークアウト対象でないと判断してしまい、
ブレークアウトすることができません。
解決方法としてプロキシを廃止することも考えられますが、
プロキシ利用前提のネットワークが構築されているので大規模な設定変更や、
社員全端末の設定変更が必要になるなど、
影響範囲が広いことからなかなか難しいかと思います。
ブレークアウト+プロキシの解決方法
ブレークアウトもしたいし、プロキシを廃止することもできない場合の解決方法は、
NW機器(SD-WAN機器)をプロキシとして動かすことです。
クライアントが参照するプロキシサーバとしてNW機器に指定します。
NW機器はクライアントから受け取ったリクエストを見て、
ブレークアウト対象かブレークアウト対象でないかと判別します。
対象でないならば、既存のプロキシへ転送するといった動作を行うことができます。
まとめ
- プロキシサーバはHTTPの通信を代理で行う
- プロキシサーバのメリットはセキュリティ向上できること
- プロキシサーバのデメリットは通信速度低下を招く恐れがあること
- 速度低下の原因はSaaSとオンライン会議サービスの通信量増加
- 対策方法はブレークアウトだが、プロキシサーバと相性が悪い
- その解決策はNW機器でプロキシサーバを動作させること
YouTube
YouTubeでもプロキシサーバについてご紹介しています。
ブログと合わせてご覧ください。