FISL10: MySQL com segurança

A última palestra que participei hoje (25/06), foi sobre o desenvolvimento de aplicações mais seguras com MySQL. Foi na sala 41B… Fiquei um pouco incrédulo quando as atendentes disseram que não teria tradução simultânea (“ele vai falar em espanhol, provavelmente”, disseram elas)… Na programação estava tudo em inglês. Tudo bem, encarei assim mesmo.

Realmente foi tudo em inglês, mas no final, a surpresa: o palestrante falava bem o português, mas disse que apresentou em inglês, porque a palestra foi submetida em inglês… Hehehe Fazer, o que né?  😛

Meu inglês é péssimo, mas deu para “garimpar” algumas coisas da palestra:

– Tente deixar toda sua aplicação dentro do firewall;

– Use e abuse de stored procedures e views (realmente ele sugeriu abusar muito disso, mas eu creio ser muito complicado programar da forma proposta);

– Isole os dados do usuário da aplicação;

– A credencial do administrador do banco de dados deve ser diferente da credencial do usuário da aplicação. Aliás, o usuário da aplicação deve ter direitos mínimos. Em uma aplicação web, por exemplo, o usuário da aplicação pode ter direito de acessar os dados apenas na máquina local;

– Cuidado com os direitos dos arquivos: exemplo, um arquivo em php que acessa a base de dados, nunca deve ter direito de escrita para os usuários web. Ele sugeriu que o dono do arquivo tenha apenas acesso de escrita (sem acesso de execução) e os outros usuários (no caso, usuário web) tenha apenas acesso de leitura e execução;

– Procurar não transmitir dados no formato texto-puro. Tentar encriptar tudo (quero ver convencer os desenvolvedores a não usar mais o ftp, mas vou tentar, hehehe);

– Não grave senhas em formato texto-puro no filesystem (isso eu achei muito paranôico e muito difícil de implementar isso em uma aplicação web – descriptografar em tempo de boot e armazenar em uma variável, algo assim);

– Ter auditória do sistema (logs de acessos, etc);

– Ter certeza que você pode recuperar seus dados em caso de falha: backup, replicação, etc; ser capaz de refazer todos os passos, se necessário;


Tags: , , ,

Deixe um comentário