Colocar um security.txt no seu website
Se alguém encontrar uma falha de segurança no seu website, por exemplo uma pasta aberta ou um plugin desatualizado, é importante que essa pessoa o possa avisar. É para isso que serve o security.txt: um pequeno ficheiro de texto num local fixo do seu website, com o endereço para onde essas comunicações devem ser enviadas. Está definido na norma de Internet RFC 9116. Aqui fica a saber o que deve conter e como o colocar.
O local
O ficheiro fica em https://example.com/.well-known/security.txt. O local antigo /security.txt na pasta principal pode ser usado como complemento, mas se o ficheiro estiver nos dois locais, prevalece o que está em /.well-known/. Tem de estar acessível por https e ser enviado como texto simples (text/plain).
O ficheiro aplica-se apenas ao nome onde se encontra. Um security.txt em example.com não se aplica, portanto, automaticamente a shop.example.com. Se um subdomínio tiver um website próprio, coloque também aí um security.txt.
O que contém
Contact: mailto:security@example.com Expires: 2027-10-31T23:00:00Z Preferred-Languages: nl, en Canonical: https://example.com/.well-known/security.txt
| Campo | Obrigatório? | Significado |
|---|---|---|
Contact | Sim | Para onde são enviadas as comunicações: um endereço mailto:, um número tel: ou uma página web que comece por https://. Pode indicar vários, um por linha; o primeiro é o preferido. |
Expires | Sim, exatamente uma vez | A data e hora a partir da qual o ficheiro é considerado desatualizado, como 2027-10-31T23:00:00Z. A norma recomenda uma data a menos de um ano de distância. |
Preferred-Languages | Não | Os idiomas em que pretende receber as comunicações. |
Canonical | Não | O endereço do próprio ficheiro. |
Policy | Não | Uma ligação para uma página com a sua política de comunicações: o que faz com uma comunicação e o que pede a quem a envia. |
Encryption | Não | Uma ligação para a sua chave pública, caso quem comunica possa enviar-lhe e-mails encriptados. |
Em Contact, utilize um endereço que alguém leia realmente. Uma caixa de correio esquecida é pior do que não ter security.txt: quem comunica pensa que foi avisado. A assinatura digital (OpenPGP) é permitida, mas não obrigatória.
Colocar no seu pacote de alojamento
- No DirectAdmin, abra o Gestor de Ficheiros e vá para
domains/example.com/public_html. Consulte Abrir o Gestor de Ficheiros: as pastas do seu pacote. - Se a pasta
.well-knownainda não existir, crie-a. As pastas que começam por um ponto só ficam visíveis quando mostra os ficheiros ocultos: consulte Mostrar e editar ficheiros ocultos como .htaccess. - Nessa pasta, crie um novo ficheiro
security.txt, cole as suas linhas e guarde. - Abra
https://example.com/.well-known/security.txtno seu browser. Deverá ver o seu texto.
Se utilizar WordPress ou outro CMS, nada muda: um ficheiro que existe realmente é simplesmente enviado pelo servidor web.
Colocar num VPS
Num VPS, coloque o ficheiro na pasta web do seu site, por exemplo /var/www/example.com/.well-known/security.txt. Tenha em atenção dois pontos:
- Se bloquear no nginx todos os caminhos que começam por um ponto, crie primeiro uma exceção para
/.well-known/. - Se tiver uma aplicação atrás de um reverse proxy, configure o caminho no Caddy ou no nginx para apontar para o ficheiro.
Consulte Caddy: um website com https automático e nginx com um certificado da Let's Encrypt.
Verificar
Veja os cabeçalhos com:
curl -sI https://example.com/.well-known/security.txt
O estado deve ser 200 e o tipo text/plain. Um erro frequente: um site que responde a qualquer endereço desconhecido com a página inicial. Nesse caso, parece que o ficheiro existe, mas o que é devolvido é HTML. Verifique, por isso, também o conteúdo. O teste de websites do internet.nl também verifica o security.txt.
Atualizar todos os anos
Coloque na sua agenda um lembrete com bastante antecedência em relação à data indicada em Expires. Nessa altura, verifique se o endereço de contacto continua correto e adie a data. Se algo mudar entretanto, como um novo endereço ou a saída de alguém, atualize o ficheiro de imediato.
Leitura adicional
- RFC 9116: A File Format to Aid in Security Vulnerability Disclosure (em inglês)
- securitytxt.org, com uma ferramenta para criar o ficheiro (em inglês)
Quer saber mais? Siga o curso gratuito de VPS e administração de servidores Linux, lição 7.4 Caddy, HSTS e security.txt ou lição 10.4 Verificação final: avaliar o seu servidor.
