Olá galera,
bom o tomcat atende a tudo que preciso quanto a recursos via JNDI porem estou com uma aplicacao a ser entregue e que o cliente exige seguranca extrema e com o tomcat pra configurar por exemplo a conexao ao banco de dados e algumas variaveis de ambiente estao tudo nos arquivos xml da aplicacao e do contexto da mesma precisava de alguma forma proteger os dados contidos nesses xml tem jeito ou eles vao ter que ficar expostos mesmo ?? somente segurança a nivel de maquina e usuarios existe pra isso ou posso fazer algo programaticamente ou sei la como pra evitar por exemplo que alguem quem mexa na maquina pare minha aplicacao simplesmente mexendo nos xml ??
Se alguem tiver acesso a maquina, qualquer coisa que ela alterar vai te prejudicar.
Rafael
T
thingol
Bom, temos uns sistemas implantados em instituições financeiras onde esses dados ficam em arquivos .XML, em claro, numa boa.
É que essas aplicações ficam em máquinas de acesso restrito (salas-cofre, acesso via SSH com certificados digitais etc.), e as permissões Unix dos arquivos também são bastante restritas.
Portanto o correto é fechar o acesso à máquina, não ficar criptografando os arquivos, que isso não resolve muito.
No caso dos bancos de dados, todo o acesso é controlado via controle de acesso a stored procedures. Então também não adianta muito saber o usuário e senha , porque o acesso é restrito de qualquer forma.
E de qualquer maneira agora não é hora de falar de segurança.
Você primeiro projeta as portas e então faz a casa , não o contrário
T
thingol
De qualquer maneira, se seu cliente tivesse comprado uma licença do WebLogic, por exemplo, as strings de conexão com a base são cifradas, mas isso é só porque os clientes ficaram enchendo o saco para que a BEA implementasse isso (meio porco, porque qualquer zé que copiasse esse arquivo poderia fazer a conexão em outra instalação).
O correto seria obter esse dado via JNDI de um servidor LDAP, e pôr controle de acesso a esse dado. (Por exemplo, o servidor LDAP pode receber uma query solicitando a string de conexão, mas somente a partir de uma determinada máquina, e de um determinado usuário do Unix, por exemplo).