Si tiene una configuración en la que una interfaz liviana usa SNI para enviar solicitudes a través de diferentes servidores HTTPS, la verificación adicional realizada por Apache protege contra el uso de solicitudes no válidas para acceder a contenido que de otra manera sería inaccesible.
Dado que el campo SNI está en el mensaje de saludo del cliente TLS enviado por el cliente antes de que el servidor haya enviado algo, es posible construir una interfaz liviana que no sepa nada sobre HTTP y muy poco sobre TLS pero que aún sea capaz de enviar Conexiones TLS a diferentes backends dependiendo del nombre de host.
Tal interfaz solo necesitaría saber suficiente TLS para analizar el mensaje de saludo del cliente y extraer el nombre de host. Una vez que lo tiene, puede pasar todos los datos sin modificar a backends HTTPS separados. Solo los backends necesitan la clave del servidor necesaria para establecer la conexión TLS.
En esta configuración, la interfaz nunca podrá saber qué nombre de host se envió en el encabezado del host HTTP porque no puede descifrar el tráfico. Por lo tanto, es imposible para una interfaz de este tipo comparar los dos nombres de host.
Esta configuración permite que se alojen múltiples dominios detrás de una sola dirección IP, incluso si los servidores HTTPS no saben nada sobre SNI. Sin embargo, si los servidores HTTPS no saben nada sobre SNI, es posible que un cliente envíe una solicitud dañada en la cual el frontend y el backend ven dos nombres de host diferentes para la misma solicitud HTTPS.
Es posible configurar el frontend y el backend de tal manera que solo se pueda acceder a un vhost diciendo a los nombres de host diferentes del frontend y del backend.
Si no se puede acceder a un vhost por cada solicitud HTTPS válida, se puede considerar una vulnerabilidad si se puede acceder a dicho vhost mediante el envío de solicitudes HTTPS no válidas. Si el backend es una versión de Apache con soporte SNI, la comprobación que solicite protegerá contra la vulnerabilidad.