Versões comparadas

Chave

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

...

Para realizar as configurações abaixo será necessário acessar o arquivo web.config da pasta FrameHTML. da pasta do pep em FrameHTML

O trecho de código abaixo deve ser incluído no nó <system.webServer>

...

Bloco de código
<httpRuntime enableVersionHeader="false" />
  • Criptografar o ViewState 

O ViewState, caso não esteja criptografado, pode abrir brechas para roubo de informações sensíveis.

...

Bloco de código
<pages validateRequest="true" [...] viewStateEncryptionMode="Always" />

Referência: https://learn.microsoft.com/en-us/dotnet/api/system.web.ui.page.viewstateencryptionmode?view=netframework-4.8


Configurando os Headers

AtributoValores possíveisDescriçãoReferência
X-Content-Type-Optionsnosniff
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.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
X-Xss-Protection
0
1
0; mode=block
1; 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.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
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 cX-Content-Type-Optionsriem iframe para o seu site, a fim de induzi-lo a clicar em links que você nunca quis. 
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
Content Security Policy (CSP)

default-src

script-src

style-src (Obrigatório incluir 'unsafe-inline')

img-src

object-src

base-uri

connect-src (incluir a api do host, a mesma configurada no config.json)

font-src

frame-src

img-src

A diretiva Content-Security-Policy (CSP) é um cabeçalho de segurança importante que ajuda a mitigar os riscos de ataques como XSS (Cross-Site Scripting) e outros tipos de ataques baseados em injeção de código. Ela permite que os desenvolvedores controlem quais recursos são carregados em uma página web e de onde eles podem ser carregados.https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP

Sugestão de configuração:

Bloco de código
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appSettings>
        <add key="StackTraceVisible" value="false" />
    </appSettings>
    <system.web> 
        <compilation debug="falsetrue" />
    </system.web>
    <system.webServer>
        <httpProtocol>
            <customHeaders> 
				<remove name="Content-Security-Policy" />
                <add 
                name="Content-Security-Policy"
                    value="default-src 'self' http://*.rm.cloudtotvs.com.br https://*.rm.cloudtotvs.com.br; 
						
                       script-src 'self' https://www.googletagmanager.com https://*.memed.com.br https://cdn.rudderlabs.com https://static.hotjar.com https://script.hotjar.com 'sha256-udd7tgqqiuE63xVVImVw4X2698oKyeOHMxP6WdpSz9g=' https://static.cloudflareinsights.com; 
						
                       style-src 'self' 'unsafe-inline'; 
						
                       object-src 'none'; 
						
                       base-uri 'self'; 
						
                       connect-src data: 'self' httpwss://{HOST_API_URL} ws://{HOST_API_URL}; 
						font-src 'self'; 
						frame-src 'self'; 
						img-src 'self' data:ws.hotjar.com https://content.hotjar.io https://vc.hotjar.io https://metrics.hotjar.io ws://*.rm.cloudtotvs.com.br:8051 wss://*.rm.cloudtotvs.com.br:8051 https://*.rm.cloudtotvs.com.br:8051 http://*.rm.cloudtotvs.com.br:8051 https://api.tiles.mapboxrudderlabs.com https://c*.tilememed.openstreetmapcom.orgbr https://a.tile.openstreetmapipv4.icanhazip.com https://api.ipify.org https://b*.tiletotvs.openstreetmap.orgio https://apidtavoiceapi.qrserverazurewebsites.comnet https://chartvoice.dta.googleapistotvs.comio; 
						manifest
                       font-src 'self'; 
						media
                       frame-src 'self'; 
						report-uri https://integrations.memed.com.br https://676eff58cfdd640ab319c568.endpoint.csper.io?builder=true&v=5; 
						workertotvs.daily.co https://www.googletagmanager.com;
                       img-src 'none';" />
self' data: https://cdn.jsdelivr.net;
                     <add name="X-Content-Type-Options" value="nosniff" />
  manifest-src 'self';
                      <add name="X-Xss-Protection" value="1; mode=block" />
media-src 'self';
                       worker-src 'none';" />
				<add name="XPermissions-Frame-OptionsPolicy" value='camera="SAMEORIGIN" />
                (self "https://totvs.daily.co"), microphone=(self "https://totvs.daily.co"), geolocation=(self), fullscreen=(self)' />
				<add name="Access-Control-Allow-Origin" value="https://*.rm.cloudtotvs.com.br" />
				<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
				<add name="CacheAccess-Control-Allow-Headers" value="no-storeContent-Type, Authorization" />
                <remove name="X-Powered-By" />
            </customHeaders>
			        </httpProtocol>
        <security>
            <requestFiltering removeServerHeader="true">
                <verbs>
                    <add verb="TRACE" allowed="false" />
                </verbs>
            </requestFiltering>
        </security>
    </system.webServer>
    <system.web>
        <httpRuntime enableVersionHeader="false" />
        <pages viewStateEncryptionMode="Always" />
    </system.web>
</configuration>

Onde tiver o {HOST_API_URL}, substituir pelo endereço da api do host, o mesmo apontado no arquivo config.json

Informações

ATENÇÃO!

Todas as informações sugeridas acima foram checadas e testadas em um ambiente controlado com o apoio do nosso time de segurança e com resultados de Pentests executados internamente ou externamente pelos nossos clientes. No entanto, é recomendado que as configurações sejam realizadas inicialmente em um ambiente de homologação, devido à variedade e complexidade das configurações e especificidades dos servidores de cada cliente.

...