第2章 サーバーおよびインターフェースの保護
2.1. ブロックの構築
2.1.1. インターフェースおよびソケットバインディング
JBoss EAP 6 は、ホストのインターフェイス (inet-address、nic など) とポートを使用して、Web アプリケーションと管理インターフェイスの両方の通信を行います。これらのインターフェイスとポートは、JBoss EAP 6 設定ファイル ( standalone.xml
、domain.xml
、host.xml
など) の インターフェイス と socket-binding-groups 設定を介して定義および設定されます。インターフェイス と ソケット バインディンググループを定義および設定する方法の詳細については、Red Hat JBoss Enterprise Application Platform 6 管理および設定ガイド の インターフェイス と ソケットバインディンググループ セクションを参照してください。
例: インターフェース
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> <interface name="unsecure"> <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/> </interface> </interfaces>
例: ソケットバインディンググループ
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/> <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/> <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/> <socket-binding name="ajp" port="8009"/> <socket-binding name="http" port="8080"/> <socket-binding name="https" port="8443"/> <socket-binding name="remoting" port="4447"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group>
2.1.2. セキュリティーレルム
JBoss EAP はセキュリティーレルムを使用して、ローカル、LDAP、プロパティーなどの認証および承認メカニズムを定義します。セキュリティーレルムの背景情報は、Red Hat JBoss Enterprise Application Platform『セキュリティーアーキテクチャー』ガイドの「セキュリティレルム 」を参照してください。
例: セキュリティーレルム
<security-realms> <security-realm name="ManagementRealm"> <authentication> <local default-user="$local" skip-group-loading="true"/> <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/> </authentication> <authorization map-groups-to-roles="false"> <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/> </authorization> </security-realm> <security-realm name="ApplicationRealm"> <authentication> <local default-user="$local" allowed-users="*" skip-group-loading="true"/> <properties path="application-users.properties" relative-to="jboss.server.config.dir"/> </authentication> <authorization> <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/> </authorization> </security-realm> </security-realms>
JBoss EAP 6 では、既存のセキュリティーレルムを更新するだけでなく、新しいセキュリティーレルムを作成して使用することもできます。新しいセキュリティーレルムは、管理コンソールを介して作成することも、管理 CLI から次のコマンドを呼び出すこともできます 。/core-service=management/security-realm=NEW-REALM-NAME:add ()
2.1.3. 管理インターフェイスを保護するためのセキュリティーレルムとソケットバインディングの使用
JBoss EAP 6 は、2 つの異なる管理インターフェイスを定義します。
- http-interface
- native-interface
これらのインターフェイスは、JBossEAP6 設定の <management-interfaces> セクションで定義されています。
<management-interfaces> <native-interface security-realm="ManagementRealm"> <socket-binding native="management-native"/> </native-interface> <http-interface security-realm="ManagementRealm"> <socket-binding http="management-http"/> </http-interface> </management-interfaces>
各インターフェイスが セキュリティーレルム と ソケットバインディング を指定していることに注意してください。指定されたセキュリティーレルムとソケットバインディングの設定を更新すると、管理インターフェイスをさまざまな方法で保護できます。セキュリティーレルムとソケットバインディングを介してこれらの各インターフェイスを保護できることに加えて、これらのインターフェイスの両方を完全に無効にすることもできます。また、これらのインターフェイスのユーザーは、さまざまなロールとアクセス権を持つように設定できます。このガイドには、セキュリティー監査、安全なパスワード、JBoss EAP 6 内の他のサブシステムと重複する JMX など、JBossEAP6 の保護に関連するトピックもいくつかあります。