O objetivo é aumentar o nível de segurança do MeuRH, realizando configurações que impeçam possíveis ataques.
Descrição | Documentação |
Habilitar a utilização de Token da aplicação. | RH - RM - Meu RH - Utilizar token para o Meu RH |
Utilizar um certificado SSL válido. | RH - RM - Meu RH - Usando certificado SSL |
É recomendado que os protocolos criptográficos considerados inseguros detectados na aplicação - TLSv1.0 e TLSv1.1 - sejam desativados, fazendo uso apenas dos protocolos mais seguros TLSv1.2 e TLSv1.3 | https://thesecmaster.com/how-to-disable-tls-1-0-and-tls-1-1-on-windows-server/ |
Configurar bloqueio de usuário ao inserir senha incorreta no login. | CONFIGURAÇÃO DE BLOQUEIO POR ERRO AO LOGAR NO SISTEMA - Linha RM - TDN |
A comunicação com o HOST já é feita com segurança e os dados não são trafegados em “plain text” por padrão. Porem para aumentar a segurança e fazer que as informações trafeguem criptografadas e com ainda mais segurança, sugerimos que habilitem o SSL no HOST. (Opcional) |
Para realizar as configurações abaixo será necessário acessar o arquivo web.config da pasta FrameHTML.
Os invasores podem abusar da funcionalidade HTTP TRACE para obter acesso a informações em cabeçalhos HTTP, como cookies e dados de autenticação.
<security> <requestFiltering removeServerHeader="true"> <verbs allowUnlisted="true"> <add verb="TRACE" allowed="false" /> </verbs> </requestFiltering> </security>
Para verificar se o TRACE foi desabilitado corretamente, basta executar o comando abaixo via CMD, o retorno de Connection deve ser close.
Referência: https://www.tenable.com/audits/items/CIS_v1.1.1_MS_IIS_10_Level_1.audit:0fb65afb0c7ec92660216033477e726c
O trecho de código mencionado deve ser incluído no nó <system.webServer>
Definir o debug como false garante que as informações detalhadas de erro não sejam exibidas indevidamente durante o uso da aplicação, reduzindo o risco de vazamento de informações.
<compilation debug="false" />
O elemento compilation pode ser localizado no nó <system.web>
Atributo | Valores possíveis | Descrição | Referência |
---|---|---|---|
X-Content-Type-Options | nosniff | Para evitar o sniffing do tipo MIME, você pode adicionar o cabeçalho X-Content-Type-Options. | X-Content-Type-Options - HTTP | MDN |
X-Xss-Protection | 0 1 0; mode=block | O X-Xss-Protection é um recurso implementado no navegador mais moderno, que interrompe o carregamento da página quando um ataque de script entre sites é detectado. | |
X-Frame-Options | X-Frame-Options: DENY X-Frame-Options: SAMEORIGIN X-Frame-Options: ALLOW-FROM https://example.com/ | O cabeçalho X-Frame-Options garante que os hackers não criem iframe para o seu site, a fim de induzi-lo a clicar em links que você nunca quis. | X-Frame-Options - HTTP | MDN |
<httpProtocol> <customHeaders> <add name="X-Content-Type-Options" value="nosniff" /> <add name="X-Xss-Protection" value="1; mode=block" /> <add name="X-Frame-Options" value="SAMEORIGIN" /> </customHeaders> </httpProtocol>
O elemento HttpProtocol deve ser incluído no nó <system.webServer>
Alguns cabeçalhos HTTP, como o "X-Powered-By", podem expor a tecnologia de servidor utilizada. Remover esses cabeçalhos dificultará um pouco mais para um invasor identificar o servidor que está executando o aplicativo.
<httpProtocol> <customHeaders> <remove name="X-Powered-By" /> </customHeaders> </httpProtocol>
Referência: How to delete IIS custom headers like X-Powered-By: ASP.NET from response? - Stack Overflow
O elemento HttpProtocol deve ser incluído no nó <system.webServer>
Definir a propriedade enableVersionHeader como false no elemento HttpRuntime fará com que as informações da versão do ASP.NET utilizada não sejam evidenciadas nos cabeçalhos de resposta.
<httpRuntime targetFramework="4.8" enableVersionHeader="false" />
Referência: Remove header information from responses sent by your website
O elemento HttpRuntime pode ser localizado no nó <system.web>
Essa configuração é recomendada para reduzir o nível de detalhamento de mensagens exibidas para o usuário.
<add key="StackTraceVisible" value="false" />
Referência: Improper Error Handling | OWASP Foundation
A key StackTraceVisible deve ser incluída no nó <appSettings>
É recomendado que os cookies sejam transitados via HTTPS e que as mensagens de erro sejam apresentadas para o usuário de forma mais amigável.
<customErrors mode="On" /> <httpCookies httpOnlyCookies="true" requireSSL="true" />
As tags mencionadas acima devem ser incluídas no nó <system.Web>
05. CONFIGURAÇÕES DE REDE
ATENÇÃO!
Todas as informações acima foram checadas e testadas em um ambiente controlado. No entanto, é recomendado que as configurações sejam realizadas inicialmente em um ambiente de teste, devido à variedade e complexidade das configurações e especificidades dos servidores.