 |
≫ |
|
 |
 |
|
|
 |
| ※HP IceWall SSO は株式会社SCCとの共同開発製品です。 |
|
 |
HP IceWall SSOを使ったシングルサインオンのシステムは、フォワーダを使ったリバースプロキシ型とエージェントモジュール※1を使った、エージェント型の2つの構成がありますが、エージェントモジュールはストリーミングや大規模ファイルのダウンロードなどパフォーマンスを重視するアプリケーションやネットワーク的に隔離しているアプリケーションなどに適用すると非常に効果的です。
しかし、WEBサーバ(HTTPサーバ)ソフトの種類によっては対応するエージェントモジュールが無い場合があり、さらにエージェントモジュールとアプリケーションが同一サーバ上で動作するため、クライアントからアプリケーションへの直接のアクセスを禁止してセキュリティを高める必要がある場合には使用できないことがあります。
今回の技術レポートでは、エージェントモジュールをリバースプロキシ型として動作させ、セキュリティを高める事を可能にするソリューションをご紹介いたします。
※1 エージェントモジュールはオプション製品となります。 |
 |
 |
|
 |
 |
エ−ジェントモジュールをリバースプロキシ型で動作させるためにはApache2.0の mod_proxy機能を使用します。以下にシステム構成を示します。
クライアント:
ブラウザにてサーバにアクセスを行います。
IceWallサーバ:
IceWallフォワーダが動作します。
エージェントサーバ:
IceWallエージェントモジュールが動作し認可処理を行います。
また、バックエンドWEBサーバへ中継を行うApacheモジュール(mod_proxy)が動作します。
バックエンドWEBサーバ:
WEBアプリケーションが動作します。(ここではport 7002番で動作しているという前提とします。)
|
 |
 |
|
 |
 |
エージェントをリバースプロキシ型として動作させた場合のアクセスフローについて説明をします。
| 1. |
クライアントより、以下のURLでアクセスを行います。
http://ap01.hp.com:7002/index.html
※このアクセス要求はエージェントサーバへ送信されます。
|
| 2. |
エージェントサーバはクライアントからの要求に対してIceWall へのログインが行われているかどうかを確認します。ログインしていないと判断した場合にはIceWall サーバ上のフォワーダへ、クライアント経由でリクエストを転送します。
|
| 3. |
リクエスト転送後、フォワーダよりログイン画面が表示され、クライアントよりフォワーダへログイン要求を送信します。
|
| 4. |
ユーザ認証に成功すると、セッション情報がフォワーダからクライアント経由でエージェントサーバに転送されます。
|
| 5. |
フォワーダより転送されたセッション情報をクライアントに認証Cookie として通知し、クライアントは認証Cookie を受信後、自動的に1で送信したコンテンツに対するリクエストをエージェントモジュールに送信します。
|
| 6. |
エージェントモジュールへのリクエストはmod_proxyモジュールがバックエンドWEBサーバへ中継を行います。
|
| 7. |
バックエンドWEBサーバからmod_proxyモジュールとエージェントモジュールを経由してクライアントへの応答が返されます。 |
|
 |
 |
|
 |
 |
各サーバにおける設定についてご説明します。
クライアント:
 |
1, 名前解決の設定
バックエンドWEBサーバのホスト名と同じ名前を使ってエージェントサーバへアクセスできるように、
クライアントが参照するDNSやhostsファイルに以下の設定を行います。
例 hostsファイルに定義する
127.0.0.1 localhost
200.1.1.1 ap01.hp.com
|
|
エージェントサーバ:
 |
1, 名前解決の設定
バックエンドWEBサーバの名前解決が行えるよう、DNS(内部向け用)やhostsファイルに設定を行います。
例 hostsファイルに定義する
127.0.0.1 localhost
10.1.1.1 ap01.hp.com
|
|
 |
2, Apache設定
(a) バックエンドWEBサーバのアプリケーションと同じPort番号で起動させる
(b) ServerNameをバックエンドWEBサーバと同じに設定する。
(c) ProxyPassディレクティブの設定を行う。
例 httpd.conf
Listen 7002 … (a)
LoadModule dfw_module /etc/httpd/modules/mod_dfw.so
< VirtualHost 200.1.1.1:7002 > … (a)
DocumentRoot /var/www_7002/html
ServerName ap01.hp.com … (b)
ErrorLog logs/ap01_error_log
CustomLog logs/ap01_access_log combined
< Location / >
IWAUTH DFW
IWPATH /
IWCONFIG /opt/icewall-sso/agent/config/agent.conf
IWCONFID AGENT
ErrorDocument 403 "mod_dfw error
< /Location >
ProxyPass / http://ap01.hp.com:7002/ … (c)
< /VirtualHost> |
| ※1 |
mod_proxyに必要なモジュール(mod_proxy.so)は予めLoadしておきます。
|
| ※2 |
フォワーダサーバの設定は既に行われているものとし、ここでは説明は行いません。 |
| ※3 |
エージェントモジュールの設定(agent.conf)はバックエンドWEBサーバ上に構築する場合と変わりません。 |
|
|
 |
 |
|
 |
 |
今回ご紹介した設定方法を参考にしていただければ、HP IceWall SSOエージェントモジュールをリバースプロキシ型として動作させる環境を構築することができ、IceWallフォワーダと比べると簡易的ですが以下のことが実現できます。
 |
・エージェントモジュールが対応していないWEBサーバ環境への対応 |
| |
・WEBサーバのセキュリティ向上 |
IceWallフォワーダやエージェントモジュールと適宜組み合わせて、ご活用ください。
|
 |
| 2006.07.27 日本HP コンサルティング・インテグレーション統括本部 テクニカルコンサルタント 佐藤 義昭 |
 |
●関連技術レポート
|
 |
|