On 30/10/2010 22:11, Darryl Lewis wrote:
> Yeah, well reasoned rebuttal there....not.

Oh, I don't know.  It was succinct, to the point, and unlike your
statement, accurate.

You declared, on a public mailing list which is republished on web based
forums and is therefore Googlable, that Tomcat wasn't suitable for use
in a secure environment.  That statement is false* and demonstrably so,
because it _is_ being used in secure environments.

Other messages in the thread contain more information, but I'll
reiterate a few points here.


If the attacker has the same (or higher) level of access to the JVM
process as the user under which the process is running, 'encrypting' a
DB password is meaningless, unless you are able to pass an hashed
password directly to the DB**.

Even that doesn't help much, as the attacker may still have the ability
to make a connection and extract data from the DB.  What's the use of
obfuscating the password, if connection is still usable?


If the attacker the same access as the server user, what's to stop them
from simply adding a malicious jar and restarting the process, or
deploying their own hostile application(s)?

Or causing a heap dump which contains the state of every object and can
easily be examined to find specific values?

Or more exotic things like (in Java 6) dynamically adding an agent via
the Attach API & rewriting classes to include malicious code?


You'll note that I haven't specifically referred to Tomcat, because each
of these applies to any JVM process.

So are you also saying that WebSphere, WebLogic, Geronimo, JBoss,
Glassfish et al are unsuitable for running in a secure environment?


> That's why we encrypt passwords in unix, or haven't you looked at
> etc/passwd lately?

On my *nix OS, it's not /etc/passwd, it's /etc/shadow which contains the
hashes - and it isn't world readable, because allowing anyone/everyone
access to your passwords, hashed or not, is bad.

Apply the proper file permissions.  QED.


p


*  Don't take my word for it:

 
http://www.owasp.org/index.php/Securing_tomcat#Cleartext_Passwords_in_CATALINA_HOME.2Fconf.2Fserver.xml

** I tried finding a way to pass a hashed password to a well-known
commercial-DB-vendors flagship product recently at the behest of a
client, and wasn't able to.

I'd be interested to know how many DBs *can* handle hashed passwords.





Attachment: 0x62590808.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to