こんにちは。スプラッシュトップ編集部です。
プロキシサーバーはセキュリティ対策や利便性の向上などを目的として利用されており、その種類はいくつかあります。
この記事では、プロキシサーバーの基礎知識から利用する中でよく聞かれる“遅い”という悩みの原因と対処方法について解説します。
プロキシサーバーとは
まずプロキシ(Proxy)は“代理”という意味で、プロキシサーバーとはユーザーやWebサーバーの代わりにアクセスを行い、応答するサーバーです。
通常のWebアクセスでは、PCやスマートフォンなどのデバイスが直接Webサーバーと通信を行います。対して、プロキシサーバーを介する場合は、プロキシサーバーがデバイスとWebサーバーの間に立ち、ユーザーの代わりにWebサーバーと通信する存在になります。
プロキシサーバーはインターネットを介したネットワーク接続の効率性を向上させるだけでなく、セキュリティ上の安全性を高めることにもつながります。
例えば、企業ネットワークとインターネットを接続する際、プロキシサーバーを介しアクセスをすることでサイバー攻撃などの脅威からユーザーを守ることができます。また、プロキシサーバーがアクセスを一元的に管理することでURLフィルタリング(Webサイトへのアクセス制限)などのさまざまな施策が実施可能です。
プロキシサーバーは企業ネットワークとインターネットを安全かつ効率的に接続するために欠かせない存在となっています。
プロキシサーバーの種類やメリットについては、下記にて詳しく見ていきましょう。
プロキシサーバーの種類
プロキシサーバーは大きく4つの種類に分けられます。
フォワードプロキシ
Webサーバーへのアクセスをユーザーの代わりに行うプロキシサーバーです。
一般的にプロキシサーバーと呼ばれるものは、このフォワードプロキシを表していることが多いです。
フォワードプロキシは、インターネットを境界線として、ユーザー側のネットワークに設置されます。
プロキシサーバーがユーザーの代理となるため、接続先となるWebサーバーからはユーザーが見えずIPアドレスなどのアクセス情報を隠すことができます。
アクセスの匿名性が高くなり、セキュリティ対策として有効です。
リバースプロキシ
ユーザーからWebサーバーへのアクセスを代理で受信するプロキシサーバーです。
フォワードプロキシと似ていますが、リバースプロキシはサーバー側のネットワークに設置されます。
フォワードプロキシをユーザーのためのプロキシとするならば、リバースプロキシはアクセスされるWebサーバーのためのプロキシと言えるでしょう。
ユーザーの接続先はリバースプロキシとなり、そこから配下のWebサーバーに通信が分散されます。
ユーザーからは直接Webサーバーが見えないため、Webサーバーへの直接攻撃を防げるといったセキュリティ面でのメリットがあります。
キャッシュサーバー
Webサーバーが発信する画像や動画などのコンテンツを保存し、リクエストがあったときにWebサーバーの代わりに応答するキャッシュに特化したプロキシサーバーです。
通信の都度ユーザーが同じコンテンツをWebサーバーから読み込むことは非効率です。キャッシュサーバーを利用することで、ユーザーには高速な応答が、サーバーには負荷軽減が期待できます。
キャッシュサーバーを使ったコンテンツ配信を高速化する手法はCDN(Content Delivery Network)と呼ばれ、動画や音楽など大容量のデジタルコンテンツの配信に利用されています。
透過型プロキシ
透過型プロキシの役割はフォワードプロキシと似ており、Webサーバーにアクセスする流れはフォワードプロキシと同じです。
大きな違いは、ネットワーク制御により強制的にプロキシサーバーを経由させる仕組みにあります。
フォワードプロキシの場合、各ユーザーがデバイス上でプロキシを設定しますが、透過型プロキシの場合はその必要がありません。
管理者による一元管理ができ、ユーザー側の作業を省くことができるため、プロキシ設定にかかる工数や、ユーザーの設定ミスによるセキュリティリスクを軽減することが可能です。
プロキシサーバーを利用するメリット
ここでは、企業ネットワークでプロキシサーバーを利用するメリットを解説します。
通信コストの削減
インターネットで通信をするためにはグローバルIPアドレスというインターネット上の住所が必要です。
企業ネットワーク内で利用するプライベートIPアドレスとは違い、グローバルIPアドレスは世界中で一意(ユニーク)なものであり、取得や利用には費用が発生します。
社員すべてのデバイスにグローバルIPアドレスを割り当てることは、コストの観点から非現実的でしょう。
グローバルIPアドレスはインターネットに直接接続するデバイスに割り当てるIPアドレスのため、プロキシサーバーを利用する場合は、複数ユーザーのアクセスを集約するプロキシサーバー1台に用意するだけで良くなります。
社員が多ければ多いほど、プロキシサーバーを利用することによるコストメリットは高まると言えます。
業務効率化の実現
前述したように、プロキシサーバーはキャッシュ機能により通信を高速化することができるため、社員の業務スピード向上も期待できるでしょう。
また、URLフィルタリング機能により社員が業務に不適切なページを閲覧することを制限できるため、業務効率低下を未然に防ぐことも可能です。
プロキシサーバーを利用することで、社員が業務に集中できる環境を構築でき、会社全体の生産性向上も目指せます。
セキュリティ対策になる
プロキシサーバーを利用したWebアクセスは、すべての通信ログが記録されます。
仮に社員がサイトへのアクセスでマルウェアに感染した場合、どのようなサイトへアクセスしたかのログを確認することで感染源となったサイトや通信を発見し対策を打つことができます。
他にもユーザーのIPアドレスやサーバーのIPアドレスが秘匿されるため、直接的なサイバー攻撃を受けづらくなります。プロキシサーバーを経由する通信に対してマルウェアチェックを行うことも可能です。
プロキシサーバーを導入することでさまざまなセキュリティ向上施策が実現できます。
プロキシサーバーを利用する際の注意点
プロキシサーバーを利用する際には、注意すべき点も存在します。
公開プロキシサーバーは原則利用しない
インターネット上には誰でも利用できる公開プロキシサーバーが多数存在します。
しかし、基本的に公開プロキシサーバーは誰がどのように管理しているかわかりません。
プロキシサーバーの管理者はプロキシを経由する通信のログや内容を確認でき、情報漏洩につながる可能性があるため、基本的に利用は避けましょう。
認証を有効化する
自社でプロキシサーバーを構築する際には、認証機能を有効化することをおすすめします。
認証機能がないプロキシサーバーは、IPアドレスを指定すれば誰でも利用できるため、サイバー攻撃の踏み台にされてしまう可能性も考えられます。
第三者に自社のプロキシサーバーを利用されないよう認証機能を有効化し、利用できるユーザーを制限することが重要です。
適切な設定を行う
ユーザー側で設定しているプロキシサーバーが正しく指定されているかを確認しましょう。
誤った設定では通信ができないだけでなく、もし誤って公開プロキシサーバーを設定してしまっていれば、情報漏洩につながります。
社員が多い場合は一人一人の設定を確認することは相当な工数がかかってしまうため、透過型プロキシの導入を検討されると良いでしょう。
外部ネットワークに接続する際にだけ利用する
プロキシサーバーは基本的に常用するものではなく、外部ネットワークに接続する際に必要なもので、内部ネットワークの接続では不要です。
プロキシサーバーの役割を理解し、必要な場合にのみ利用するように構成されていないと、通信ができないことや遅くなる原因になります。
プロキシサーバーが遅い原因
基本的にプロキシサーバーを経由した通信は、アクセスの階層が増えるため遅くなる傾向にあります。
しかし、適切に構成されたプロキシサーバーであれば、ユーザー側ではほぼ遅さを感じないでしょう。
それでもユーザーが“遅い”と感じる場合には、次のような原因が考えられます。
1.サーバーのスペック不足
多数のアクセスが集中している場合、アクセスに対してプロキシサーバーのスペックが不足していると、最大通信速度で対応できなくなる可能性があります。
プロキシサーバーのCPUやメモリなどのリソースに余裕がなく、ひとつひとつの処理の実行に時間がかかっている状態です。
このような事態を避けるために、現在の社員数や将来増加することが予測される社員数から問題なく処理が行えるスペックを割り出し、確保しておく必要があります。
加えて、社員がアクセスするWebサイトの傾向を把握しておくことも重要です。
画像や動画が豊富に使用されているWebサイトへのアクセスが多い場合、テキストベースのWebサイトよりもプロキシサーバーにかかる負荷は大きくなるため、高いスペックが求められます。
2.同時接続数が多すぎる
同時にアクセスする数が多すぎると、プロキシサーバーが一度に処理できる容量をオーバーし、通信が遅くなる可能性が高まります。
対策としては、想定される同時接続数に応じたサーバースペックに増強する方法があります。
また、プロキシサーバー側の問題ではなく、利用しているソフトウェアで同時接続数が制限されおり、接続待ちが発生している可能性も考えられます。
同時接続数が遅い原因として考えられる場合には、プロキシサーバーのみではなくソフトウェア側の設定も確認しましょう。
3.プロキシサーバーの多段構成
プロキシサーバーを複数構成している場合、アクセスの階層が増えるため通信が遅くなる可能性があります。
このような構成を多段プロキシと呼び、より匿名性を高めたい場合に利用されることが多いです。
利用するプロキシサーバーが増えれば増えるほど、ここまでに紹介した遅くなるリスクも高まります。
社内のプロキシ接続環境を見直し、多段構成の場合にはよりシンプルな構成になるよう検討してみると良いかもしれません。
4.DNSサーバーの応答が遅い
プロキシサーバーが原因ではなく、DNSサーバーの応答が遅いことで通信に影響が出ているケースも考えられます。
DNSサーバーとはドメインとIPアドレスを紐づける役割のサーバーです。
DNSサーバーを複数指定し、仮に1台のDNSサーバーが応答しなくなった場合でも代わりのサーバーが応答できるようにすることでアクセス速度を維持できます。
プロキシサーバーの設定方法
フォワードプロキシやキャッシュサーバーを利用する場合、ユーザー側で設定する必要があります。その場合の設定方法をWindowsとmacOSに分けて解説します。
Windows 10
1.画面左下の「Windowsボタン」を右クリック→「設定」を選択します。
2.設定画面から「ネットワークとインターネット」を選択します。
3.ネットワークとインターネット設定画面から「プロキシ」を選択します。
3-1.企業ネットワークでプロキシの設定が自動化されている場合には「自動プロキシセットアップ」の項目を変更します。
WPAD(Web Proxy Auto-Discovery)を利用して自動構成スクリプト(.pac)を検出する場合には「設定を自動的に検出する」をオンにします。自動構成スクリプトを直接指定する場合には、「セットアップスクリプトを使う」をオンにし、アドレスを入力しましょう。
3-2.プロキシ設定が自動化されていなく、手動で設定する場合は「手動プロキシセットアップ」で「プロキシサーバーを使う」をオンにします。
プロキシサーバーのIPアドレスとポート番号を入力し、プロキシ接続を行わないネットワークを指定します。(例えば“192.168.1.*”など社内ネットワークを除外)
社内ローカルアドレスによるアクセスをプロキシサーバー経由せずに通信したい場合は「ローカル(イントラネット)のアドレスにはプロキシサーバーは使わない」にチェックをします。
最後に「保存」ボタンをクリックして完了です。
macOS
1.画面左上の「アップルメニュー(リンゴマーク)」を右クリック→「システム環境設定」を選択します。
2.システム環境設定画面から「ネットワーク」を選択します。
3.利用しているネットワークを選択し、「詳細」ボタンをクリックします。
4.「プロキシ」のタブを選択し、プロキシを自動的に設定する場合は「自動プロキシ検出」または「自動プロキシ構成」を選択します。
自動プロキシ検出:プロキシサーバーを自動的に検出し利用する
自動プロキシ構成:自動プロキシ構成(PAC)ファイルを利用して自動的にプロキシ接続構成を行う
5.手動で設定する場合は「Webプロキシ(HTTP)」または「保護されたWebプロキシ(HTTPS)」を選択し、プロキシサーバーのIPアドレス・ポートを入力し、プロキシ接続を行わないネットワークを「プロキシ設定を使用しないホストとドメイン」で指定します。必要に応じて認証情報も入力します。
Webプロキシ(HTTP):一般的なWeb通信プロトコルであるHTTPを利用するプロキシ構成
保護されたWebプロキシ(HTTPS):暗号化された通信プロトコルHTTPSを利用するプロキシ構成
最後に「OK」ボタンをクリックして完了です。
まとめ
プロキシサーバーはユーザーに代わりアクセスを行ったり、Webサーバーに代わり応答したりするサーバーです。
注意点を理解し、正しくプロキシサーバーを利用することで業務効率化やセキュリティ対策になります。
プロキシサーバーを利用していて“遅い”と感じる場合には、この記事でご紹介したことを参考に遅い原因を特定し、解消に向けてひとつずつ対策を講じてみてください。