Seguridad a una aplicacion .net - web.config

Algunos tips que al agregarlos pueden dar mayor seguridad a una aplicacion .net, muchas cosas son más que todo en el web.config y en el global.asax.


1. Revisar que si se coloca otra pagina mande a la pagina de error personalizada
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/error.aspx" /> 

2. Agregar las dos ultimas propiedades
<system.web>
<pages styleSheetTheme="Default" validateRequest="false" enableViewStateMac="true" viewStateEncryptionMode="Always">
<machineKey validation="3DES" />

3. en web.server
<system.webServer>
  <httpProtocol>
 <customHeaders>
  <remove name="X-Powered-By" />
 </customHeaders>
</httpProtocol>

4. agregar la ultima propiedad
<httpRuntime requestValidationMode="2.0" enableVersionHeader="false" />


5. copiar el archivo en app_code, que tenga este contenido y que se llame: CustomHeaderModule.cs

using System.Web;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for CustomHeaderModule
/// </summary>
/// 
/// 
namespace StrongNamespace.HttpModules
{
    public class CustomHeaderModule : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.PreSendRequestHeaders += OnPreSendRequestHeaders;
        }

        public void Dispose() { }

        void OnPreSendRequestHeaders(object sender, EventArgs e)
        {
            System.Web.HttpContext.Current.Response.Headers.Set("Server", "IQ");
        }
    }
}

y agregar las siguientes lienas en el web.config:
  <system.webServer>
    <modules>

<add name="CustomHeaderModule"
       type="StrongNamespace.HttpModules.CustomHeaderModule" />

  </modules>

6. en system.web
<httpCookies httpOnlyCookies="true" requireSSL="true" />
Creo que lo anterior requiere de un certificado SSL

7. En el global.asax.

void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader("x-frame-options", "DENY");
}

8. en el global.asax en el metodo: Application_Start

MvcHandler.DisableMvcResponseHeader = true;

9. podemos probar nuestro sitio web con esta url.
https://asafaweb.com/

Si saben más por fa, compartamoslo aquí...

Sean felices! :) Y siéntanse libres de opinar ;)

No hay comentarios:

Publicar un comentario