Java SE 7 Update 51 利用環境でセキュリティマネージャを有効にした場合、JDK 付属のDerby(Java DB)が起動できなくなる問題について
概要
Java SE 7 Update 51 におけるセキュリティ強化により、セキュリティマネージャが有効になっている場合、既定のセキュリティポリシーでは、エフェメラルポート以外のポートをlistenできず、JDK 付属のDerby(Java DB:以下Derby)が起動しません。
エラー内容
本問題に該当すると、ログファイル(derby.log)に次のメッセージが出力され、Derbyの起動が失敗します。
ログファイル(derby.log)
access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")
java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")
|
詳細
Java SE 7 Update 51 では、信頼されていないコードを含む全てのコードに対するソケットパーミッションの既定値が変更されました。
この制約により、エフェメラルポートを除いた範囲のポートに対しバインドを行うためには、明示的な許可を与える必要があります。
JDK 付属のDerbyを既定の状態(※1)で起動した場合、ポートバインドに対する明示的な許可が与えられないため、上記の制約に抵触し、起動に失敗します。
(※1) セキュリティマネージャが有効かつ1527ポート使用
問題のある製品
- WebOTX Developer (with Developer's Studio) V9.1~V9.2
※テスト用サーバでDerbyを使用している場合
- WebOTX Batch Server V9.1~V9.2
※設定ファイルにwebotx.batch.setup.derby.enabled=true (デフォルト値はtrue)を指定してドメインをセットアップしている場合
対処方法
WebOTX Developer (with Developer's Studio)
次の手順でセキュリティマネージャを無効にして起動してください。
(1) WebOTX統合運用管理コンソールを起動し、[アプリケーションサーバ]-[データベースコントローラ]をクリック
(2) 右ページの[定義情報]タブをクリックして、[データベースの起動コマンド]の引数で「-noSecurityManager」を設定
(例)"C:\Program Files\Java\jdk1.7.0_51\db\bin\startNetworkServer.bat" -h localhost -p 1527 -noSecurityManager
WebOTX Batch Server
次の手順でDerbyの起動スクリプトに、-noSecurityManager オプションを指定してください。
- (Linuxの場合の例)
/opt/WebOTX/domains/batchsv1/defaultRepo/startDerby.sh
修正前:
eval "${AS_JAVA}/bin/java" "${DERBY_OPTS}" org.apache.derby.drda.NetworkServerControl start -h ${BS_DOMAIN_DEFAULT_DERBY_HOST} -p ${BS_DOMAIN_DEFAULT_DERBY_PORT}
修正後:
eval "${AS_JAVA}/bin/java" "${DERBY_OPTS}" org.apache.derby.drda.NetworkServerControl start -noSecurityManager -h ${BS_DOMAIN_DEFAULT_DERBY_HOST} -p ${BS_DOMAIN_DEFAULT_DERBY_PORT}
- (Windowsの場合の例)
C:\WebOTX\domains\batchsv1\defaultRepo\startDerby.cmd
修正前:
"%AS_JAVA%\bin\java" %DERBY_OPTS% org.apache.derby.drda.NetworkServerControl start -h %BS_DOMAIN_DEFAULT_DERBY_HOST% -p %BS_DOMAIN_DEFAULT_DERBY_PORT%
修正後:
"%AS_JAVA%\bin\java" %DERBY_OPTS% org.apache.derby.drda.NetworkServerControl start -noSecurityManager -h %BS_DOMAIN_DEFAULT_DERBY_HOST% -p %BS_DOMAIN_DEFAULT_DERBY_PORT%
参考情報
製品名カテゴリ
WebOTX
WebOTX Application Server
WebOTX Batch Server
-
コンテンツID:
3010100806
-
公開日:
2014年03月12日
-
最終更新日:2014年03月12日