a estrutura de pastas para um dominio hospedado no windows é a seguinte:
- levaremos em conta o site HOSTSAGRADO.COM
c:domainshostsagrado.com
diretorio raiz
c:domainshostsagrado.comDB
diretório reservado a banco de dados
c:domainshostsagrado.comSECURE
diretório reservado a gravação configuração de pastas protegidas por senha
c:domainshostsagrado.comLOG
dirtetório com os logs de acesso ao site
c:domainshostsagrado.comwwwroot
diretório com o web site em si - pasta publica
c:domainshostsagrado.comSSL
diretório com o web SSL - pasta publica
os arquivos .mdb somente estarão seguros se estiverem dentro da pasta DB, porem não é raro encontrarmos estes arquivos em subpastas dentro da wwwroot, lembramos que os arquivos .MDB são como quaisquer outros arquivos e que portanto podem ser descarregados como arquivos comuns.
pois bem de posse desta informação, então digamos que enviassemos um arquivo .mdb para a pasta database dentro da pasta wwwroot teriamos:
c:domainshostsagrado.comwwwrootdatabaseexemplo.mdb
qualquer pessoa poderia descarregar esta base de dados, simplesmente digitando a url:
http://www.hostsagrado.com/database/exemplo.mdb
E a partir dai abrir o arquivo e ver conteudo que la esta, e o pior esta base de dados geralmente possui os usuarios e senhas para acesso ao sistema, pode ainda possuir dados cadastrais de clientes, dados de cartões de credito, etc...
Ou seja a partir de um simples descuido um invasor ja tem acesso completo ao seu site, pode por exemplo, acessar a sua area administrativa, e através dela cadastrar um produto, so que ao inves de enviar uma imagem, na realidade envia um programa que sera capaz de desfigurar seu site, enviar emails, etc, etc, etc...
fora o roubo de dados dos clientes, e pior ainda se estes dados tiverem informações de cartões de credito....
bom ja viu o tamanho do prejuizo causado por um simples e comum descuido, para resolver esta questão basta colocar todos os arquivos .mdb na pasta db, entao o caminho correto do nosso exemplo seria:
c:domainshostsagrado.comDBexemplo.mdb
como a pasta db não é publica, não há como acessar-la via http://www...., porem esta acessivel via script.
A grande maioria dos scripts em asp, possuem um rotina de configuração para que seja informado o caminho do
banco de dados, geralmente neste arquivo na linha de conexão ao banco de dados é comum encontrar o comando
server.MapPath(), que descobre automaticamente o diretorio corrente, este comando não ira funcionar, substitua-o pelo caminho de seu site, veja a seguir um exemplo de configuração da virtua store, uma loja muito comum em ASP:
linha original e errada:
StringdeConexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database/virtuastore.mdb")
Devera ser sustituida por:
pasta_dados_protegido="C:domainshostsagrado.comdbvirtuastore.mdb"
StringdeConexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&pasta_dados_protegido&";"
BOM FINALIZANDO, SEJA QUAL FOR SUA APLICAÇÃO NUNCA COLOQUE O BANCO DE DADOS EM AREA PUBLICA,, UTILIZE SEMPRE A PASTA DB, CASO NÃO TENHA CONHECIMENTO EM ASP E PORTANTO NÃO SABE COMO ADAPTAR O SCRIPT, ENVIE UM POST PARA O FORUM, OU PROCURE FORUMS ESPECIALIZADOS, NUNCA CORRO RISCOS ESMO QUE SEJA APENAS PARA TESTAR UMA ROTINA, OU SEJA NÃO COLOQUE SEUS SITES EM RISCO...
domingo, 14 de março de 2010
Segurança em Banco de Dados Acess em Servidores Web
Marcadores:
acess,
hospedagem de sites,
host,
segurança
Assinar:
Postar comentários (Atom)

Nenhum comentário:
Postar um comentário