Por que você não deveria usar o JDBC em applets Java?

4

Eu ouvi pessoas dizendo que o uso de JDBC (Java Database Connectivity) não é recomendado em applets Java. Tudo o que eles dizem é: 'por causa das razões de segurança'. Quais são as 'razões de segurança'? O que uma pessoa potencialmente "ruim" faria quando descobrisse sobre o JDBC usado em um applet, colocado em algum lugar em um site? Para tornar um applet seguro, é aconselhável colocar um servlet entre um applet e um banco de dados. Eu acredito que a maioria dos programadores faz isso, eu gostaria de saber o porquê.

    
por BMC 13.01.2013 / 22:27
fonte

2 respostas

17

No nível mais básico, o servidor de banco de dados não deve ser aberto à Internet pública. Se você deseja que usuários aleatórios que executam um applet Java acessem o banco de dados diretamente, isso significa que o banco de dados está configurado para aceitar conexões de qualquer pessoa na Internet. Se esse for o caso, um invasor pode atacar seu banco de dados sem se preocupar com a invasão inicial de um firewall ou com o acesso à rede interna.

Como o applet Java é executado na máquina cliente, isso significa que é fácil para um invasor ver exatamente o que o applet está fazendo, para que ele possa extrair facilmente o nome de usuário e a senha do banco de dados. Como já estabelecemos que o servidor de banco de dados precisa estar aberto à Internet para que o applet funcione, isso significa que um invasor tem um nome de usuário e uma senha que podem usar de qualquer ferramenta que desejarem. Portanto, agora o invasor pode fazer qualquer coisa que a conta do banco de dados que o seu applet usa pode fazer (ignorando qualquer segurança no seu applet), mas eles também podem procurar por ataques que permitam escalar seus privilégios.

    
por 13.01.2013 / 22:37
fonte
12
  1. porque você precisa expor seu banco de dados à internet

  2. você precisa deixar o applet ter acesso à senha usada para se conectar ao banco de dados, um hacker pode facilmente extrair essa senha de um depurador

  3. a maioria das pessoas não pensa em usar diferentes contas de banco de dados com privilégios diferentes

  4. você não pode alterar a estrutura do banco de dados facilmente após o primeiro lançamento

por 13.01.2013 / 22:32
fonte