見出し画像

No263 プロキシサーバは「代理」以上の使い方ができる

前回はプロキシサーバがどんなものかというお話をしました。

その中で、プロキシサーバは組織内から組織外サービスを利用したい時に比較的大きな組織で使われることが多いということを書きました。

このプロキシサーバという考え方はかなり便利な方式で、実際にいろんな形で使われています。

今回はそのうち、公開プロキシとリバースプロキシという応用技術について解説します。


1. IPアドレス

最初はプロキシサーバとはちょっと関係のない話です。

大規模サービスでは利用者の情報やアクセス元によって表示するコンテンツを変更する場合があります。

例えば、楽天に英語版Windowsのパソコン(PC)で閲覧すると(ブラウザの設定によりますが)メニューなどが英語で表示されますし、サービスによっては利用者設定で表示言語の変更ができます。

こういったものは、PC本体の設定やサービスの設定を見ることで、表示を変えているのですから、異和感はありません。

ですが、この理屈だけでは説明できない妙な動きとなる場合があります。

例えば、アマゾンの北米版は以下のURLでアクセスできます。
 https://www.amazon.com/

このサイトでは基本的に全てが英語で表示されます。
ところが、画面の上部には"Deliver to Japan"(日本に配送)と表示されます。
さらにご丁寧なことに、その下には"Click here to go to amazon.co.jp" というリンクまで用意してくれています。
親切設計なのは良いことですが、一体どうやって日本からアクセスしていると思ったのでしょうか?

上記はamazonの例ですが、それ以外にも「あなたの国からはアクセスできません」といった対象国を限定したサービスもたくさんあります。

お気付きの方も多いでしょうが、この判断にはIPアドレスを用います。

今までも何度か解説していますが、IPアドレスというのはインターネットに接続されたコンピュータに割り当てられる番号のことです。
基本的にはコンピュータごとに違ったIPアドレスが割り当てられ、インターネット上で通信を行う場合は、必ずIPアドレスを指定することになっています。

IPアドレスというのが「よくわからないや」という方はこのメルマガのバックナンバーで解説していますので、是非ご覧ください。
 No211 素朴な疑問:IPアドレスってナニ?(21/06/07配信)
 https://www.egao-it.com/weblog/mm-211.html


2. IPアドレスで場所を特定できる?

IPアドレスというのは、基本的にはインターネットの接続事業者(ISP:Internet Service Provider)に対して割り当てが行われます。
その情報は公開されていますので、どの事業者がどのIPアドレスを保有しているかは簡単に調べられます。

通常、事業者は自国でサービスを提供しますから、IPアドレスがわかれば、そのIPアドレスを使っている国もおおむねわかります。

とはいえ、複数の国や地域でサービスを行う事業者もいますから確実ではありません。
これを商売のネタとしているサービス事業者がいます。
これを俗に「ジオロケーション・サービス」などと呼び、どの国や地域(日本国内であれば都道府県など)からアクセスしているかを正確に教えてくれるのです。

上述のamazonなどはこういったジオロケーションサービスを利用して利用者を適切なサイトに誘導したり、アクセス元によって表示言語を変えたりしているわけです。


3. ジオロケーションサービスをすり抜ける方法

通常は利用者の利便性を高めるジオロケーションサービスですが、場合によってはそれが障害と感じる場合があります。

例えば、著作権保護のためや、サービス事業者側の都合により、特定の国に住んでいる人だけが閲覧できるサービスがあります。

こういったサービスに日本からアクセスしようとしてもIPアドレスから、「アクセスを許可されていない国からのアクセスだ」と判断され、「あなたの国からはアクセスできません」といったつれないメッセージが表示されます。

また、匿名での内部告発メールを出したいと思う人は、身元バレを防ぐため、メールサーバにIPアドレスを知られたくない、というケースもあります。

こういったアクセスのために、プロキシサーバを使う人々がいます。

例えば、米国内でしかアクセスできないサービスにアクセスするために、米国内に誰かが作ったプロキシサーバを経由します。

サービス提供側からはアクセス元(=プロキシサーバ)のIPアドレスしかわかりません。プロキシサーバのIPアドレスは米国内のアドレスですから、アクセスを許可します。
ですが、プロキシサーバは本来の依頼元に結果を送信します。結果的に本来はアクセスできないサイトにアクセスできてしまうことになります。

また、内部告発のメールを送信する時も、メールサーバからはプロキシサーバしか見えませんから、本当のアクセス元を秘密にすることができるのです。

なお、最初に書いたアクセス許可のない国からのアクセスは、サービス規約違反となりますし、サービス提供元の裏をかく行為ですので、技術的に可能であるからといって実施することは全くおすすめしません。


4. リバースプロキシ

これもプロキシサーバ技術の応用で、リバースプロキシ(逆プロキシ)というものがあります。

通常のプロキシサーバは、組織内から組織外に出ていく時に内部情報を洩らさないことを目的として使われるのですが、リバースプロキシはその逆になります。

つまり、今度はサービスを提供する側が内部の詳細なサーバ情報を知られないようにするサービスです。
大企業の受付で「○○部の△△部長をお願いします」と言えば、内線で呼び出しをして本人につないでもらえますよね。リバースプロキシは社内のサーバ向けの受付と考えればわかりやすいかもしれません。
外部からの来たリクエストは受付であるリバースプロキシが受け付けます。
リバースプロキシはそのURLを見て、このURLであればどのサーバに依頼するべきか?というのを考え、適切なサーバに実際の処理を依頼するのです。

組織外から見ると一つのサービスに見えるけれど、内部は複数のサーバが分担している時に使われます。

大規模なサービス(通販やSNSなど)では多様な機能が必要ですので、内部ではリバースプロキシを使って実現しているものがたくさんあります。

また、大企業の社内向けサービスなどでも、複数のサービスを束ねたり、再ログインしなくても良いようにするため、リバースプロキシがよく使われています。


5. まとめ

プロキシサーバは一般的に、大きな組織で組織内の情報を出さずに組織外のサービスを利用する時に使います。

ですが、アクセス元の情報を秘密にするために、プロキシサーバを利用することもできます。特に内部告発のように、発信者の秘密を守るためには、プロキシサーバを経由する方法があります。

こういったプロキシサーバは公開プロキシなどと呼ばれています。
この方法を利用すれば、本来はアクセスを許可されない国や地域のサービスを利用することも可能ですが、通常はそのサービスの利用規約違反ですし、本来の公開プロキシの目的ではありませんので、決しておすすめしません。

今回はプロキシサーバの応用技術について解説しました。
次回もお楽しみに。

(本稿は 2022年6月に作成しました)

本Noteはメルマガ「がんばりすぎないセキュリティ」からの転載です。
当所はセミナーなどを通して皆さんが楽しく笑顔でITを利用いただくために、 難しいセキュリティ技術をやさしく語ります。
公式サイトは https://www.egao-it.com/ です。

この記事が気に入ったらサポートをしてみませんか?