ALGUM COLEGA GURU EM DESENVOLVIMENTO WEB ?

MARCOS 25/08/2017 12:35:40
#476011
Bom dia,Pessoal !
Tenho uma dúvida simples sobre a segurança em sistemas WEB.
Se algum colega esclarecer fico grato:

Dúvida:

Digamos que tenho uma aplicação WEB, que acessa um Banco de Dados no mesmo servidor. Ambos Hospedados num Servidor Web qualquer (Windows ou Linux).
é possível para um Hacker , invadir e ter acesso ao Banco de Dados no Servidor , [Ô]Independente [Ô] de minha aplicação?

Eu pergunto, pois recentemente numa discussão técnica , eu disse que :

Minha opinião : Se a minha aplicação tomar os [Ô]devidos cuidados[Ô], não tem como um usuário ( Hacker ) acessar minha Base de dados. Pois, somente minha aplicação
tem os dados para conexão ( Senha , etc...)

Um colega, no entanto disse que eu estava errado. Pois segundo ele, se houverem falhas de segurança no servidor Web. O Hacker pode usar as camadas do
servidor Web , para invadir o banco de dados, sem ter que passar minha aplicação.

Como não desenvolvo para Web. Mas sim para Desktop, não tenho certeza se é possível.

Algum colega, pode esclarecer se é possível ?


MFLAVIO 25/08/2017 13:06:11
#476014
Seu Colega esta Correto

se o servidor em questão não tiver se segurança, e se banco não for criptografado
sim esta vulnerável
KERPLUNK 25/08/2017 13:17:23
#476016
Resposta escolhida
Tecnicamente, não há diferença nesse quesito por causa do tipo de aplicação. Em se tratando de Web, não existe absolutamente nada totalmente seguro; Existem servidores com nível alto de segurança, mas jamais será 100%. Imagine assim:
Você tem um cofre, que tem combinação para abrir. Você faz o procedimento de abertura, abre e guarda ou retira objetos dele. Você sabe como abrir, logo, ele pode ser aberto de alguma maneira. Isso significa que existe como abrir esse cofre, ainda que seja algo altamente complexo de ser feito, é possível. Um cofre sem portas seria um cofre 100% seguro, mas também inacessível.
Esse mesmo paradigma serve para aplicações. Você pode dificultar para que um hacker possa acessar, mas alguma abertura é obrigatória. O design que você descreveu, eu diria ser altamente inseguro. Banco de dados e aplicação devem estar separados caso contrário as possibilidades para [Ô]acesso mal intencionado[Ô] seriam enormes.
MILLU 25/08/2017 13:37:53
#476019
gostei do cofre.
absolutamente simples e claro.

desenvolvi para web por 5 anos, e dentre meus procedimentos de segurança estão basicamente:
servidor unix com ngix
cron configurado para realizar backup dos bancos de dados a cada hora, preservo sempre o backup das 0h (dependendo
da importância dos dados, é preservado por uma semana ou mais).

nunca uso ferramentas para desenvolver (alias a meu ver, este é o maior problema de qualquer desenvolvimento,
pois elas fazem qualquer um pensar que é um programador), então, desenvolvo completamente meus códigos.

campos importantes em tabelas são salvos com criptografia.
códigos importantes, hospedados na raiz do servidor, ou acima de public_html.

KERPLUNK 25/08/2017 14:45:22
#476024
Já eu uso T4 o tempo todo. Na verdade, consigo hoje criar aplicações CRUD em poucos minutos, se forem apenas telas de manutenção de dados(CRUD), não preciso fazer nada senão fazer o design do banco, que na verdade uso POCO/Migrations e Entity Framework quando o banco é Oracle ou Sql Server, porque o client para oracle e sql server é mais estável. Quando o banco de dados é MySQL ou Firebird, uso outro approach, com o NHibernate.
MARCOS 25/08/2017 16:08:13
#476025
Pessoal,
As respostas foram bem claras.
Mas, ainda não entendi como alguém que não conhece o nome de usuário e senha do Banco,
consegue abrir e ler meu dados no Oracle ou Sql Server , usando somente o Servidor Web,independente
de minha aplicação.
KERPLUNK 25/08/2017 16:25:39
#476026
Tem muitas maneiras de se fazer isso... Ele nem sequer precisa [Ô]abrir[Ô] o banco de dados, da maneira como você faz na sua aplicação; Dados são gravados em algum lugar fisicamente, um ou mais arquivos, geralmente. Através de técnicas de impersonação, sniffing e spoofing é possível [Ô]copiar[Ô] esses arquivos e remontar esses arquivos em um banco local ou alguma outra técnica de engenharia reversa.
MARCOS 25/08/2017 16:57:26
#476027
Agradeço a todos pelas respostas.
Tópico encerrado , respostas não são mais permitidas