Fundamentos da segurança de formulários: proteger os dados dos utilizadores

Aprende o que torna um formulário seguro e porque é importante proteger os dados dos utilizadores. Percebe o essencial antes de ir mais fundo.

Rascunho

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:

  1. 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.
  2. 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.
  3. 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:

  1. O visitante introduz dados no navegador. Escreve nos campos do formulário. Nesta fase, os dados estão apenas no dispositivo dele.
  2. O visitante envia o formulário. O navegador recolhe todos os dados e envia-os para o teu servidor.
  3. O teu servidor recebe-os. O processador do formulário verifica os dados e decide o que fazer com eles.
  4. Os dados são guardados. Vão para a tua base de dados, para o email ou para outro sistema onde guardas os envios.
  5. 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.
  6. 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:

  1. Usa HTTPS. Todos os formulários têm de funcionar numa ligação segura. Isto não é opcional.
  2. 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.
  3. Controla quem pode aceder aos envios. Só as pessoas que precisam de ver os dados devem poder aceder-lhes.
  4. 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.
  5. 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.

Perguntas frequentes

O HTTPS chega para proteger um formulário?
O HTTPS protege os dados enquanto viajam para o teu servidor, mas é apenas uma camada. Também precisas de validação de dados (para impedir que dados maliciosos sejam guardados), controlos de acesso (para limitar quem vê os envios) e políticas de retenção (para apagar os dados quando já não precisas deles). Pensa no HTTPS como a proteção da entrega do pacote. As outras camadas protegem o que acontece ao pacote depois de chegar. Com o criador de websites do WEMASY, podes configurar isto diretamente no teu website.
Qual é a diferença entre encriptação em trânsito e encriptação em repouso?
A encriptação em trânsito protege os dados enquanto se movem do navegador do visitante para o teu servidor (é o que o HTTPS faz). A encriptação em repouso protege os dados depois de guardados na tua base de dados ou no sistema de ficheiros. Ambas são importantes. O HTTPS impede que atacantes na rede leiam os teus dados. A encriptação em repouso impede que atacantes que entrem no teu servidor ou na tua base de dados leiam o que lá está guardado.
Preciso de validar os dados se estou a usar HTTPS?
Sim. O HTTPS só protege os dados em trânsito. Um visitante pode na mesma enganar-se ao escrever num campo, ou um atacante pode enviar dados deliberadamente maliciosos mesmo numa ligação segura. A validação verifica o que são os dados e impede que dados defeituosos ou perigosos sejam guardados. O HTTPS e a validação servem propósitos diferentes e ambos são necessários.
O que devo fazer se suspeitar que um formulário foi comprometido?
Primeiro, tira o formulário do ar de imediato. Deixa de aceitar novos envios. Depois investiga que dados podem ter sido roubados e avisa os visitantes afetados. Revê as tuas práticas de segurança para perceber como a violação aconteceu e corrige a vulnerabilidade antes de voltares a pôr o formulário online. Algumas situações podem exigir notificar as autoridades reguladoras ou as autoridades policiais, consoante o tipo de dados e a tua localização.
Preciso de segurança especial para diferentes tipos de formulários?
Sim. Um formulário de contacto que recolhe apenas nomes e emails tem requisitos de segurança mais baixos do que um formulário que recolhe dados de pagamento ou palavras-passe. Os formulários de pagamento têm de cumprir as normas PCI DSS. Os formulários de início de sessão precisam de autenticação forte e de gestão de sessões. Quanto mais sensíveis os dados, mais camadas de segurança precisas.
Com que frequência devo auditar a segurança dos meus formulários?
No mínimo, audita os teus formulários sempre que fizeres alterações. Muitas violações de segurança acontecem depois de uma atualização introduzir uma nova vulnerabilidade. As marcas maiores também fazem auditorias de segurança regulares (trimestrais ou anuais) para testar fraquezas. Começa por auditar depois de cada alteração. À medida que os teus formulários se tornam mais complexos, acrescenta revisões regulares agendadas.

Põe isto em prática
no teu próprio site.

Começa grátis com a WEMASY e cria o teu site em poucos minutos.