Caro Chacal,
um problema mais grave seria a nível servidor... que claro.. estão sendo criadas regras e políticas de segurança para serem aplicadas nas configurações dos mesmo.. porém a escolha do DataCenter.. esse sim... ohh dúvida cruel..kkk
Eu acho que você está um pouco paranóico.
Não há necessidades de tantas camadas, e etc. Há necessidade de fazer as coisas direito, só isso. Se você tem um formulário que pega um dado e insere no banco de dados, tudo que você precisa é se certificar que sua página só permita fazer isso. Por incrível que pareça, não há camada suficiente que projeta de erro de desenvolvimento. Olha só, nessa simples página que pega um dado e insere um registro, você pode:
1. Criar um código SQL por concatenação, e cair no velho sql injection.
2. Fazer referência a um javascript com chamadas ajax que manipula dados no banco. Ao abrir o javascript, o camarada encontra uma funcaozinha "lerInformacoesDoUsuario(id)".
A solução é:
1. Utilize parametros para qualquer query com o banco de dados.
2. Verifique no servidor antes de executar qualquer coisa se o usuário tem permissão para fazer a ação que foi solicitada.
É simples, não tem N camadas, não tem inúmeros níveis de segurança. Só está do jeito correto, e ponto final. Inventar muita coisa é bobeira.
Além do mais, a maioria das invasões hoje em dia raramente são por falhas técnicas (a não ser que o desenvolvedor seja uma mula, claro), mas sim porque o gerente da empresa quer porque quer uma página pra ver detalhes das vendas, mas ele cisma que a melhor senha do mundo é o próprio nome dele (que também é outra mula).
Outra coisa: não reinvente sistema de segurança, o .NET já tem um muito bom por Forms Authentication praticamente impossível de forjar. Não invente de criar seu próprio sistema de segurança. Ao invés disso, entenda como ele pode ser customizado.
Gostaria de uma ajuda [[fugindo um poukinho da proposta do tópico]]... qual seria a melhor opção.. ter um Servidor Dedicado hospedado em um DataCenter Nacional ou Internacional (EUA, por ex)???... pois as leis Brasileiras em relação ao mundo virtual são muitos "brandas"... por outro lado, as leis Norte Americanas por exemplo são mais "rígidas" quanto a segurança na Internet(causando maior intimidação á possíveis invasores).... mais que por sua vez, a meu ver, há a complicação de serem servidores localizados em DataCenters de outros países, e por isso, quando houver algum problema de segurança da informação (uma invasão com roubo de dados, por ex).. podem se tornar na PRÁTICA quase "inviáveis" em se tratando de acionamento da Justiça, para se tomar as medidas cabíveis.... há este problema?
Se você está realmente preocupado com a segurança dos seus dados, não coloque em data center nenhum. Contrate um link dedicado, e deixe o servidor na sua empresa, numa sala fechada, com vidros a prova de balas, câmeras 24 horas de todos os lados e 2 seguranças mal encarados na frente da porta.
Agora, se você não tem grana pra isso, vai ter que ceder a algumas exigências. Não importa a empresa, se tá em um data center, alguem vai de alguma forma ter acesso aos seus dados, você queira ou não. Então, a melhor coisa é: contrate uma empresa de confiança. Hoje no Brasil a Locaweb e a UOLHost são as mais famosas. Não que isso te garanta muita coisa... mas ainda é mais confiável que assinar um servidor nos EUA.
Sobre leis, acredito que você estaria mais seguro aqui do que nos EUA. O negócio fica todo aqui, em empresas que você conhece, e além do mais, o custo hoje em dia é praticamente o mesmo, ainda mais pra uma empresa.
claro.. pode até ser pura bobeira o que eu disse... maiss... quaL a opnião de vocês sobre isso?? se tratando em segurança do lado do servidor?... pense também em dispositivos de Firewall, RAID, etc?... alguma sugestão de DataCenter?
Cara, se você é programador, relaxa com essas coisas e deixa a empresa se virar. Não adianta você querer saber tudo, mesmo porque dificilmente as empresas vão te passar detalhes de como o sistema deles funciona. Um amigo meu tinha um site hospedado num servidor dos EUA que prometia o mundo, um dia deu um pau no HD e disseram que não tinha como recuperar, porque não havia RAID. Só que na propaganda do serviço tava aquela descrição linda de RAID, equipes cuidando de servidor e etc. Daí você pode até processar e etc, mas já perdeu.. portanto, confie em empresas sólidas, que estejam aqui, que tenham sede, que você conhece e etc.
Cá entre nós, pense bem: comércio eletrônico e venda por cartão, qualquer venda de esquina tem hoje em dia. Se o que a sua empresa tem pra armazenar fosse tão importante e tão visado assim, estariam contratando uma outra empresa especializada em vez de jogar na sua mão que ainda está aprendendo, concorda?
Ou você vê analistas de segurança do Bradesco ou do Itaú fazendo perguntas nesse fórum sobre como proteger o website deles?
Então relaxa, estude, mas não seja paranoico. Comece com uma hospedagem suficiente numa empresa de confiança com a Locaweb ou Uolhost, e precisando aumente o plano e etc. O contrato já vai ter clausulas de backup, segurança, e etc, e esse pessoal com certeza sabe cuidar melhor de um servidor do que você, afinal, é o trabalho deles.
e voltanduh a falar em componentes.... uma componente [.dll].. publicada na pasta "/bin"... há facilidade em poder ser baixada por qualquer pessoa(conheçendo-se o caminho desta pasta)??? e a pasta /bin... há algum nível de segurança específico a elaa que deve ser configurado no server??
Não. As pastas especiais do .NET são protegidas por padrão. Tente acessar, você deve receber um Not Found ou um Forbidden mesmo que saiba o nome do arquivo.
[]'s