プロキシサーバ
- クライアントからインターネットへのアクセスを代理で行います。
- 通常、社内 LAN とインターネットの境界に置かれます。
導入するメリット
各クライアントからインターネットへのアクセスを全てプロキシサーバ経由にすることで以下のメリットがあります。
- ユーザー認証により LAN からインターネットへの不正アクセスを防ぐ。
- プロキシサーバで通信ログを取得し、監視出来る。
- プロキシサーバでパケットをフィルタリング出来る。
- プロキシサーバで有害なサイトへのアクセスを制限出来る。
- インターネットからはプロキシサーバのインターネット側の側のグローバル IP アドレスしか見えないため、クライアントの IP アドレスを隠蔽出来る。
- キャッシュにより既に取得したページのコンテンツ取得を高速化し、トラフィックを削減する。
設定方法
手動
プロキシサーバのアドレスとポート番号を手動で指定します。
スクリプト
PAC(Proxy Auto-Config) ファイルを作成し、PAC ファイルを参照するように設定します。
function FindProxyForURL(url,host)
{ if(isPlainHostName(host)||
isInNet(host, "192.168.0.0", "255.255.0.0")) return "DIRECT";
else return "PROXY 192.168.0.10:8080; DIRECT";
}
WPAD
WPAD(Web Proxy Auto-Discovery) ではプロキシサーバの設定を自動化出来ます。
実現方法は主に2パターンあります。
- DHCP で PAC ファイルを配布する。
- DNS に wpad を追加し、web サーバーのルートディレクトリに wpad.dat(pacファイルと内容は同じ)を配備する。
リバースプロキシサーバ
- インターネットからサーバへのアクセスを代理で行います。
- 通常、DMZに置かれます。
導入するメリット
- インターネットから直接サーバーにアクセスされることを防ぐ。
- ロードバランシング(負荷分散)によりリクエストを複数のサーバに振り分けることが出来る。
- SSLアクセラレータ(SSLオフロード)により本来Webサーバが行うSSLの鍵交換やデータの暗号化/復号をリバースプロキシサーバが行うことでWebサーバの負荷を減らす。
- キャッシュにより不変なコンテンツのリクエストに応答することでWebサーバへのリクエストを削減できる。
- URL書き換えにより柔軟なネットワーク構成を実現出来る(例: リバースプロキシサーバのバックに配置した複数のサーバにリクエストを振り分ける)。
参考
- http://trendy.nikkeibp.co.jp/article/qa/internet/20030902/105779/?rt=nocnt
- http://www.infraexpert.com/study/security23.html
- https://www.nedia.ne.jp/blog/tech/2016/08/04/7938#Nginx-2
- http://www.atmarkit.co.jp/ait/articles/0001/16/news001.html
- http://ascii.jp/elem/000/000/512/512242/