JBoss Community

Management API Security Configuration

modified by Darran Lofthouse in JBoss AS7 Development - View the full document

This document is to list the configuration required to secure the management APIs.  Some of these tasks may be taken care of within other tasks but this is a general overview.

 

Overall Domain Management Security

Currently no top level element to hold this although should probably be a child of some 'domain-management' element.

 

Existing Configuration

Currently the domain management configuration is limited to options to specify which management APIs to expose and for nodes where to locate the domain controller.

 

Standalone Configuration

For standalone servers the following can be defined within the standalone.xml :-

 

    <management>
       <native-api interface="default" port="9999"/>
       <http-api interface="default" port="9990"/>
    </management>

 

i.e. At this stage the only configuration is to identify which APIs to expose publicly.

 

Domain Configuration

For domain deployments the following can be defined in the host.xml :-

 

    <management>
        <native-api interface="public" port="9999"/>
        <http-api interface="public" port="9990"/>
    </management>

i.e. As before the APIs to expose can be defined on a host by host basis.

 

The node which has the master domain controller can also have the following: -

 

    <domain-controller>
        <local/>
    </domain-controller>

This is simple as the sole purpose is to indicate that this node manages the domain locally so does not need to work with any remote domain controller.

 

If the node will use a remote domain controller it may have the following defined instead: -

 

    <domain-controller>
        <remote host="127.0.0.1" port="9999"/>
    </domain-controller>


This is defining a connection to the native-api of the node with the master domain controller.

 

At this stage there is no centralised configuration for domain management.

 

 

 

Transport Level Configuration

Two transports will be made available, the current configuration is as: -

 

    <management>
       <native-api interface="default" port="9999"/>
       <http-api interface="default" port="9990"/>
    </management>

Could this be renamed management-api ?

 

At the transport level the following options may be required: -

 

  • Authentication mechanism e.g. BASIC / DIGEST / CLIENT-CERT
  • SSL Certificates
    • These are very much host specific as there should be a mapping between the name in the certificate and the hostname used to connect to the management API.

 

Other than the final certificate selection could this be made generic at the domain level?  i.e. Select username/password or certificate for identification?

Is SSL going to be mandatory for all communication or optional?  If mandatory DIGEST could easily be ommitted.

Kerberos / SPNEGO based authentication at some point in the future?

Comment by going to Community

Create a new document in JBoss AS7 Development at Community