2.2 セキュリティ

運用前段階から運用段階に移行するときは、通常、システムのセキュリティ面を強化する必要があります。サンドボックステストで、通常のHTTPを使用してユーザアプリケーションドライバをJBossに接続したり、ドライバとアプリケーションサーバの通信に(一時的な手段として)自己署名付き証明書を使用したりしていた場合でも、運用環境では、会社のVerisign (または他の信頼できるプロバイダ)の証明書に基づいたサーバ認証による安全な接続を使用する必要があります。

Identity Managerのユーザアプリケーション環境では、次の図のようにさまざまな部分でX.509証明書が使用されます。

説明:説明:図

デフォルトでは、ユーザアプリケーションとアイデンティティボールト間の通信はすべて、TLS (Transport Layer Security)により保護されます。アイデンティティボールト(eDirectory)証明書は、インストール時にJBossキーストアへ自動的にインストールされます。特に指定しない限り、ユーザアプリケーションのインストーラは、eDirectory証明書のコピーをJREのデフォルトcacertsストアに保存します。

安全に通信するには、図のようにサーバ証明書を複数の場所に配置する必要があります。図中のJBoss certボックスが表示されている場所で、自己署名付き証明書を使用するか、Verisignなどの認証局(CA)によって発行された証明書を使用するかに応じて、異なる設定手順が必要です。

自己署名付き証明書

有名な信頼できる認証局(Verisignなど)が発行した証明書を使用する場合には、特別な設定手順は必要ありません。しかし、自己署名付き証明書を作成して使用する場合には、次の手順が必要です。

  1. 次のようなコマンドライン構文を使用して、自己署名付き証明書のキーストアを作成します。

    keytool -genkey -alias tomcat -keyalg RSA -storepass changeit -keystore jboss.jks -dname "cn=JBoss,ou=exteNd,o=Novell,l=Waltham,s=MA,c=US" -keypass changeit
    

    証明書のほかに「jboss.jks」というファイルも作成します。

  2. キーストアファイル(jboss.jks)を次の例のようなJBossユーザアプリケーションディレクトリにコピーします。

    cp jboss.jks ~/jboss-4.0.2/server/spitfire/conf
    

JBossでのSSLの有効化

JBossでSSLを有効にするには、[IDM]/jboss/server/IDM/deploy/.からjbossweb-tomcat55.sarファイルを探し、このファイルからserver.xmlを見つけ、テキストエディタでファイルを開きます。次のセクションをアンコメントするか追加して、SSLを有効にします。

<Connector port="8443" address="${jboss.bind.address}" maxThreads="100" strategy="ms" maxHttpHeaderSize="8192" emptySessionPath="true" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/spitfire/conf/jboss.jks" keystorePass="changeit" sslProtocol = "TLS" />

SOAPセキュリティの有効化

IDM.warweb.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を再起動します。

2.2.1 相互認証

Identity Managerのユーザアプリケーションは、従来のサーバ認証シナリオをサポートしていますが(Web上のセキュアWebページを用いたhttpsセッションで一般的に使用されています)、双方向の証明書ベース認証は、初期状態ではサポートしていません。ただし、Novell iChainを使用することにより、この機能を入手できます。このため、たとえば組織でパスワードではなくユーザ証明書でユーザがログインできるようにする必要がある場合、iChainを環境に追加することでこの機能を実現できます。

詳細については、Novellの担当者までお問い合わせください。