Constantemente, algum cliente me questiona a respeito do nível de segurança do meu sistema. Confesso que ainda hesito um pouco na hora de responder. A primeira coisa que me vem à cabeça é: “ele possui um sistema de segurança Sayajin nível 3“ e acredito que a maioria dos cliente se daria por satisfeito com essa resposta. Afinal, do que adiantaria ficar falar de siglas e jargões, como XSS, Força Bruta, SQL Injection, etc? Mas, quanto mais demoro para responder, mais desconfiados ficam os clientes e isso gera ainda mais dúvidas.
Software Livre é outro termo que levanta muitas suspeitas. Muita gente acha que se o código está aberto, fica mais fácil para pessoas mal intencionadas descobrirem falhas. Mas eles não entendem que o inverso também se aplica. E o fato do código estar aberto para todos incrementarem amplia o número de revisores e, consequentemente, da qualidade do software.
Escala de segurança
O problema é que não existe uma escala de segurança para sistemas web. Sei que seria complicado pois deveria levar em conta: servidor, sistema operacional e o fator humano entre outros; mas acredito que essa escala se faça necessária para facilitar o diálogo com clientes leigos e até conduzir o desenvolvimento de novos sistemas.
No que tange os sistemas web, talvez um primeiro passo seja pensar em divisões de nível baseadas nas falhas das quais esse sistema trata, como sanitizar as consultas antes de processá-las no banco. Em seguida, avaliar boas práticas de programação empregadas, por exemplo, não usar variáveis globais.
Cada nível possuiria uma lista de critérios a serem atendidos, que ficariam cada vez mais complexos à medida que fosse subindo de nível. Dessa forma, teríamos um valor concreto da categoria em que o sistema se encontra.
O custo da segurança
Certa vez, um cliente disse que queria um site 100% seguro. Não seria nada profissional dizer que ninguém se daria ao trabalho de hackear seu site, então, me limitei a chutar um valor e prazo para implementação da solução de acordo com o que ele queria e que ultrapassavam sua estimativa de orçamento e cronograma. Isso foi o suficiente para fazê-lo mudar de ideia.
Um site deve ser tão seguro quanto precisa ser. Essa é outra forma de enxergar uma escala de segurança: entendendo que a implementação de cada nível requer um investimento maior, não só para o desenvolvimento, mas para compra de certificados, alocação de recurso e por aí vai…
Nada é completamente seguro
Não existe segurança absoluta, mas dizer isso para o seu cliente pode significar a perda de um contrato com uma empresa que diz ter um sistema impenetrável.
Mais uma vez, uma escala de segurança mostra sua importância. Deixaria claro para usuários inexperientes o nível de segurança de um sistema e nos permitira fazer comparações com os seus concorrentes.
No mais, quer segurança? Coloque seu site em um pendrive criptografado, com senha, dentro de um cofre, debaixo da sua cama… Bem longe da Internet!