La tendencia reciente en los ataques HTTPS es atacar el protocolo HTTP. ¿Qué debo hacer para aumentar la seguridad de mi sitio si el único protocolo que quiero es HTTPS?
Algunas ideas fáciles de implementar son
- Implemente Seguridad de transporte estricta de HTTPS
- Emita la página de autenticación a través de SSL
- Use las publicaciones de formularios HTML para el botón de envío de la página de inicio de sesión, no los CSS DIV
- ... ¿por qué? el usuario no puede ver la URL de destino cuando se desplaza
- Permitir que el cliente almacene en caché la página de navegación, ya que esto disuadirá ciertos ataques MITM
- Utilizar cookies solo SSL
- Utilice un I-Frame Buster y el X-Frames-Options header
- Edite la lista de cifrado en utilice solo RC4, AES o PFS
Más opciones avanzadas / técnicas pueden incluir
- Use DNSSec para proteger a los usuarios vulnerables
- Utilizar cookies solo de SSL en todas partes
- Utilice relleno HTTPS en todos los datos AJAX
- Solo emita la "clave de sesión" a través de HTTPS
- Envíe enlaces externos a una página intermedia
Opciones que pueden romper cosas (como la experiencia del usuario)
- No permitir los navegadores web que:
- ... no indica claramente el estado TLS en la URL
- ... están sujetos a ataques de IDN
- ... no tienen parches
- No permitir el puerto 80
- Permitir solo redirecciones desde un conjunto de dominios incluidos en la lista blanca. No permita que alguien se vincule a su sitio y obligue al usuario a escribir la URL de HTTPS
- Use un certificado privado para todas las operaciones de ese sitio. Emita la huella digital (o RootCA) a través de una conexión SSL
¿Qué piensa de un sitio web que implementa algunas o todas estas técnicas?
¿Qué técnicas adicionales recomendarías? (por ejemplo, Usar / No usar OpenID, ciertas directivas de encabezado HTTP, etc.)