Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

O RM é desenvolvido baseado nos princípios fundamentais de segurança abordados pelo OWASP(Open Web Application Security Project). Porem existem configurações que permitem ajustar o nível de segurança da aplicação.

As configurações referentes ao item "Portal Corpore.Net e Web API" podem ser feitas automaticamente pelo instalador "TOTVS RM Portal". As demais configurações devem ser feitas manuais.

Abaixo falaremos um pouco de cada uma dessas configurações.

       Portal


  • Para garantir que a comunicação com o portal seja segura, habilite o SSL para a sua aplicação no IIS. Isso é recomendado principalmente quando o portal é exposto em uma DMZ ou servidor com acesso via rede pública:

            Para isso é necessário adquirir um certificado através de uma autoridade certificadora confiável e seguir as documentações. Para mais informações acesse:

            https://en.wikipedia.org/wiki/SSL

            https://www.digicert.com/ssl-certificate-installation-microsoft-iis-7.htm

            https://www.digicert.com/ssl-certificate-installation-microsoft-iis-8.htm

  • Reduzir o nível de detalhamento de mensagens exibidas par o usuário:

            Para isso basta inserir a tag abaixo dentro da sessão AppSettings do web.config do portal Corpore.Net.

Informações

A partir da versão 12.1.2209 por padrão o StackTraceVisible é definido como false.

        <add key=”StackTraceVisible” value=”False” />

            Para mais detalhes veja:

            https://www.owasp.org/index.php/Improper_Error_Handling

  • Desabilitar o Debug: "ASP.NET DEBUG Method Enabled"

                No web.config, no nó <system.web>

                <compilation  debug="false" />

         Referencia: https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/aspnet/development/disable-debugging-application

  • Como fazer para remover do cabeçalhos de resposta HTTP dos seguintes itens:

  • Server
    Esse cabeçalho de resposta pode ser removido com uma configuração no arquivo web.config, no nó <system.webServer> adicione:
    <security>
     <requestFiltering removeServerHeader ="true" />
    </security>


  • X-Powered-By
    Esse cabeçalho de resposta pode ser removido com uma configuração no arquivo web.config, no nó <system.webServer> adicione:  
    <httpProtocol>
     <customHeaders>
       <remove name="X-Powered-By" />
     </customHeaders>
    </httpProtocol>


  • X-AspNet-Version
    Esse cabeçalho de resposta pode ser removido com uma configuração no arquivo web.config, no nó <system.web> adicione:  

    <httpRuntime enableVersionHeader="false" />


  • Ativar a flag “Secure” para os cookies de sessão. Importante para garantir que os cookies, responsáveis por armazenar alguns dados de autenticação (não inclui usuário e senha) e outras informações, seja transportado em segurança. Basta seguir os passos listados no link abaixo:

             https://stackoverflow.com/questions/1442863/how-can-i-set-the-secure-flag-on-an-asp-net-session-cookie



Comunicação Portal / RM.exe com o HOST

  • 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. Para isso sigam a documentação abaixo:
    http://tdn.totvs.com.br/display/LRM/Habilitar+SSL+no+Host
    OBS.: A documentaçãoa cima contempla como aumentar a segurança também dos Web Services providos pelo HOST.


          Portal Corpore.Net e Web API

  • Para garantir que a comunicação com o portal Web Api seja mais segura, foram adicionadas na sessão system.webServer >> httpProtocol >> customHeaders,três novas entradas que poderam ser customizadas pelo usuário, são elas:
Nome da entradaValor padrãoValores PossíveisDescrição
1X-Content-Type-Optionsnosniffnosniff
Para evitar o sniffing do tipo MIME, você pode adicionar o cabeçalho X-Content-Type-Options. Isso torna mais difícil para os hackers adivinharem o tipo certo de mime, inspecionando o conteúdo.
2X-Xss-Protection0; mode=block
0
1
0; mode=block
1; mode=block
0; report=<reporting-uri>
1; report=<reporting-uri>
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.
3X-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. Se você estiver usando a ASP.NET MVC 5 ou mais recente, esse cabeçalho será adicionado automaticamente.

As 3 tags de configurações acima, quando aplicadas  automaticamente durante a instalação do RM Portal, são definidas com os seguintes valores:

  • X-Frame-Options = SAMEORIGIN
  • X-Content-Type-Options = nosniff
  • X-Xss-Protection = 1; mode=block

Para que o instalador inclua tais tags, é necessário  clicar em 'Sim' no Wizard de instalação quando solicitado permissão para Habilitar a Segurança.