Solución TLS 1.2 para el componente heredado

May 27 2020

Tengo una aplicación de Windows disponible que usa un componente muy antiguo para comunicarse con un servidor de autenticación a través de HTTPS:

http.QuickGetStr("https://www.myserver.com/validate?license=myserial)

Esto devuelve una matriz con los datos de autenticación.

Necesito actualizar Apache a TLS 1.2 ya que el mismo servidor se usa para el lado del comercio electrónico y los navegadores ahora muestran "inseguro" para los servidores que no ejecutan TLS 1.2+

El problema es que el componente utilizado en la aplicación que se comunica con el servidor de autenticación no es compatible con TLS 1.2, por lo que cuando el servidor se actualiza a TLS 1.2, todos los usuarios existentes ya no pueden iniciar sesión porque el componente falla y no funciona. t devolver ningún dato de autenticación. Puedo y ciertamente actualizaré la aplicación con un componente más moderno, pero eso no ayudará a los usuarios heredados que no actualizan.

Necesito encontrar una manera de cambiar el servidor de autenticación a TLS 1.2 sin cerrar el acceso a los usuarios existentes que iniciarán la aplicación y no podrán autenticarse. Una idea es usar una nueva URL de autenticación en las nuevas actualizaciones y, de alguna manera, redirigir las solicitudes de autenticación a través de .htacess y enviar solicitudes TLS 1.0 de una forma y solicitudes TLS 1.2 de otra. Funcionaría eso?

Respuestas

1 wp78de May 27 2020 at 06:43

Debería poder resolver esto usando un RewriteCond. ModRewrite debe estar habilitado

NameVirtualHost *:443
SSLStrictSNIVHostCheck on

<VirtualHost *:443>
  DocumentRoot /var/www/html
  ServerName my.domain.com

  SSLProtocol TLSv1 TLSv1.2

  RewriteEngine On
  RewriteCond %{SSL:SSL_PROTOCOL} ^TLSv1$ RewriteCond %{REQUEST_URI} !^/validate$
  RewriteRule .* "-" [F]

  <Directory "/var/www/html">
    Order Deny,Allow
    Allow from all
  </Directory>
</VirtualHost>