Dica de Segurança no Arquivo de Configuração . Web / App .config
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
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.