Cada formulário que publicas é um possível ponto de entrada para atacantes. A segurança de formulários não acontece por acaso e não é algo que possas saltar. Um único formulário sem proteção pode expor os nomes, emails, números de telefone, dados de pagamento ou palavras-passe dos teus visitantes a qualquer pessoa disposta a explorá-lo.
Os fundamentos da segurança de formulários cobrem as práticas essenciais que mantêm os dados dos utilizadores seguros. Este artigo explica como é um formulário seguro, porque é que cada camada de proteção importa e como as peças funcionam em conjunto para manter protegida a informação dos teus visitantes.
O que vais aprender: os princípios essenciais da segurança de formulários, como os dados circulam por um formulário, que tipos de ataques visam formulários sem proteção e onde concentrar primeiro os esforços de proteção.
O que é a segurança de formulários?
A segurança de formulários é a prática de desenhar e gerir formulários para que os dados dos utilizadores fiquem protegidos, desde o momento em que alguém os escreve até ao armazenamento e à eliminação. Envolve várias camadas: o código que processa o formulário, a ligação entre o visitante e o servidor, as regras sobre os dados que recolhes e durante quanto tempo os guardas.
Um formulário seguro faz três coisas:
- Valida o que entra. Verifica se os dados são mesmo o que esperas (um email tem o formato de um email, um número de telefone só tem números, etc.). Isto apanha tanto acidentes como ataques intencionais.
- Protege os dados em trânsito. Usa encriptação para que os dados que vão do navegador do visitante para o teu servidor não possam ser lidos nem intercetados por mais ninguém.
- Guarda os dados em segurança. Mantém a informação protegida depois de guardada, cumpre as leis sobre quem lhe pode aceder e durante quanto tempo a guardar, e impede que pessoas não autorizadas vejam o que foi enviado.
A segurança de formulários não é uma única funcionalidade. Combina práticas técnicas, cumprimento legal e disciplina operacional.
Porque é que a segurança de formulários importa para a tua marca
Há três razões pelas quais a segurança de formulários não é negociável:
Confiança dos visitantes e reputação da marca
Quando alguém preenche um formulário no teu site, está a confiar-te informação que não partilha em público. Se essa informação for roubada ou divulgada, perdes a confiança dessas pessoas e potenciais clientes. Uma fuga de dados tem um custo de reputação difícil de recuperar. As pessoas lembram-se de quando uma marca falha em proteger a sua informação.
Requisitos legais e regulamentares
Consoante a localização dos teus visitantes e a informação que recolhes, a lei pode obrigar-te a proteger esses dados. O RGPD (para visitantes europeus), o CCPA (para residentes na Califórnia) e inúmeras outras leis de privacidade definem normas de segurança específicas. Quebrar estas regras pode resultar em coimas, processos judiciais e sanções legais.
Impedir que os atacantes usem o teu formulário como arma
Um formulário sem proteção não é apenas um risco de roubo de dados. Os atacantes também o podem usar para injetar código malicioso, sequestrar sessões de visitantes, enganar a tua base de dados para executar comandos ou encher a tua caixa de entrada com milhares de envios falsos. Cada tipo de ataque causa danos diferentes.
Como os dados de um formulário circulam pelo teu sistema
Perceber o fluxo ajuda a ver onde a segurança mais importa. Eis o que acontece quando alguém envia um formulário:
- O visitante introduz dados no navegador. Escreve nos campos do formulário. Nesta fase, os dados estão apenas no dispositivo dele.
- O visitante envia o formulário. O navegador recolhe todos os dados e envia-os para o teu servidor.
- O teu servidor recebe-os. O processador do formulário verifica os dados e decide o que fazer com eles.
- Os dados são guardados. Vão para a tua base de dados, para o email ou para outro sistema onde guardas os envios.
- Tu ou outra pessoa vai buscá-los mais tarde. Os membros da equipa acedem aos dados enviados para responder a pedidos, processar encomendas ou analisar a informação.
- Por fim, são eliminados. Em algum momento, os dados devem ser removidos de acordo com a tua política de retenção de dados.
As ameaças de segurança podem surgir em qualquer passo. A palavra-passe de um visitante pode ser capturada enquanto viaja pela internet. Um atacante pode enganar o teu formulário para guardar código malicioso. Um colaborador com acesso aos envios pode divulgar os dados. Ou podes guardar informação mais tempo do que a lei permite.
As principais camadas de segurança de formulários
Segurança no transporte (HTTPS e encriptação)
Quando um visitante envia um formulário, os dados viajam pela internet até ao teu servidor. Sem proteção, qualquer pessoa na rede pode ver o que está a ser enviado. O HTTPS (a versão segura do protocolo web) encripta estes dados em trânsito para que só o teu servidor os consiga ler. É por isso que todos os formulários devem funcionar em HTTPS, nunca em HTTP simples.
Validação de dados
O teu formulário deve verificar se os dados fazem sentido antes de fazer algo com eles. Um email deve parecer um email. Um número de telefone deve ter só dígitos. Um montante de pagamento deve ser um número, e não texto. Isto apanha erros de escrita e impede os atacantes de alimentar o teu formulário com dados pensados para causar problemas.
Autenticação e gestão de sessões
Se o teu formulário está ligado a uma conta de utilizador, precisas de verificar que a pessoa que o envia é mesmo quem diz ser. Isto significa verificar a sessão de início de sessão, garantir que a sessão não expirou nem foi sequestrada e exigir verificação extra (como a autenticação de dois fatores) para ações sensíveis.
Controlo de acesso aos dados
Depois de os dados do formulário estarem guardados, só as pessoas autorizadas devem poder vê-los. Se tens um formulário de contacto, talvez só a tua equipa de vendas deva aceder a esses envios. Se tens um formulário de recuperação de palavra-passe, ninguém além da pessoa que a está a redefinir deve ver a nova palavra-passe. Os controlos de acesso decidem quem pode ver, editar ou apagar os envios do formulário.
Cumprimento legal e políticas de retenção
Leis diferentes definem regras sobre os dados que podes recolher, como os deves proteger e durante quanto tempo os podes guardar. Cumprir estas leis faz parte da segurança de formulários. Precisas de saber que regulamentos se aplicam aos teus formulários, desenhá-los para cumprir esses requisitos e apagar os dados quando a lei o exige.
Ameaças comuns que visam os formulários
Perceber os ataques ajuda a ver porque existe cada camada de proteção.
Ataques man-in-the-middle
Um atacante interceta os dados que viajam entre o visitante e o teu servidor. Isto acontece em redes WiFi públicas ou quando alguém espia o tráfego da internet. A encriptação HTTPS impede-o, tornando os dados ilegíveis para qualquer pessoa que não seja o teu servidor.
Ataques de injeção
Um atacante alimenta um campo do formulário com código malicioso (como código SQL ou JavaScript). Se o teu formulário não valida e limpa estes dados, o código malicioso corre dentro do teu sistema. A validação e a sanitização de dados impedem isto.
Roubo de credenciais
Os atacantes tentam roubar palavras-passe, chaves de API ou dados de pagamento através de formulários. Podem usar phishing (formulários falsos que parecem os teus), malware no dispositivo de um visitante ou intercetar dados sem encriptação. Várias camadas (HTTPS, validação, armazenamento seguro) protegem contra ângulos diferentes deste ataque.
Envios de spam e de bots
Atacantes (ou simples scripts automáticos) inundam o teu formulário com envios falsos. Isto faz-te perder tempo, enche a tua base de dados e pode distorcer as tuas estatísticas. A deteção de bots e os sistemas CAPTCHA evitam a maior parte disto.
Acesso não autorizado aos dados guardados
Mesmo que os dados cheguem em segurança e sejam guardados com segurança, alguém com más intenções pode tentar aceder-lhes. Pode ser um atacante que entra na tua base de dados, um colaborador que não devia ver certos envios ou alguém com acesso físico ao teu servidor. Os controlos de acesso e a encriptação limitam os danos se isto acontecer.
Por onde começar na segurança de formulários
Se estás a criar formulários de raiz, dá prioridade por esta ordem:
- Usa HTTPS. Todos os formulários têm de funcionar numa ligação segura. Isto não é opcional.
- Valida e limpa todos os dados. Verifica se os dados são o que esperas e remove tudo o que pareça suspeito antes de guardar.
- Controla quem pode aceder aos envios. Só as pessoas que precisam de ver os dados devem poder aceder-lhes.
- Sabe que leis se aplicam a ti. Descobre se o RGPD, o CCPA ou outras leis de privacidade afetam os teus formulários. Se afetarem, desenha os formulários para cumprir.
- Define uma política de retenção de dados. Decide durante quanto tempo guardas os envios e depois apaga-os quando esse tempo acabar.
A partir daqui, acrescenta proteção contra bots, autenticação de dois fatores, encriptação em repouso e relatórios de conformidade, consoante as tuas necessidades específicas.
O que o WEMASY oferece para a segurança de formulários
A ferramenta de formulários do WEMASY foi criada com a segurança como ponto de partida. Todos os formulários no WEMASY funcionam em HTTPS. Os envios de formulários são guardados em formato encriptado. Controlas quem pode aceder aos envios através de permissões de utilizador e o WEMASY trata, por predefinição, do cumprimento das leis de privacidade. A plataforma também oferece funcionalidades opcionais, como CAPTCHA para proteção contra bots e notificações por email de novos envios.
Para mais detalhes sobre o que está incluído no teu plano e como configurar as definições de segurança, vê a página de preços.