g-cracker-1-20110523101953Vamos imaginar um cenário bem habitual. Você esta desenvolvendo uma solução web usando tecnologia Microsoft, essa solução esta sendo feita, por exemplo, em Silverlight. Todo feliz da vida você esta usando o Entity Framework ORM com seu banco, o diferencial aqui é que se usará o SQL Azure, olha só que especial sua solução consumindo algo das nuvens. Até aqui tudo muito bom, tudo muito bem, você passa a usar o WCF RIA Services para consumir os dados expostos como entidade pelo EF4. Neste cenário, sua base de dados esta nas nuvens, usando o SQL Azure, e a sua solução web num outro host, pode ser nos datacenters de sua empresa ou num host contratado. O que tem de mais até aqui? Porque do titulo “Falha de segurança” neste post? O autor deste post esta louco?

Vamos as resposta:

 

Dr_-Fritzundenbergh-1Começando pela ultima. O autor deste post esta louco? A resposta é, meu apelido carinhos dos meus melhores amigos é Cientista maluco, então sem comentários;

Próxima pergunta Por que do titulo “Falha de segurança” neste post? A resposta é bem simples, a culpa esta no arquivo Web.config, que pode facilmente ser lido usando o próprio browser, tipo http://www.seusite.com.br/Web.config.

E a ultima pergunta fecha todo o entendimento. O que tem de mais até aqui? A resposta é, neste belo arquivo esta impresso e gritando aos quatro ventos DNS do servidor SQL Azure como também o login e senha do coitado… Sabendo que o Manager Studio pode acessar o SQL Azure e que a maioria da pessoa usam IP sobre a faixa 192.168.x.x, impossibilitando um correto uso do Firewall do Azure… Ah e tem mais, a maioria das pessoas usam como senha no SQL Azure a mesma senha do próprio Azure ou seja, a senha do seus Live ID.

A solução mais sensata será a geração desse arquivo Web.config com a senha criptografada… Reflitam sobre isso!

Mas deu medo agora, oh se deu…