viernes, 12 de junio de 2026

.NET C# Medidas para prevenir hack en sistema

Se debe agregar protección de cabeceras http en archivos Web.Config, dentro del tag <system.webServer>

Como en la imagen de referencia.


<httpProtocol>

      <customHeaders>

        <add name="X-Frame-Options" value="SAMEORIGIN"/>

        <add name="X-Content-Type-Options" value="nosniff"/>

      <add name="Content-Security-Policy-Report-Only" value="default-src 'self'"/>

        <add name="X-Xss-Protection" value="1; mode=block"/>

        <remove name="X-Powered-By"/>       

      </customHeaders>

</httpProtocol>




X-Frame-Options Con el valor SAMEORIGIN, este encabezado impide que el sitio sea cargado dentro de un <iframe> en otro dominio. Su propósito es proteger contra ataques de clickjacking, permitiendo que el contenido se muestre únicamente en páginas del mismo origen.

X-Content-Type-Options Con el valor nosniff, este encabezado indica al navegador que no debe intentar adivinar el tipo de contenido de los archivos. De esta manera, se evita que un archivo con extensión incorrecta sea interpretado como otro tipo, reduciendo el riesgo de ejecución de contenido malicioso.

Content-Security-Policy-Report-Only Con el valor default-src 'self', este encabezado define una política de seguridad de contenido (CSP) en modo report-only. No bloquea recursos, pero genera reportes cuando se detecta contenido que viola la política. En este caso, solo se permiten recursos provenientes del mismo dominio, y cualquier intento de cargar contenido externo se registra.

X-Xss-Protection Con el valor 1; mode=block, este encabezado activa el filtro de protección contra ataques de Cross-Site Scripting (XSS) en avengadores antiguos, como Internet Explorer y algunos basados en WebKit. Si el navegador detecta un posible ataque XSS, bloquea la carga de la página en lugar de mostrarla.

remove name="X-Powered-By" Este ajuste elimina el encabezado X-Powered-By que IIS agrega por defecto. Dicho encabezado suele revelar la tecnología utilizada (por ejemplo, "ASP.NET"), lo que podría dar pistas a atacantes. Al removerlo, se reduce la exposición de información innecesaria.

En conjunto, estos encabezados fortalecen la seguridad de una aplicación en IIS, mitigando riesgos como clickjacking, XSS, content sniffing y la divulgación de información sensible.