この項では、次のトピックについて説明します。
運用前段階から運用段階に移行するときは、通常、システムのセキュリティ面を強化する必要があります。サンドボックステスト中、HTTPを使ってユーザアプリケーションドライバとアプリケーションサーバを接続することができます。また、ドライバとアプリケーションサーバ間の通信に、自己署名証明書(一時的な手段として)を使用することもできます。運用環境では、会社のVerisign *(または他の信頼できるプロバイダ)の証明書に基づいたサーバ認証による安全な接続を使用する必要があります。
Identity Managerのユーザアプリケーション環境では、次の図のようにさまざまな部分でX.509証明書が使用されます。
図 2-2 Identity Managerユーザアプリケーション環境
デフォルトでは、ユーザアプリケーションとアイデンティティボールト間の通信はすべて、TLS (Transport Layer Security)により保護されます。アイデンティティボールト(eDirectory)証明書は、インストール時にJBossアプリケーションサーバキーストアへ自動的にインストールされます。特に指定しない限り、ユーザアプリケーションのインストーラは、eDirectory証明書のコピーをJREのデフォルトcacertsストアに保存します。WebSphereサーバキーストアへの証明書のインストールは、WebSphereツールを使って手動で行う必要があります。
安全に通信するには、図のようにサーバ証明書を複数の場所に配置する必要があります。図中のJBoss certボックスが表示されている場所で、自己署名付き証明書を使用するか、Verisignなどの認証局(CA)によって発行された証明書を使用するか(代わりに)に応じて、異なる設定手順が必要です。
有名な信頼できる認証局(Verisignなど)が発行した証明書を使用する場合には、特別な設定手順は必要ありません。自己署名付き証明書を作成して使用する場合は、次の手順に従ってください。
次のようなコマンドライン構文を使用して、自己署名付き証明書のキーストアを作成します。dnameにはご自分のWebサイトと組織を指定します。必要に応じて他の値も変更してください。
keytool -genkey -alias IDM -keyalg RSA -storepass changeit -keystore jboss.jks -dname "cn=www.novell.com,o=Novell,s=MA,c=US" -keypass changeit
証明書のほかに「jboss.jks」というファイルも作成します。
キーストアファイル(jboss.jks)を次の例のようなJBossユーザアプリケーションディレクトリにコピーします。
cp jboss.jks ~/jboss-4.2.0.GA/WAR/conf
ユーザアプリケーションは、認証にHTMLフォームを使用します。その結果、ログイン時にユーザ資格情報がさらされてしまいます。これらの重要な情報を保護するために、SSLを有効にすることを強くお勧めします。
表 2-1に、SSL導入に関する説明の参照情報を示します。
表 2-1 SSL導入時の指針
指針 |
次のトピックを参照してください。 |
---|---|
SSLを使用するためのAccess Managerの設定 |
ユーザアプリケーションへのログインにAccess Managerを使用する場合は、『Novell Access Manager 3.0 SP1セットアップガイド』を参照してください。 |
SSLを使用するためのアプリケーションサーバの設定 |
アプリケーションサーバメーカーが提供するドキュメントを参照してください。IDMユーザアプリケーションでSSLの使用を設定する前に、アプリケーションサーバのSSLの使用を設定してください。 |
SSLを使ってアイデンティティボールトに接続するためのIDMユーザアプリケーション(クライアントとして)の設定 |
インストール時に[セキュアな管理者接続]と[セキュアなユーザ接続]設定パラメータを設定する方法については、『IDM 3.5.1インストールガイド』の第5章にあるユーザアプリケーションのインストールに関する項目を参照してください。これらのパラメータは、configupdateユーティリティを使って編集することもできます。 |
IDM.warでweb.xmlファイルを検索し、テキストエディタで開きます。
ファイルの最後の方にある次のセクションをアンコメントします。
<security-constraint> <web-resource-collection> <web-resource-name>IDMProv</web-resource-name> <url-pattern>/*</url-pattern> <http-method>POST</http-method> <http-method>GET</http-method> <description>IDM Provisioning Edition</description> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport guarantee> </user-data-constraint> </security-constraint>
ファイルとアーカイブを保存して、JBossを再起動します。
Identity Managerユーザアプリケーションは、クライアント証明書ベースの認証はサポートしていません。ただし、Novell® Access Managerを使用すれば、この機能を入手できます。詳細については、Novellの担当者までお問い合わせください。セクション 2.2.6, サードパーティ認証とシングルサインオンも参照してください。
Identity Managerユーザアプリケーションでは、Access Managerにログインできる任意のサードパーティ認証サービスを使用して、Access Managerを通じたシングルサインオンをサポートしています。この機能は、非パスワードベースの技術を使用して、Access Managerを通じてユーザアプリケーションにログインすることを有効にします。たとえば、スマートカードを使用したユーザ(クライアント)証明書を介したログインです。
Access Managerは、ユーザをIDMアイデンティティボールト内のDNにマップします。Access Managerを使ってユーザアプリケーションにユーザがログインする際に、Access ManagerはSAMLアサーション(ユーザのDNを識別子として)をHTTPヘッダに挿入し、そのリクエストをユーザアプリケーションに転送することができます。ユーザアプリケーションはSAMLアサーションを使ってアイデンティティボールトとのLDAP接続を確立します。この機能をサポートするためのAccess Managerの設定方法については、Access Managerのマニュアルを参照してください。
リクエストをやり取りするチャネルを保護するには、そのチャネルをファイアウォール内に置くかSSL接続を使用してください。ユーザアプリケーション環境でSSLを設定する場合の参照情報については、表 2-1を参照してください。
現時点でパスワードに基づいたシングルサインオン認証を許可するアクセサリポートレットは、ユーザアプリケーション認証にSAMLアサーションを使用する場合、シングルサインオンをサポートしていません。
永続的に保管されるユーザアプリケーションに関連する重要な情報は、AES-128アルゴリズムを使って暗号化されます。マスタキー自身もPBEWithSHA1AndDESedeを使ったパスワードベースの暗号化により保護されます。パスワードがメモリに永続的に保管されることはありません。
次のような情報が暗号化されます(ただし、これ以外にも暗号化される情報があります)。
LDAP 管理者のユーザパスワード
LDAP ゲストユーザパスワード
DSSトラステッドCAキーストアパスワード
DSS署名キーキーストアパスワード
DSS署名キーエントリパスワード
Novell Audit署名キー
ただしクラスタ環境では、セッションのフェイルオーバーを有効にすると、ユーザセッション内の一部の重要なデータ(たとえば、ポートレットシングルサインオン用のログインパスワードなど)がセッションのレプリケーション時にネットワーク上に送信される可能性があります。そのため、機密データがネットワークスニファに見られる可能性があります。このような重要なデータを保護するには、次のいずれかの作業を行ってください。
JGroupsの暗号化を有効にします。JGroupsの暗号化を有効にする方法の詳細については、JGroups Encryptを参照してください。
クラスタがファイアウォールの背後にあることを確認します。