Data da Liberação: 2023-11-13T22:32:13Z
Esta versão traz principalmente as correções e melhorias referentes ao Pentest ao qual a plataforma foi substido.
A seguir, detalhes de cada alteração realizada no sistema.
Novos Recursos
-
Adicionado novo campo nas Configurações do Site chamado “Tráfego HTTP estritamente seguro”. Este campo define o valor “max-age” do cabeçalho HTTP “Strict-Transport-Security”, responsável por permitir apenas tráfego HTTP seguro.
-
Adicionado novo campo nas Configurações do Site chamado “Incorporação de páginas em outros sites”. Este campo define o valor do cabeçalho HTTP “X-Frame-Options”, responsável por determinar se as páginas podem ser incorporadas em elementos
iframe
de outros sites. -
Adicionado novo campo nas Configurações do Site chamado “Utilizar senhas fortes”. Habilitando este parâmetro, o sistema vai exigir que a senha dos usuários atenda aos requisitos mínimos: Pelo menos 8 caracteres e que contenha letras maiúsculas e minúsculas, números e caracteres especiais. Essa validação vai ocorrer nas páginas de alteração de senha.
-
Foi implementada uma rotina de coleta de estatísticas de uso da plataforma. Informações como quantidade de usuários, quantidade de acessos, quantidade de objetos, etc. O objetivo da coleta destes dados é entender melhor o perfil de cada cliente, identificar quais são os recursos mais utilizados e através disso direcionar os esforços para a evolução da plataforma.
Melhorias
-
Alteração nas definições dos “cookies” gerados pela aplicação, com o objetivo de reduzir o risco de exploração XSS. Todos os Cookies passam a ser gerados com o atributo
HttpOnly=true
e com o atributoSecure=true
(quando o cookie for criado durante uma requisição sob o protocolo HTTPS). O atributoSameSite
passa a ser explicitamente definido como “Lax” através do arquivo Web.Config. -
Para aumentar a segurança da aplicação, foram removidos os seguintes cabeçalhos HTTP nas respostas de requisições:
Server
,X-AspNet-Version
eX-Powered-By
. Estes cabeçalhos revelavam a versão do IIS, a versão do .NET Framework e a tecnologia (ASP.NET) usada na aplicação. -
Na página de Login, ao informar um usuário que não existia, o sistema retornava a mensagem “Usuário não encontrado”. Essa mensagem permitia a “Enumeração de usuários”. Para aumentar a segurança, a partir de agora, quando um usuário não for encontrado, será exibida a mesma mensagem de quando a senha é inválida: “Usuário ou Senha são inválidos”.
-
Foi implementado um novo módulo para proteção contra bots e ataques de força bruta. Essa ferramenta pode ser configurada na página de Configurações do Site.
Correções
-
Os erros que ocorriam durante as operações de atualização da biblioteca AJAX do ASP.NET não eram exibidos para os usuários. Realizamos uma alteração para mostrar essas mensagens.
-
Na página de Login, ao iniciar o processo de autenticação, o erro a seguir era registrado no console do navegador: "Pattern attribute value ‘{…}’ is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: ‘{…}’: Invalid character class’. Este problema foi corrigido.
-
Correções de vulnerabilidades críticas de exploração XSS nas rotinas de análise das funcionalidades do navegador e carregamento de menus.
-
A página de erros customizada estava desabilitada. No lugar dela estava sendo exibida a página de erro fatal do ASP.NET (também conhecida como YSOD-Yellow Screen of Death). Isso poderia eventualmente revelar informações sensíveis relacionadas a infraestrutura da aplicação.
-
Ajuste no Extrator de Arquivos para utilizar a URL já processada no momento de obter o nome do arquivo em operações remotas, como FTP e Web API.
-
Quando o CrossMap era utilizado em dispositivos móveis como smartphones e tablets, os balões com os textos dos elementos adicionados ao mapa não eram exibidos. Ajustado para que os balões sejam exibidos quando o usuário clicar no elemento.
-
Ao alterar os dados de um usuário na página do cadastro de usuários, a data de alteração não estava sendo atualizada.
-
Na Grid, quando uma coluna que usava o valor de outra como título era ocultada, ocorria o erro “A coluna ‘’ não pertence à tabela.” Este erro foi corrigido.
Mudanças
-
Desabilitado o recurso autocompletar no campo de senha na página de Login.
-
Foi realizada uma alteração para inutilizar o token gerado através da Web API de autenticação (AuthToken) quando ele for utilizado pela primeira vez. Estamos fazendo esta alteração para proteger o processo de autenticação, já que em alguns casos, o token pode ser enviado nos parâmetros de URL (GET).