プロキシサーバーの役割
インターネットに代理で接続するプロキシサーバー
会社内からインターネットへ直接アクセスできるようにすると悪意のあるサイトからマルウェアを読み込んだり、不正なサイトへ飛ばされるといったセキュリティ上の問題が起きる。ファイアーウォールにより接続を遮断することは可能であるが、インターネットへのアクセスは業務上必要であるケースが多い。このようなときにはプロキシサーバーを用意して、社内のパソコンはプロキシサーバーを経由してインターネットに接続する。
プロキシサーバーを用意することで下記のメリットがある。
セキュリティの確保
プロキシサーバーとファイアーウォール/IPSを組み合わせることによりインターネットアクセスをスキャンすることができる。ブラックリストに載っているサイトや、おかしな振る舞いを引き起こすパケットを遮断できる。この管理はプロキシサーバーで一元管理できるのでクライアントごとに設定を変える必要がない。
アクセスログの確認
すべてのインターネットアクセスがプロキシ経由になるのでアクセスログを取得できる。またプロキシするプロトコルについては通信量やセッション数をモニタリングでき、キャパシティ管理に利用することができる。
ユーザーから透過的にインターネット接続を変える
プロキシサーバーからインターネットへの接続はユーザーからは見えない。接続に障害が発生した場合にはプロキシサーバーからのデフォルトゲートウェイを変更したり、別のプロキシサーバーを設定することでユーザーのインターネットアクセスをリダイレクトできる。
何がデメリット
クライアントとインターネットの間にプロキシサーバーが入るのでトラブルシューティング時に手間取ることがおおい。例えばプロキシサーバーが間に入ることでフィルタリングなどの処理が入る。特定サイトに接続できない時にサーバー側の問題かプロキシサーバーによるフィルタリングか切り分けが必要になる。またクライアント毎にプロキシサーバーの設定が変わっていることにより問題が再現できないことがある。リモートユーザーの対応をしているときに相手と自分のプロキシサーバーの設定が異なることに気付かず、相手側のプロキシサーバーに問題がある場合には、自分は接続できるのに相手は接続できないという状態になる。プロキシサーバーの存在を知らないとネットワーク障害など見当違いの原因究明をしてしまう。
プロキシサーバーの接続形態
プロキシサーバーはクライアントとインターネットの間にはいる。
クライアント —- プロキシサーバー —- インターネット —- Webサーバー
実際の設定
プロキシサーバーはブラウザから設定する。設定方法としてはマニュアルで設定する方法、スクリプトで設定する方法、グループポリシーで設定する方法がある。管理上の手間を考えるとActive Directory環境下ではグループポリシーを利用するのが設定やトラブル対応で効率がよくなる。
リバースプロキシ
プロキシサーバーはクライアントとインターネットの間に置かれるが、リバースプロキシは以下のような接続形態をとる。
クラインと —- インターネット —- プロキシサーバー —- webサーバー
リバースプロキシのメリットはサーバー側にある。リバースプロキシを利用すると以下のようなメリットがある。
- – コンテンツへの直接アクセスを防ぐことができる
- – 負荷分散
- – webサーバーの拡張が簡単
クライアントは直接webサーバーとやり取りせず、リバースプロキシでいったん通信が遮断される。リバースプロキシではセキュリティアプリケーションを利用することにより悪意がある接続を遮断する。通常の通信であればリバースプロキシからwebサーバーへ通信をつなぐ。
リバースプロキシの背後にあるwebサーバーは一台である必要はない。複数台のwebサーバーを用意することでクライアントから要求を分散できる。またSSL接続などCPUリソースを大量に消費する処理をリバースプロキシとwebサーバーで役割分担することができるので、システム構成が柔軟になる。
先に記述した負荷分散とも関連するが、webサーバーの追加が簡単になるので、要求量に応じたサーバー台数を導入できる。リバースプロキシがなければより高価な負荷分散装置を導入するか、DNSなどによる操作が必要なるが、リバースプロキシはオープンソースで用意されているので、手軽にwebサーバーを含んだインフラの拡張できる。