4.17. セキュリティーサーバー設定の変更
JBoss EAP 7 に移行し、Java Security Manager を有効にして実行する計画がある場合、ポリシーを定義する方法に変更があり、追加の設定変更が必要になる可能性があります。また、JBoss EAP 7 ではカスタムセキュリティーマネージャーはサポートされないため注意してください。
Java Security Manager のサーバー設定の変更に関する詳細は、JBoss EAPHow to Configure Server Security のConsiderations Moving from Previous Versionsを参照してください。
4.17.1. JBoss EAP 7.0 と JBoss EAP 7.1 間のレガシーセキュリティー動作の変更 リンクのコピーリンクがクリップボードにコピーされました!
4.17.1.1. 到達不可能な LDAP レルムの HTTP ステータスの変更 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP 7.0 では、サーバーが到達できる LDAP レルムがない場合は security サブシステムが HTTP ステータスコード 401 Unauthorized を返しました。
JBoss EAP 7.1 以上のレガシー security サブシステムは、予期せぬ状況が発生したためにサーバーがリクエストを処理できなかったことをより正確に示す HTTP ステータスコード 500 Internal Error を返します。
4.17.1.2. LDAP セキュリティーレルムの有効化による DN のロールの解析 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP 7.0 では、DN からのロールを解析するために org.jboss.as.domain.management.security.parseGroupNameFromLdapDN システムプロパティーを使用して LDAP セキュリティーを有効にしました。このプロパティーが true に設定されると、ロールは DN から解析されました。それ以外の場合は、ロールの検索に通常の LDAP 検索が使用されました。
JBoss EAP 7.1 以上では、このシステムプロパティーは非推奨になりました。このオプションを設定するには、以下の管理 CLI コマンドを使用して、コアサービスパスで新規導入された parse-group-name-from-dn 属性を true に設定します。
/core-service=management/security-realm=REALM_NAME/authorization=ldap/group-search=principal-to-group:add(parse-group-name-from-dn=true)
4.17.1.3. JBoss EAP SSL 証明書の LDAP サーバーへの送信に関する変更 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP 7.0 では、ldapSSL セキュリティーレルムを使用するよう管理インターフェイスが設定されていると、サーバーと LDAP 間の相互認証に失敗し、管理インターフェイスの認証に失敗することがあります。これは、それぞれ異なるスレッドによって 2 つの LDAP 接続が確立され、これらの接続が SSL セッションを共有しないためです。
JBoss EAP 7.1 の LDAP outbound-connection には、新しいブール値 always-send-client-cert が導入されました。このオプションを使用すると、アウトバウンド LDAP 接続の設定によって、常にクライアント証明書が必要であると設定された LDAP サーバーをサポートすることができます。
LDAP 認証は 2 つの手順で行われます。
- アカウントを検索します。
- クレデンシャルを検証します。
デフォルトでは、always-send-client-cert 属性は false に設定されるため、クライアント SSL 証明書は最初のアカウント検索リクエストとのみ送信されます。この属性が true に設定されると、JBoss EAP LDAP クライアントは検索および検証リクエストの両方とともにクライアント証明書を LDAP サーバーに送信します。
以下の管理 CLI コマンドを使用してこの属性を true に設定できます。
/core-service=management/ldap-connection=my-ldap-connection:write-attribute(name=always-send-client-cert,value=true)
これにより、サーバー設定ファイルに以下の LDAP アウトバウンド接続が追加されます。
<management>
....
<outbound-connections>
<ldap name="my-ldap-connection" url="ldap://127.0.0.1:389" search-dn="cn=search,dc=myCompany,dc=com" search-credential="myPass" always-send-client-cert="true"/>
</outbound-connections>
....
</management>
4.17.2. FIPS モードの変更 リンクのコピーリンクがクリップボードにコピーされました!
FIPS モードで実行している場合、JBoss EAP 7.0 のデフォルト動作が JBoss EAP 7.1 では変更になったことに注意してください。
レガシーセキュリティーレルムを使用している場合、JBoss EAP 7.1 以上では開発の目的で自己署名証明書が自動的に生成されます。この機能は JBoss EAP 7.0 にはなく、デフォルトで有効になっています。そのため、FIPS モードで実行している場合、サーバーを設定して自己署名証明書の自動作成を無効にする必要があります。無効にしないと、サーバーの起動時に以下のエラーが発生することがあります。
ERROR [org.xnio.listener] (default I/O-6) XNIO001007: A channel event listener threw an exception: java.lang.RuntimeException: WFLYDM0114: Failed to lazily initialize SSL context
...
Caused by: java.lang.RuntimeException: WFLYDM0112: Failed to generate self signed certificate
...
Caused by: java.security.KeyStoreException: Cannot get key bytes, not PKCS#8 encoded
自己署名証明書の自動作成に関する詳細は、JBoss EAPHow to Configure Server Security のAutomatic Self-signed Certificate Creation for Applicationsを参照してください。