La forma más segura de proteger su sitio contra Firesheep (y ataques relacionados):
Mover a la protección SSL en todo el sitio : Mueva todo el sitio a HTTPS y deshabilite todos los accesos HTTP. En otras palabras, proteja todo su sitio con SSL. Aquí hay algunos recursos más para hacer eso: cómo protegerse contra Firesheep , ventajas y desventajas de SSL en todo el sitio , por qué SSL protege contra Firesheep .
Establezca la marca SEGURA en todas las cookies : cada vez que el servidor establezca una cookie, organice la marca SEGURA en la cookie. El indicador SEGURO le dice al navegador del usuario que solo envíe esta cookie a través de conexiones seguras con SSL (HTTPS); el navegador nunca enviará una cookie SEGURA a través de una conexión no cifrada (HTTP). El paso más simple es establecer esta bandera en cada cookie que usa su sitio.
Además, recomiendo algunos pasos adicionales:
-
Tenga cuidado con el contenido de terceros : los widgets, bibliotecas y contenido de terceros pueden ser un riesgo para la seguridad. Si incluye Javascript de terceros (por ejemplo, a través de
<SCRIPT SRC=...>
), le recomiendo que se asegure de que hagan referencia a las URL de HTTPS; de lo contrario, está exponiendo la seguridad de su sitio a ataques activos. (Vea también Preguntas frecuentes de Jeremiah Grossman sobre widgets de terceros . ) Para evitar inundar a sus usuarios con advertencias de contenido mixto , querrá asegurarse de que todo el contenido, incluidas las imágenes y bibliotecas de terceros, también se entregue a través de HTTPS.
Algunos podrían argumentar que lo anterior es una exageración. En algunos casos, es posible proteger contra Firesheep utilizando SSL solo en una parte del sitio. Sin embargo, hacerlo requiere cuidado y conocimiento detallado, y es más difícil hacerlo bien. Dado que tiene que hacer la pregunta aquí, personalmente le recomiendo que comience con SSL en todo el sitio; tienes una mejor oportunidad de hacerlo bien.
Cómo implementar esto en IIS : no soy un experto en IIS, por lo que no puedo darte una receta definitiva sobre cómo implementar estos pasos en IIS. Sin embargo, esta referencia en habilitación de SSL en IIS puede ser útil para usted. Parece que puede hacer clic con el botón derecho en la raíz del sitio, elegir Properties
, hacer clic en la pestaña Directory Security
, luego en Secure Communications
, hacer clic en Edit
y habilitar Require Secure Channel (SSL)
. No sé cómo configurar IIS para establecer el indicador SEGURO automáticamente en todas las cookies. Para migrar un sitio existente, le recomiendo que configure una redirección para que cualquier persona que visite una página HTTP sea redirigida a HTTPS. Las siguientes referencias pueden ayudar con eso (sin probar): redireccionando a HTTPS , tres métodos para redirigir a HTTPS . Si está migrando un sitio existente, también deberá cambiar todos los enlaces y referencias a su sitio de las URL de http:
a las URL de https:
. No estoy seguro de cómo configurar ASP.NET para establecer el indicador SEGURO en todas las cookies, pero creo que puede agregar cookieRequireSSL="true"
o <httpCookies requireSSL="true">
a su Web.config
; es importante hacerlo, y especialmente importante si tiene habilitado HTTP o si tiene algún tipo de redireccionamiento de las páginas HTTP a las páginas HTTPS. Finalmente, hay una gran cantidad de material publicado en ajuste de rendimiento para HTTPS .