Busca online em todo site:
Heroes

Seja bem vindo(a) Visitante, você não está logado deseja logar
na comunidade ASPNETi.COM e participar de serviços e promoções ? clique aqui.




Título do Artigo

Dica de Segurança no Arquivo de Configuração - Web / App .config


Data Publicação: 28/11/2008 15:58:27
Total de visualizações: 2102

comente
 


 

 

Ferramenta utilizada: Visual Studio.NET 2008

Linguagem: C#.NET

Framework: 3.5 .NET

Funciona em qualquer versão do framework: SIM

 

 

 

Referência: 1.0

 

         Olá pessoal, o objetivo desse pequeno artigo é mostrar como é importante as informações que existem junto ao arquivo de configuração chamado web.config do seu sistema.

         Nos softwares que desenvolvemos junto a ferramenta Visual Studio.NET tem nos ajudado a ser mais informatizado a cada dia, porém precisamos oferecer aos nossos clientes ou ao nosso próprio software, a segurança devida.


         Segurança no software, quanto nos arquivos que existem dentro do servidor, pense comigo: “Imagine que no seu software possui uma segurança legal, criptografia ao entrar com usuário e senha, HTTPS, SSL, Contra Scriptled e muito mais. Só que, se um hacker, cracker ou lammer entrar em seu servidor, ou seja, invadir o servidor onde hospeda seu site/sistema, acesso aos seus arquivos será transparente, inclusive o arquivo de configuração. Automaticamente, o usuário mal intencionado poderá acessar o seu banco de dados, com usuário e senha”.


         Concorda comigo que isso é muito perigoso? Mesmo que o usuário tenha apenas leitura no banco de dados, poderá ver os seus dados e dados de seus clientes. Para resolver este problema, acabei configurando e criptografando a conexão com o banco de dados dentro do web.config. Mesmo que alguém entre no servidor e no arquivo de configuração, não conseguirá pegar as informações.


         No momento da conexão, já no código fonte do programa; eu retiro a criptografia online, ou seja, sem mudar o arquivo .cofing; conecto e faço o que for necessário no banco e com segurança.

         Caso a sua conexão esteja em SSL ou HTTPS, melhor ainda.

 

 

            <add key="ConnectionString" value="RGF0YSBTb3VyY2U9MjA3LjI232FzcG5ldGk7VXNlciBJRD1hc3BuZXRpO=="/>

 

Referência: 1.1

 

         Note que o valor da minha conexão na referência 1.1 é toda misturada; letras, números e comandos.

É lógico que fiz um programa que criptografa os dados e descriptografa, isso é importante, pois caso necessite alterar a conexão, basta alterar e criptografar novamente.


         Fique atento em relação a isso, a segurança de seus dados no banco de dados é importantíssimo. Ainda mais que, não temos controle sobre quem acesso o servidor que estamos hospedando nosso site ou sistema.

         Antes de abrir a conexão com o banco para fazer uma pesquisa eu descriptografo os dados online, ou seja, não mudo o arquivo de configuração; é dinâmico a alteração dos dados.


         Para pegar a conexão basta fazer:

 

 

System.Configuration.ConfigurationManager.AppSettings[“ConnectionString”]

 

Referência: 1.2


Bom, espero ter ajudado e despertado você para algo importante.

Qualquer dúvida, favor entrar em contato.

 

Mauricio Junior

www.mauriciojunior.org

blog.mauriciojunior.org

 



Total de visualizações: 2102
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog:  blog.mauriciojunior.orgSite pessoal  www.mauriciojunior.org


Comentários:

Comentado por: Erick Belluci Tedeschi - 26/2/2009 0:00:00
Concordo que os desenvolvedores devem tomar cuidado com o arquivo web.config. Só que no exemplo acima (referencia 1.1) você está apenas "codificando" a string de conexão em Base64, e não "criptografando". Isso pode ser considerado como uma falsa sensação de segurança. Talvez seja interessante considerar o uso de "Protected Configuration Provider" como recomendado no MSDN.

t+
Comentado por: Mauricio Junior - 26/2/2009 0:00:00
Erick, o que dei a dica foi para atentar como gerar um string de conexão criptografada, ou seja, diferente de ser aberta. Dai em diante, o desenvolvedor pode fazer de acordo com o que achar melhor, foi só uma dica importante aos desenvolvedores desatentos. Valeu!

Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Visualizar no Próprio Mail (Macbook)
Trabalhando com STORED PROCEDURE
Ebook: Aprendendo Desenvolver WebServices
NDOC para versão framework 2.0
Sistema de Login em ASP – Parte IX (Utilizando três camadas)
Vírus do Serasa por E-mail
Windows Form - Retornando valor entre formulários
Vídeo: Série Atlas.NET - Parte I
Desenvolvimento para TV Digital - Tópicos
Usando themes ASP.NET 2.0 (Parte 1)
Criando a Tag Cloud em C#
Nova geração HTML
Acessando banco de dados com pocket pc
My Tracks
Comunicação .NET e VB 6.0 – Parte I
Windows Mobile Phone
Site fora do ar - Pedido de desculpas
Criando Splash - Com Efeito
Inserindo Usuário no Banco de Dados MYSQL Usando Tecnologia AJAX
WebService - Desenvolvimento Parte 1
URL Indexável – Reescrever URL de uma forma amigável
Estatística - Browser de Acesso
Trabalhando com o componente TabContainer
Ebook Grátis Microsoft
Web 2.0 - A máquina somos nós
Lançamento do e-Book Dicas DotNet
Sistema de Login em ASP – Parte IX
Novo Firefox 3.0 - o chamado Minefield
Microsoft Recite
IsAlphaNumeric
Google Sync Mobile
DataGrid Mobile
Reconhecimento do Google
Criando, utilizando e agendando sistema de backup
Chamando Programas de Dentro do Windows Forms

Publicidade:

[sumir] [aparecer]
NETITC




Informações Online:

Usuários Online: 63
Artigos:  650
Vídeos:  47
PodCast's:  31
Fórum:  3098
Empregos:  1223
Usuários Cadastrados: 5782

Categoria de Artigos

Vídeos

Enquete - Dê sua opinião

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 378 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC