[jira] Updated: (QPID-1511) JMX Interface does not require authentication

2009-03-15 Thread Robert Gemmell (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Gemmell updated QPID-1511:
-

Status: Ready To Review  (was: In Progress)

> JMX Interface does not require authentication
> -
>
> Key: QPID-1511
> URL: https://issues.apache.org/jira/browse/QPID-1511
> Project: Qpid
>  Issue Type: Improvement
>  Components: Java Broker, Java Management : JMX Console
>Reporter: Martin Ritchie
>Assignee: Robert Gemmell
> Fix For: Eclipse MC M5
>
> Attachments: create_example_ssl_certstores.sh, 
> QPID-1511_29jan2009.patch
>
>
> Summary:
> JMX Interface uses the default RMI connector which has no authentication 
> mechanism. We should not be shipping a JMX interface that doesn't have 
> authentication. The interface has been disabled by default for M4 but this 
> should be modified based on the outcome of the discussion on qpid-dev to 
> authenticate all connections.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Updated: (QPID-1511) JMX Interface does not require authentication

2009-01-29 Thread Robert Gemmell (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Gemmell updated QPID-1511:
-

Attachment: QPID-1511_29jan2009.patch
create_example_ssl_certstores.sh

I attach QPID-1511_29jan2009.patch to address this JIRA, and a script to 
produce an example keystore and truststore for users who dont have their own 
SSL certificate handy. I wasnt sure where to put that in the repository so its 
not in the patch.

The JMXMP connector capabilities are left intact for now, but grouped for easy 
future removal (I think its a good idea to keep it all in for at least 1 
revision before removing).

2 new files are added by the patch:
qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/rmi/RMIPasswordAuthenticator.java
qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/rmi/RMIPasswordAuthenticatorTest.java

===
Notes:
===

Adds authentication and SSL encryption to the JMX RMIConnectorServer, and 
updates the console and JMXConnectionFactory accordingly.

Makes the RMI ConnectorServer use the custom MBeanServerForwarder invoker like 
the JMXMP connector has, thus enforcing the authorisation system.

SSL is on by default in the config file but can be turned off in the config if 
desired, though the brokers config request defaults it to true so that need not 
be exposed if it isnt desired. The config.xml file is configured to use the 
test ssl certificate store in the java/test_resources/ssl directory created for 
the cpp.ssl test profile. The config file can be overidden by specifying the 
standard javax.net.ssl.* system properties normally available for this task. If 
the keystore or password are not set by one of these means, a configuration 
exception will be thrown and abort the broker startup.

As a result of the above, to connect using the console/cli you will need to 
supply the relevant ssl trust store location and password if the certificates 
being used cant be verified by the default java trust stores. This can be done 
using the system properties javax.net.ssl.trustStore and 
javax.net.ssl.trustStorePassword, either at the command line when launching 
qpidmc(.exe), or by altering the qpidmc.ini file using the examples now 
provided within it.

The broker will use the defined management port (default 8999) for the RMI 
registry as before, but now uses the 'th next port (+100 just now, thus 
9099 normally) to export the actual JMX RMIConnectorServer, whereas previously 
this port was chosen at random by the JMX Factory methods, making it rather 
firewall unfriendly.

A custom RMIServerSocketFactory is included to address the security issues 
surrounding RMI registries (namely that anyone on that machine is free to 
modify the registry and thus can intercept the JMX connections by replacing the 
JMX Connector Server stub in the registry with their own), by crippling the 
hostname detection and making it impossible to bind objects to the registry 
using RMI locally or remotely, instead requiring you to hold the object 
reference to it.

The authenticator has a local MD5 hashing function to convert the password for 
comparison, but ideally this will be removed through modification of the 
Base64MD5 PD to do its own hashing, and the authenticator will then make use of 
the PD's verifyPassword method instead.

Finally, the patch makes the JMXManagedObjectRegistry use the specific 
principal database listed in the configuration as the jmx management PD, as 
happens to AMQUserManagementMBean. The PD selection method used previously in 
JMXManagedObjectRegistry made it possible for the 2 areas to (unwittingly or 
otherwise) use different databases, which the AMQUMMBean implementation does 
not appear to be able to support properly if thats what was originally intended 
(see 
http://mail-archives.apache.org/mod_mbox/qpid-dev/200812.mbox/%3c00e101c953ff$1f33bca0$5d9b35...@gla.ac.uk%3e
 for way more info than you could ever want :P)


> JMX Interface does not require authentication
> -
>
> Key: QPID-1511
> URL: https://issues.apache.org/jira/browse/QPID-1511
> Project: Qpid
>  Issue Type: Improvement
>  Components: Java Broker, Java Management : JMX Console
>Reporter: Martin Ritchie
> Fix For: Eclipse MC M5
>
> Attachments: create_example_ssl_certstores.sh, 
> QPID-1511_29jan2009.patch
>
>
> Summary:
> JMX Interface uses the default RMI connector which has no authentication 
> mechanism. We should not be shipping a JMX interface that doesn't have 
> authentication. The interface has been disabled by default for M4 but this 
> should be modified based on the outcome of the discussion on qpid-dev to 
> authenticate all connections.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a co

[jira] Updated: (QPID-1511) JMX Interface does not require authentication

2009-01-29 Thread Robert Gemmell (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Gemmell updated QPID-1511:
-

Attachment: (was: QPID-1511_wip_8dec2008.patch)

> JMX Interface does not require authentication
> -
>
> Key: QPID-1511
> URL: https://issues.apache.org/jira/browse/QPID-1511
> Project: Qpid
>  Issue Type: Improvement
>  Components: Java Broker, Java Management : JMX Console
>Reporter: Martin Ritchie
> Fix For: Eclipse MC M5
>
>
> Summary:
> JMX Interface uses the default RMI connector which has no authentication 
> mechanism. We should not be shipping a JMX interface that doesn't have 
> authentication. The interface has been disabled by default for M4 but this 
> should be modified based on the outcome of the discussion on qpid-dev to 
> authenticate all connections.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Updated: (QPID-1511) JMX Interface does not require authentication

2009-01-29 Thread Robert Gemmell (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Gemmell updated QPID-1511:
-

Attachment: (was: QPID-1511_wip_19dec2008.patch)

> JMX Interface does not require authentication
> -
>
> Key: QPID-1511
> URL: https://issues.apache.org/jira/browse/QPID-1511
> Project: Qpid
>  Issue Type: Improvement
>  Components: Java Broker, Java Management : JMX Console
>Reporter: Martin Ritchie
> Fix For: Eclipse MC M5
>
>
> Summary:
> JMX Interface uses the default RMI connector which has no authentication 
> mechanism. We should not be shipping a JMX interface that doesn't have 
> authentication. The interface has been disabled by default for M4 but this 
> should be modified based on the outcome of the discussion on qpid-dev to 
> authenticate all connections.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Updated: (QPID-1511) JMX Interface does not require authentication

2009-01-29 Thread Marnie McCormack (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marnie McCormack updated QPID-1511:
---

Fix Version/s: Eclipse MC M5
Affects Version/s: (was: M4)
   (was: M2.1)
   (was: M3)
   (was: M2)
   (was: M1)

Sscoping items for early 2009 release of Java Eclipse Mgt Console 

> JMX Interface does not require authentication
> -
>
> Key: QPID-1511
> URL: https://issues.apache.org/jira/browse/QPID-1511
> Project: Qpid
>  Issue Type: Improvement
>  Components: Java Broker, Java Management : JMX Console
>Reporter: Martin Ritchie
> Fix For: Eclipse MC M5
>
> Attachments: QPID-1511_wip_19dec2008.patch, 
> QPID-1511_wip_8dec2008.patch
>
>
> Summary:
> JMX Interface uses the default RMI connector which has no authentication 
> mechanism. We should not be shipping a JMX interface that doesn't have 
> authentication. The interface has been disabled by default for M4 but this 
> should be modified based on the outcome of the discussion on qpid-dev to 
> authenticate all connections.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Updated: (QPID-1511) JMX Interface does not require authentication

2008-12-19 Thread Robert Gemmell (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Gemmell updated QPID-1511:
-

Attachment: QPID-1511_wip_19dec2008.patch

I have made a new patch of the progress on this, QPID-1511_wip_19dec2008.patch. 
It uses SSL and to encrypt the RMI based connections and performs user 
authentication. The RMI based connector server is now subject to the access 
rights system like the JMXMP based connector server is. The JMXMP capability is 
retained with the patch, but is all collected within a single if statement and 
so easily removed, as has been discussed (i think it would be good to have 1 
revision where its there before removing it).

I know Aidan is doing work in this area to combine common management 
functionality for the console and cli that will invalidate this version of the 
patch, but i thought it would be useful for clarity to put it up just now, i 
will roll another when thats done. This patch also incorporates/alters changes 
i posted in a patch to QPID-1532 which havent been commited yet.

I actually wouldnt recommend adding this stuff until after the post-M4 release 
of the console anyway, and once the MBean compatibility issues have been 
discussed. These features will allow prevention of old management consoles 
connecting to new brokers which implement whatever compatibility solution is 
determined.

> JMX Interface does not require authentication
> -
>
> Key: QPID-1511
> URL: https://issues.apache.org/jira/browse/QPID-1511
> Project: Qpid
>  Issue Type: Improvement
>  Components: Java Broker, Java Management : JMX Console
>Affects Versions: M1, M2, M2.1, M3, M4
>Reporter: Martin Ritchie
> Attachments: QPID-1511_wip_19dec2008.patch, 
> QPID-1511_wip_8dec2008.patch
>
>
> Summary:
> JMX Interface uses the default RMI connector which has no authentication 
> mechanism. We should not be shipping a JMX interface that doesn't have 
> authentication. The interface has been disabled by default for M4 but this 
> should be modified based on the outcome of the discussion on qpid-dev to 
> authenticate all connections.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.