Cómo prevenir vulnerabilidad decubierta en ASP.NET‏?

Update: ya está disponible el parche lanzado por la gente de Microsoft que soluciona este problema. Descargar de aquí.

Debido a la vulnerabilidad descubierta en estos días para todos los sitios desarrollados bajo ASP.NET (en todas sus versiones), adjunto una serie de recomendaciones que dió Scott Guthrie para prevenirse de posibles ataques.

Los pasos a seguir son:

– Si estamos utilizando ASP.NET 1.0, 1.1, 2.0 o 3.5 entonces deberemos crear u actualizar en el archivo web.config la sección <customErrors> y de esta se redireccionaran todos los errores a una única página. Para esto debemos modificar o agregar la siguiente sección en nuestro archivo de configuración:

Configuración web.config

Configuración web.config

– Si estamos trabajando con la versión ASP.NET 3.5 SP1 o 4.0 deberemos configurar nuestro web.config de la siguiente manera:

Configuración web.config

Configuración web.config

En ambos casos se da por supuesto que deberemos tener creada nuestra página de error.

– Finalmente en el evento Page_Load() (para sitios WebForm) o en la acción del controlador (para sitios MVC) de la página de error deberíamos agregar un pequeño retraso de tiempo aleatorio (esto permite “confundir” aún más sobre los errores ocurridos):

Configurando retraso de carga

Configurando retraso de carga

Nota: el método RandomDelay() del ejemplo MVC debería hacer algo similar a lo que ocurre dentro del método Page_Load() del ejemplo de WebForm.

Como podemos ver además no tenemos secciones <error> dentro del elemento <customerrors>, esto nos permite ocultar la información del porqué se produjo el error al atacante.

Para ver en detalle el problema podemos ingresar aquí. Dentro del link encontraremos para descargar un pequeña aplicación para nuestros servidores web que se encarga de encontrar aquellas aplicaciones que tienen deshabilitada la sección customerrors o en caso de que estén habilitadas tienen definidos errores personalizados.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s