プロキシサーバー(Proxy)とは?使うべき?使わないべき?
プロキシサーバーというと、IPアドレスを隠してオンラインコンテンツにアクセスできるようにするツールを想像されるかもしれません。しかし、それはプロキシサーバーの便利な使い方のひとつに過ぎません。この記事では、プロキシサーバーのさまざまな種類とその使い方、メリット・デメリットについて詳しく説明します。
目次
プロキシサーバーとは?
プロキシサーバーの定義
プロキシサーバーとは、エンドポイントデバイス(Webブラウザやコンピュータ)と、要求されたサービスを提供する目的地サーバー(Webアドレス)間のゲートウェイとして機能するコンピュータまたはシステムです。
プロキシとは、英語で「代理」という意味です。プロキシサーバーは、インターネットに直接接続できないコンピュータに代わって、インターネットに接続し、Webサイトにアクセスするためのサーバーのことを指します。
プロキシサーバーは、クライアントと要求されたサービスとの間の通信を保護し、改善することができます。しかし、正確な機能、セキュリティやプライバシーの利点は、ユーザーのニーズとプロキシサーバーの種類によって異なります。
プロキシサーバーの仕組み
インターネットトラフィックは、要求されたアドレスに向かう途中でプロキシサーバーを通過し、要求されたデータを受信する前に、同じプロキシサーバーを経由して戻ってきます。ここからは、プロキシサーバーの仕組みについて詳しく解説します。
- クライアント(お客様のデバイスまたはWebブラウザ)は、接続先のサーバーにWebコンテンツまたはサービスを要求します。
- クライアント(お客様のデバイスまたはWebブラウザ)は、接続先のサーバーからWebコンテンツやサービスを要求しますが、接続先のサーバーに直接連絡する代わりに、リクエストはまずプロキシサーバーに送られます。
- プロキシサーバーは、クライアントのリクエストがあらかじめ定義されたルールに沿っているかどうかをチェックします。
- もしそうであれば、プロキシサーバーはクライアントに代わって接続先のサーバーにリクエストを転送します。
- そうでない場合は、プロキシサーバーはクライアントにエラーメッセージを表示するか、別のサーバーにリダイレクトします。
- 接続先のサーバーはリクエストを処理し、プロキシサーバーに応答します。
- プロキシサーバーはレスポンスに変更を加えることができます。たとえば、将来使用するためにキャッシュを保存したり、不要なコンテンツを取り除くためにフィルタリングしたり、クライアントがそれを見る前に認証を要求したりすることができます。
- 最後に、プロキシサーバーは(変更された)レスポンスをクライアントに送信します。クライアントは、接続先のサーバーに直接接続しているかのように、Webコンテンツを見たり、サービスを利用したりすることができます。
プロキシサーバーは、仮想プライベートネットワーク(VPN)サーバーと同じように機能します。また、お客様の代わりにトラフィックをルーティングし、お客様の身元を隠します。プロキシとVPNの最も顕著な違いは、VPN接続はトラフィックを暗号化するのに対し、プロキシサーバーは暗号化しないことです。
自分の身元を隠し、トラフィックを暗号化したい場合は、VPNの導入を検討しましょう。
プロキシサーバーはサーバー側にもネットワークインフラの一部にも存在するため、クライアントには、要求されたアドレスと直接通信していると思わせることもできます。
たとえば、職場のネットワークやインターネットサービスプロバイダー(ISP)がプロキシサーバを利用して、コンテンツのフィルタリングやキャッシュの保存を行ったり、知らない間にあなたの行動を追跡したりすることも可能です。しかし、プロキシサーバーの用途はこれだけではありません。
プロキシサーバーの用途
プロキシは、ネットワークトラフィックを管理または保護し、パフォーマンスを向上させるための強力なツールです。ここからは、プロキシサーバーの最も一般的な使用例をいくつか紹介します。
- ネットワークフィルタリング:プロキシサーバーを使用して、特定のウェブサイトやWebコンテンツへのアクセスをフィルタリングおよびブロックすることができます。この場合、プロキシはファイアウォールのように、コンプライアンスやインターネット検閲の実施、マルウェア感染やフィッシング攻撃の防止、不適切なコンテンツや違法コンテンツへのアクセス制限を行います。ファイアウォールの詳細については、ファイアウォールの役割解説の記事をご覧ください。
- キャッシング:プロキシサーバーは、Webページや画像、動画など、頻繁にアクセスされるリソースを保存します。プロキシサーバーは、元のサーバーからコンテンツを取得する代わりに、保存されたキャッシュデータをクライアントに提供します。
- ロードバランシング:プロキシサーバーは、クライアントのリクエストを複数のサーバーに分散させ、1つのサーバーに負荷がかからないようにします。また、障害や過負荷のあるサーバーからのリクエストを検知して、容量に達していないサーバーにリダイレクトすることも可能です。
- 制限の回避:サーバー側のプロキシサーバーがインターネット規制を強化する一方で、クライアント側のプロキシは規制を回避するのに役立ちます。プロキシサーバーはウェブトラフィックを迂回させるので、ネットワーク管理者、ISP、あるいは政府によって設定された制限を回避することができます。
- IPアドレスの変更:プロキシサーバーは、あなたの代わりにWebに接続するため、Webの宛先には、あなたのIPアドレスではなく、プロキシサーバーのIPアドレスが表示されます。これにより、オンラインでアクセスするWebサイトから、あなたのIPアドレスやその他の識別情報を隠すことができます。
- SSL暗号化・復号化:プロキシサーバーの種類によっては、SSL/TLSの暗号化と復号化を扱えるものがあります。これにより、Webサーバーは暗号化処理よりもリクエスト処理に集中することができます。
- ルーティング:プロキシサーバーは、リクエストの内容やクライアントの所在地など、あらかじめ定義された条件に基づいて、リクエストを異なるサーバーにルーティングすることができます。
プロキシサーバーのメリット
プロキシサーバーの種類は違っても、ほとんどのプロキシサーバーには同じようなメリットがあります。
- セキュリティの向上:プロキシサーバーは、内部ネットワークがインターネットに直接アクセスしないため、追加の保護層を提供します。また、プロキシ設定を調整して、特定のWebサイトやプロトコルをブロックするなど、特定のルールに基づいてトラフィックをフィルタリングすることができます。これにより、マルウェアやDDoSのような攻撃がローカルネットワークに到達するのを防ぐことができます。
- パフォーマンスの向上:プロキシサーバーは、頻繁にアクセスされるWebコンテンツをキャッシュに保存します。これにより、宛先サーバーに送信されるリクエストの数を減らし、応答時間を改善することができます。また、プロキシサーバーはデータを圧縮して帯域幅の使用量を減らし、ネットワーク性能を向上させることができます。
- アクセスコントロール:プロキシサーバーは、トラフィックをフィルタリングまたはブロックすることで、インターネット使用ポリシーの実施を支援します。たとえば、勤務先がプロキシサーバーを使用して勤務時間中のSNSへのアクセスをブロックしたり、ISPがユーザーの特定のWebサイトへのアクセスを完全に防止したりすることができます。
- プライバシーの向上:プロキシサーバーはIPアドレスを隠すため、第三者があなたのインターネット活動を追跡することが難しくなります。インターネットを閲覧する際、プライバシーがより守られます。
- 検閲の軽減:プロキシサーバーは、お客様のインターネットトラフィックを、異なる地域や国にあるサーバーを経由してルーティングすることができます。これにより、ブロックされたり制限されたりしているコンテンツにアクセスすることができます。
プロキシサーバーのデメリット
メリットと同様に、ほとんどのプロキシサーバーには欠点もあります。
- データロギング:プロキシサーバーはプライバシーを高めることができる反面、その逆もあり得ます。プロキシサーバーの管理者は、ログに記録されたデータにアクセスし、それを第三者に販売することができます。海外プロキシでは無料で使えるものがあり、無料のプロキシを利用するとデータロギングに悩まされることになるかもしれません。
- セキュリティのリスク:プロキシサーバーは、管理者が適切に設定し、維持しなければ、セキュリティリスクに対して脆弱になります。脆弱なプロキシサーバーは、ネットワークやクライアントデバイスのセキュリティを脅かす可能性があります。また、プロキシサーバーのポートが開いていると、攻撃されやすくなる可能性があります。
- 暗号化の欠如:ほとんどのプロキシサーバーは、トラフィックを暗号化しないため、機密データが覗き見や監視の対象になる可能性があります。
- 遅延の増加:トラフィックは接続先に直接ルーティングされないため、プロキシサーバーはネットワークに遅延を与えます。ネットワークのパフォーマンスやインターネットの速度が低下する可能性があります。
- 限られた機能:プロキシサーバーの中には、特定のプロトコルやトラフィックにしか対応しないものがあり、用途によって使い分けができません。
- 単一障害点:プロキシサーバーが故障してオフラインになった場合、クライアントはインターネットや特定のサービスへのアクセスを失う可能性があります。
- 技術的なノウハウ:プロキシサーバーの導入と維持には技術的なノウハウが必要であり、個人や小規模な企業にとっては困難な場合があります。
- コスト:プロキシサーバーを設置・維持するためには、ハードウェア、ソフトウェア、人的資源を追加する必要があり、どうしても膨大なコストがかかります。特に、多くのサーバーや高度な機能を必要とする企業にとっては、大きなデメリットとなり得ます。
プロキシサーバーの種類
プロキシサーバーは、その機能やプロトコルによっていくつかの種類に分類することができます。ここでは、最も一般的なプロキシサーバーの種類を紹介します。プロキシサーバーの種類に関する情報を参考にして、自分の用途におすすめなプロキシサーバーを探しましょう。
トラフィックフロー別プロキシサーバー
最も一般的なプロキシサーバーの分類は、トラフィックの流れの方向と、クライアントとサーバーに対するプロキシの位置を考慮するものです。
フォワードプロキシ
フォワードプロキシとは、クライアントに代わってインターネットからリソースを要求するプロキシサーバーのことです。フォワードプロキシはクライアントのネットワーク上に配置されるため、「クライアントサイドプロキシ」とも呼ばれます。
インターネットからはフォワードプロキシがクライアントとして見え、クライアントからはフォワードプロキシがインターネットとして見えます。フォワードプロキシは、クライアントのIPアドレスと身元を隠し、コンテンツ制限を回避し、制限されたウェブサイトにアクセスするのに役立ちます。
リバースプロキシ
リバースプロキシとは、Webサーバーに代わってクライアントからのリクエストを受け取るプロキシサーバーのことです。リバースプロキシはサーバーのネットワーク上に配置されるため、「サーバーサイドプロキシ」とも呼ばれます。
Webサーバーはリバースプロキシをクライアントとして認識し、クライアントはリバースプロキシをWebサーバーとして認識します。プロキシサーバーは、Webサーバーがクライアントから見えないようにし、Webアプリケーションの信頼性、セキュリティ、およびパフォーマンスを確保するために重要な役割を果たします。
サーバーは、負荷分散、キャッシュ、セキュリティのためにリバースプロキシを使用することができます。また、リバースプロキシは、複数のWebサーバーに単一のアクセスポイントを提供し、Webアプリケーションの管理と拡張を容易にすることができます。
オリジン別プロキシサーバー
プロキシサーバーを分類するもうひとつの方法は、その場所とオペレーターに基づくものです。
レジデンシャルプロキシ(住宅用プロキシ)
レジデンシャルプロキシとは、インターネットサービスプロバイダ(ISP)が家庭や企業に割り当てるIPアドレスを持つ仲介サーバーのことです。
お使いのパソコンを、家庭以外の誰かにトラフィックをルーティングさせれば、レジデンシャルプロキシとして機能する可能性があります。その場合、あなたがレジデンシャルプロキシのオペレータとなり、あなたのデバイスのIPアドレスを持つことになります。
住宅用プロキシの用途としては、Webスクレイピング、データマイニング、広告検証など、高い匿名性とIPローテーションが必要なオンライン活動が挙げられます。レジデンシャルプロキシはインターネットユーザーの行動に似ているため、Webサイトや検索エンジンは通常、他のプロキシタイプよりも信頼します。しかし、このようなプロキシを取得・維持することは、他のプロキシと比べると高価でもあります。
データセンタープロキシ
データセンタープロキシは、データセンターでホストされている仲介サーバーで、通常、Webトラフィックをプロキシサーバーに送るために特別に設定されています。その用途は、大量のウェブスクレイピングや自動化タスクなどです。
データセンタープロキシは、レジデンシャルプロキシに比べて、取得と維持が非常に簡単かつ安価です。また、より安定しており高速ですが、動作はある程度予測可能なので、Webサイトや検索エンジンによって、検出・ブロックされやすいというデメリットがあります。
モバイルプロキシ
モバイルプロキシとは、スマートフォンやタブレットなどのモバイル端末でホストされ、携帯電話会社から割り当てられたIPアドレスを持つ仲介サーバーのことです。モバイルプロキシの用途としては、モバイルアプリのテストやモバイル広告の検証などがあります。
匿名性レベル別プロキシサーバー
プロキシサーバーを利用することで、よりプライベートなブラウジングが可能になりますが、プロキシサーバーの種類によって匿名性の高さは異なります。
透過型プロキシ
透過型プロキシは、クライアントのIPアドレスを隠さない仲介サーバーです。
透過型プロキシは、匿名性を提供するものではありません。サーバーにあなたの身元を明らかにしてしまうので、オンライン上のプライバシーを高めるためには役に立ちません。しかし、このようなプロキシが存在するのには理由があります。透過型プロキシは、Webブラウジングを高速化するためのキャッシングに使用できます。
匿名性のレベル:低
匿名プロキシ
匿名プロキシは、WebサーバーからユーザーのIPアドレスを隠す仲介サーバーです。しかし、匿名プロキシは、クライアントのブラウザの種類、言語設定、オペレーティングシステムなど、他の情報を明らかにすることができます。これらの情報は、あなたを特定するものではありませんが、潜在的なユーザーの絞り込みに役立ちます。
匿名性のレベル:中
高匿名性プロキシ
高匿名性プロキシは、ユーザーのIPアドレスや、ブラウザの種類やOSなど、HTTPヘッダーで送信されるその他の識別情報を隠す仲介サーバーです。
匿名性の高いプロキシを使用すると、IPアドレスやデバイスからユーザーの活動を追跡することが難しくなります。プライバシーを必要とする活動には適切な選択です。
匿名性のレベル:高
歪曲プロキシ
歪曲プロキシとは、クライアントのIPアドレスを隠し、サーバーに偽のIPアドレスを提供する仲介サーバーのことです。
匿名性のレベル:中~高(プロキシサーバーの設定による)
ローテーションプロキシ
ローテーションプロキシとは、Webサイトにアクセスするたびに、プロキシプールから新しいIPアドレスを割り当てる仲介サーバーです。
ローテーションプロキシは、ウェブスクレイピング、データマイニング、および検出されずにサーバーに送信される多くのリクエストを必要とする活動に役立ちます。
匿名性のレベル:中~高(プール内のIPアドレスの数とローテーションの頻度による)
アクセシビリティ別プロキシサーバー
アクセシビリティは、プロキシを別のカテゴリーに分けるためのもうひとつの方法です。
公開プロキシ
公開プロキシとは、誰でも利用できるプロキシサーバーのことです。認証を通す必要がなく、アクセスすることができます。当然ながら、そのようなアクセス可能性は、公開プロキシがより遅く、より信頼性が低くなります。また、Webサイトや検索エンジンからブラックリストに登録され、ブロックされる可能性が最も高いです。
共有プロキシ
共有プロキシは、多くのユーザーによって使用されるプロキシサーバーです。同じIPアドレスとポート番号を共有しますが、さまざまなソフトウェアやハードウェアの設定により、オンライン活動は別々に行われます。「半専用プロキシ」とも呼ばれます。
共有プロキシは公開されていないため、アクセスには認証が必要です。そのため、公開プロキシよりも高速で信頼性の高いプロキシとなります。
プライベートプロキシ
プライベートプロキシは、1人のユーザーまたは組織によってのみ使用されるプロキシサーバーです。プライベートプロキシは、ユーザーに専用のIPアドレスとポートを提供するため、「専用プロキシ」とも呼ばれます。
プライベートプロキシは、より高いレベルのプライバシー、セキュリティ、およびパフォーマンスを提供します。アクセスには認証が必要で、共有プロキシよりもコストがかかります。
NordVPNでも、自分だけが所有できて変わることのない、固定IPアドレスを取得することが可能です。
プロトコル別プロキシサーバー
プロキシサーバーの中には、特定のネットワークプロトコルやトラフィックの種類からのトラフィックを処理するものがあります。そのため、そのトラフィックの種類やプロトコルは、それらを分割するのに役立ちます。
HTTPプロキシ
HTTP(Hypertext Transfer Protocol)プロキシとは、インターネット上のクライアントとサーバーの間でHTTPリクエストを処理するWebプロキシサーバーです。
HTTPプロキシは、Webコンテンツのコピーを保存することができるため、キャッシュに最適です。また、コンテンツをフィルタリングし、クライアントのIPアドレスをサーバーから隠すことができます。しかし、プレーンテキストのリクエストを処理するため、機密データには向いていません。
HTTPSプロキシ
HTTPS(Hypertext Transfer Protocol Secure)プロキシは、インターネット上のクライアントとサーバー間のHTTPSトラフィックを処理するWebプロキシサーバーです。
HTTPSプロキシは、プロキシサーバーへの接続が暗号化されることを除けば、HTTPプロキシと同様の働きをします。また、HTTPSプロキシは暗号化されたトラフィックを処理するため、トラフィックを見たりキャッシュに保存したりすることはできません。
SSLプロキシ
SSL(Secure Sockets Layer)プロキシは、インターネット上のクライアントとサーバー間のSSLトラフィックを処理するプロキシサーバーです。
SSLプロキシは、悪意のあるトラフィックを検出してブロックしたり、許可されたユーザーだけが特定のWebサイトにアクセスしたりできるようにするなど、セキュリティ目的でトラフィックを復号化して検査することができます。
SMTPプロキシ
SMTP(Simple Mail Transfer Protocol)プロキシは、電子メールクライアントとサーバー間のSMTPトラフィックを処理するプロキシサーバーです。
SMTPプロキシは、迷惑メールやマルウェアについて送受信される電子メールメッセージをスキャンすることができるため、電子メールを安全に送受信するために使用することができます。また、頻繁にアクセスする電子メールメッセージや添付ファイルのキャッシュに保存することで、電子メールのトラフィックを最適化することも可能です。
FTPプロキシ
FTP(File Transfer Protocol)プロキシは、クライアントとサーバー間のFTPトラフィックを処理するプロキシサーバーです。このプロトコルと、それを扱うプロキシは、インターネット上でのファイル転送を担っている。
FTPプロキシは、FTPトラフィックをフィルタリングまたは変更することによって、セキュリティと制御を提供します。例えば、ファイルの種類やサイズを制限することができます。
DHCPプロキシ
DHCP(Dynamic Host Configuration Protocol)プロキシは、異なるネットワークセグメント上のDHCPクライアントとサーバー間のDHCPリクエストとレスポンスを処理するプロキシサーバーです。
DHCPリクエストは、IPアドレスやその他のネットワーク構成パラメータを取得するのに役立ちます。そのため、DHCPプロキシは通常ネットワーク層で動作し、主に大規模ネットワークではIPアドレスの割り当てに使用されます。
DNSプロキシ
DNS(Domain Name System)プロキシは、クライアントからのDNSリクエストを処理するプロキシサーバーです。DNSプロキシは、クライアントからのDNSクエリを傍受し、適切なDNSサーバーに転送します。
DNSプロキシは、DNSトラフィックをフィルタリングまたは変更して、一部のWebサイトへのアクセスをブロックしたり、リクエストを別のサーバーにリダイレクトしたりすることができます。一方、DNSレコードのキャッシュに保存することで、将来のDNSクエリの応答時間を改善し、DNSサーバーの負荷を軽減することができます。
スマートDNSプロキシ
スマートDNSプロキシは、メディアコンテンツのストリーミングに最適化されたプロキシサーバーです。クライアントからDNSリクエストを受け取り、ストリーミングに最適化されたDNSサーバーにリダイレクトします。こうすることで、他のインターネットトラフィックに影響を与えることなく、メディアコンテンツにアクセスすることができます。
SOCKSプロキシ
SOCKS(Socket Secure)プロキシは、クライアントからのトラフィックを処理するプロキシサーバです。SOCKSプロキシには様々なバージョンがあり、SOCKS5プロキシが最新のものです。
SOCKSプロキシは、プロトコルに依存しないため、あらゆるインターネットトラフィックに使用することができます。
SIPプロキシ
SIP(Session Initiation Protocol)プロキシは、VoIP(Voice over Internet Protocol)ネットワーク内のSIPデバイス間のSIPトラフィックの流れを管理・制御するプロキシサーバです。
SIPプロキシは、コールルーティング、ロードバランシング、SIPトラフィックを多数のサーバーに分散して、ネットワークパフォーマンスを最適化することができます。また、認証、暗号化、DDoS攻撃の防御などのセキュリティ機能を提供することも可能です。