Apache HTTP Fallback si falla el protocolo de enlace SSL

Apache HTTP Fallback si falla el protocolo de enlace SSL

tengo unmuycaso de uso específico. Quiero verificar, usando Apache, si el navegador de un usuario es capaz de usar CipherSuites modernos.

Se llama al Apache con https y debe intentar establecer una conexión SSL; si eso falla, el Apache debe redirigir al usuario a un sitio HTTP alternativo, donde se le informa que su navegador está desactualizado.

Seguramente necesito usar mod_rewrite, que incluso tiene una variable https que contiene encendido/apagado, dependiendo de si SSL está establecido. Pero, ¿cómo puedo decirle a Apache que continúe si falla el protocolo de enlace SSL inicial?

Respuesta1

el cliente debe intentar establecer una conexión SSL; si eso falla, Apache debe redirigir al usuario a un sitio HTTP alternativo, donde se le informará que su navegador está desactualizado.

Creo que no se puede, el protocolo de enlace TLS fallaría en una etapa mucho antes de la etapa en la que el cliente y el servidor web pueden intercambiar mensajes de protocolo HTTP.

En cambio:

  1. Acepta todos los cifrados.
  2. Y ordénalos de fuertes a débiles con elSSLCipherSuite ...directiva.
  3. No permita que el cliente determine la preferencia de cifrado, pero negocíelos en el orden de preferencia que determinó en el paso 2. con elSSLHonorCipherOrder on directiva.
  4. Esodeberíadará como resultado una conexión con el cifrado más seguro que admita el cliente. (En teoría, su kilometraje real puede variar).
  5. Si ese cifrado está por debajo de su umbral, aplique la lógica para mostrar su mensaje de seguridad.
  6. Asegure el contenido que realmente necesita un cifrado fuerte comoexplicado en el manual

es decir, algo como:

# be liberal in general
SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
SSLHonorCipherOrder on

<Location "/strong/area">
# but https://hostname/strong/area/ and below
# requires strong ciphers
SSLCipherSuite HIGH:!aNULL:!MD5
</Location>

información relacionada