Predicando con el ejemplo

Predicar con el ejemplo. Hemos escuchado eso desde chicos. A veces es difícil lograrlo, pero el hacerlo trae beneficios de diferente índole.


El tema de esta oportunidad está relacionado con los mensajes de error. Uno de los tantos posibles problemas de seguridad de las aplicaciones es la revelación de más información de la necesaria cuando se produce un error.


Lo anterior significa que si la aplicación se cae, le informe al usuario pero no le dé mayor información al respecto, información que además es inútil para el usuario ordinario, pero útil para quien te quiera atacar.


Más información de esta vulnerabilidad podrán encontrar en el sitio del proyecto OWASP, en el siguiente link.


Hace un par de días estaba utilizando OWA de la empresa donde trabajo y de pronto, me topo con esta ventana. Haz clic en ella para verla completa.



Mal, mal. A predicar con el ejemplo. OWA no debiera mostrar este tipo de ventanas de error.


Buenos ejemplos 


Veamos algunas pantallas de error donde sí se han tomado las precauciones.


Esta es la de la aplicación que utilizamos en el blog de msmvps.com. Muy divertida, aunque el administrador podría sentirse ofendido.



Google también cumple con las buenas prácticas.



 


Malos ejemplos 


El típico error de asp.net, cuando el desarrollador y administrador no han tomado las medidas necesarias para que no le llegue al usuario final.


 


y para el final, el peor de todos, cuando se cae leyendo el archivo de configuración y se muestra el contenido de éste.



Corrección


¿Cómo corregirlo? Muy fácil.


Para que no se muestre el error en ASP.NET se puede utilizar el elemento Error en la configuración. Más información en este link: http://msdn2.microsoft.com/en-us/library/s2f4e3e7.aspx.


Para modificar IIS para que no muestre el contenido en los errores no controlados se pueden seguir los pasos detallados en este KB: http://support.microsoft.com/kb/302570/en-us


Saludos,
Patrick

Leave a Reply

Your email address will not be published. Required fields are marked *