O Network Server deve ser executado sob o gerenciador de segurança do
Java.
Os próximos exemplos mostram a utilização de um arquivo de política de segurança
exemplo.
Deve ser feito um ajuste fino nesta política de segurança para adequá-la às
próprias necessidades.
Abrir o servidor para todos os clientes,
sem limitar o acesso utilizando uma política de segurança semelhante a do
exemplo a seguir, é um sério risco de segurança.
// Conjunto de permissões recomendadas para inicializar o Network Server,
// assumindo que o diretório 'd://lib' seja seguro.
// Deve ser feito um ajuste fino baseado no próprio ambiente.
grant codeBase "file:d://lib/-" {
permission java.io.FilePermission "${derby.system.home}${/}-",
"read, write, delete";
permission java.io.FilePermission "${derby.system.home}","read";
permission java.io.FilePermission "${user.dir}${/}-", "read, write, delete";
permission java.util.PropertyPermission "derby.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.lang.RuntimePermission "createClassLoader";
permission java.net.SocketPermission "minhamaquinacliente", "accept";
};
// Conjunto de permissões requerido para parar o Network Server, assumindo
// que o diretório 'd://lib' seja seguro.
// Deve ser feito um ajuste fino baseado no próprio ambiente.
grant codeBase "file:d://lib/-" {
// O que vem a seguir é requerido quando o servidor é inicializado com
// "-h localhost", ou sem a opção -h.
permission java.net.SocketPermission "localhost", "accept, connect, resolve";
permission java.net.SocketPermission "127.0.0.1", "accept, connect, resolve";
// O que vem a seguir é requerido apenas quando o servidor é inicializado com a
// opção -h <hospedeiro> (senão o acesso para "shutdown" será negado).
permission java.net.SocketPermission "<hospedeiro>:*", "accept, connect, resolve";
};