Hi Alexander,

In terms of using a Java Security Manager, there will be better out-of-the-box support for a secure network server in the next feature release (10.3). That work is tracked by https://issues.apache.org/jira/browse/DERBY-2196. Right now, you can grab a generic policy file from the development codeline at java/drda/org/apache/derby/drda/server.policy. I will mouse that file into my reply. You will need to customize some variables in that file in order to fit it to your particular environment. I hope this helps. Here's the moused-in server policy file:

grant codeBase "${derby.install.url}derby.jar"
{
//
// These permissions are needed for everyday, embedded Derby usage.
//
 permission java.lang.RuntimePermission "createClassLoader";
 permission java.util.PropertyPermission "derby.*", "read";
 permission java.io.FilePermission "${derby.system.home}","read";
permission java.io.FilePermission "${derby.system.home}${/}-", "read,write,delete";

//
// This permission lets you backup and restore databases
// to and from arbitrary locations in your file system.
//
// This permission also lets you import/export data to and from
// arbitrary locations in your file system.
//
// You may want to restrict this access to specific directories.
//
 permission java.io.FilePermission "<<ALL FILES>>", "read,write,delete";
};

grant codeBase "${derby.install.url}derbynet.jar"
{
//
// This permission lets the Network Server manage connections from clients.
//
 permission java.net.SocketPermission "${derby.drda.host}:*", "accept";
};

Alexander Trauzzi wrote:
Greetings to all the Derbites in mailing list land. I have a rather simple, but potentially complicated question.

I grabbed a copy of the latest derby-bin distribution. I ran the scripts required to run it as a network server, just as a quick little test in the console.

The first concern I have is that anyone seems to have the ability to connect to my server and create databases? I did a bit of searching with Google and also within the derby site and came up with all kinds of very complicated and confusing recommendations to "secure" a server. Some were in the manual, referring to authentication, others involved using a Java security manager. Neither of which were explained in such a way that I could easily absorb or put into practical use. Especially the Java security manager.

Is there any resource that is straightforward, concise and simple that can help me set up a derby network server that authenticates based on username/password pairs? I'm talking MySQL-easy (anyone can set up a MySQL server!).

Thank you to all who reply...

- Alexander Trauzzi

Reply via email to