db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Embretsen <John.Embret...@Sun.COM>
Subject Protecting system properties (was: Re: [jira] Commented: (DERBY-1387) Add JMX extensions to Derby)
Date Thu, 07 Feb 2008 17:04:09 GMT
Daniel John Debrunner wrote:
> Rick Hillegas wrote:
> 
>> Thanks for those experiments, John. When I boot the network server, it 
>> installs the default Derby server policy. Even then I can still click 
>> through the system properties via the Runtime MBean. This surprises me 
>> because the default policy only grants permissions to the Derby jars.
> 
> I would guess the system jmx beans are jre system code and thus granted 
> all permissions.

Right. And fiddling with the system's default security policy for libraries from
the Java platform (java.*, javax.*) is not something I recommend. I am guessing
here, but I have a feeling that at least 99.9% of our users will accept this
risk instead of going that route.

There are most likely other ways to deal with this particular source of
exposure, by jumping through a number of hoops here and there (e.g. by disabling
or somehow modifying the RuntimeMXBean whenever Derby boots), but do we really
want to go that way?

There may be a "gazillion" other ways to view system properties of a given JVM
today or in the future - and we would need to keep up with that...

In my opinion, once you choose to expose your application to other, potentially
harmful, users through JMX or other means, you necessarily need to deal with a
potentially higher risk level.

We, as Derby developers, should strive to keep the sensitivity of the
information stored as (derby) system properties to a minimum. For example, we
should recommend against defining usernames and passwords in cleartext as system
properties (especially in scenarios where remote JMX is enabled), and should
provide better alternatives to the users.

It is, as Rick mentioned, hard to determine the value of a given property in the
hands of an malevolent user, but I am inclined to think this is something we
could live with. We cannot protect against everything.
Does anyone know how other comparable systems handle this issue?

Anyway, just my 2 cents...


-- 
John







Mime
View raw message