Protocolo VATPS

Se trata del protocolo VATP encriptado con TLS/SSL. Esto permite que toda la comunicación entre todos los componentes de Velneo y el servidor Velneo vServer vayan cifrados.

Este protocolo permite establecer conexiones seguras estándar TLS/SSL lo que provee de privacidad e integridad a las comunicaciones en red entre todos los componentes de Velneo. Es decir, no solo la comunicación se envía cifrada entre los componentes, si no que es inviolable, ya que garantiza que nadie puede modificar la información que se transmite, además de garantizarnos con qué servidor nos hemos conectado.

Para poder usarlo, debemos disponer de un servidor con suscripción.

La configuración comienza por obtener nuestro certificado digital. Contamos con 3 posibles opciones:

  • Adquirirlo en una entidad certificadora, p.e. Gandi. La opción más segura y recomendada para aquellos desarrolladores que necesiten máxima seguridad en sus conexiones.

  • Crear tu propio certificado autofirmado. Esta opción te da un nivel intermedio de seguridad, aunque cuando los componentes de Velneo se conecten al vServer con este tipo de certificado, mostrarán una excepción que los clientes tendrán que aceptar. Para generar un certificado autofirmado, puedes usar la herramienta OpenSSL.

  • Utilizar el certificado emitido por Velneo que lleva incorporado Velneo vServer.

El tipo de certificado soportado para VATPS es x509.

Al establecerse la conexión TLS/SSL se seleccionará la opción más segura en ese momento, determinada por el sistema y las librerías TLS/SSL. Normalmente será TLS 1.3.

En el acerca de… de cualquier componente de Velneo se puede ver la configuración de la conexión.

Por programación, la clase VSSLInfo permite obtener información de la conexión en las aplicaciones.

Lanzar Velneo vServer con servicio TLS/SSL

La forma de indicar a Velneo vServer que debe iniciarse con soporte VATPS es añadiendo a la línea de comandos el parámetro /ssl.

Para indicar un certificado que no sea el interno que incorpora Velneo vServer, hay que especificarlo en el registro del sistema. Haz clic aquí para ampliar información al respecto.

No se soportan certificados que requieran certificados intermedios.

El servidor carga el certificado al iniciarse, por lo tanto, si el certifiado cambia, debemos reiniciarlo para que lo actualice.

Iniciar un componente con VATPS

Para conectarnos a un Velneo vServer que tenga VATPS habilitado, tan sólo tenemos que sustituir VATP por VATPS en nuestra vrl de conexión. Por ejemplo:

vatps://subdominio.dominio.com:9999

Si se produce un error de TLS/SSL, aparece en la barra de estado de la ventana de conexión una opción para ver las excepciones que se han producido y permite ignorarlas.

Es decir, los componentes clientes siempre permitirán la conexión pese a los posibles errores de TLS/SSL que pueda haber.

En el caso de que queramos controlar los errores o incluso hacer que se cierre Velneo vClient si hay errores de TLS/SSL es algo que tendremos que programar y para ello podemos hacer uso de la clase VSSLInfo del API de Velneo para JavaScript, ya que dispone de funciones para comprobar los posibles errores de validez del certificado, dominio, etc.

No es posible conectarnos usando VATPS contra un servidor que no admita conexión segura ni viceversa, conectarnos por VATP contra un servidor que requiera conexión segura.

Funcionamiento en Velneo cloud

El funcionamiento en Velneo Cloud es similar y consta de dos pasos:

Subir vía sftp los ficheros del certificado a tu Velneo vServer en cloud y editar el fichero vServer.conf para añadir las propiedades necesarias tal y como se explicó anteriormente.

Comunicar a soporte que tu Velneo vServer va a trabajar con soporte VATPS.

Verificación de Certificados

La verificación de certificados garantiza la veracidad del certificado del servidor con el cual establecemos la conexión.

A partir de la versión 29.2, la verificación se realiza de forma automática al conectarnos al servidor, previamente a enviar información al servidor, con lo que garantizamos que, además de que la información viaja de forma confidencial e íntegra, se envía al servidor con el que realmente queremos establecer la conexión. (Consulta cómo activarlo en el cliente en versiones anteriores al final).

En caso de error en el establecimiento de la conexión segura, nos lo indicará en la ventana de conexión y podremos revisar los errores detectados (caducidad de los certificados, certificados erróneos, etc.).

Además, en el caso de que confiemos en el certificado pese a los errores, el usuario puede establecer excepciones de seguridad para el servidor al que nos conectamos, como se hace en los navegadores web. En ese caso, se guardará la huella del certificado, con lo que, si se produce un cambio en el certificado del servidor al que se conecta, se avisará al usuario y se le solicitará de nuevo que incluya la excepción si es necesario y confía en él pese a los errores.

En nuestra aplicación, siempre podemos comprobar el certificado usado y comprobar que es correcto, haciendo uso para ello de la clase VSSLInfo de la API de Velneo para Javascript, que nos dará información relativa a la conexión y el certificado empleado.

Para configurar certificados en el servidor, ver el apartado Cómo incluir certificados propios en el servidor.

El servidor incluye un certificado propio de pruebas que ha de ser sustituido por nuestro propio certificado.

Para activar la verificación automática del certificado en versiones anteriores a Velneo 29.2:

Para activar la verificación del certificado en el cliente, debes crear la clave de registro verificarCertificado con el valor 74261567A70F84C2B4B954CAF4864F56CBDEEB25.

Debe configurarse en la carpeta Velneo del registro, en la subcarpeta beta.

Para cada sistema operativo, se ha de configurar en:

Windows: HKEY_CURRENT_USER/Software/Velneo/beta

Linux: /usuario/.config/Velneo/beta.conf (Apartado [General] )

macOS: com.velneo.beta.plist

Podemos hacer uso en nuestras aplicaciones del grupo de comandos de instrucción Configuración del sistema: escribir cadena de texto para configurar de forma programada esta clave.

Configuración del sistema: escribir cadena de texto ( "Velneo", "beta", "verificarCertificado", 74261567A70F84C2B4B954CAF4864F56CBDEEB25 )

También puedes generar un script que añada esa configuración en el equipo del cliente, por ejemplo, si tu sistema operativo es Windows debes ejecutar desde una línea de comandos el siguiente comando:

reg add HKEY_CURRENT_USER\Software\Velneo\beta /v verificarCertificado /t REG_SZ /d “74261567A70F84C2B4B954CAF4864F56CBDEEB25”

En Linux debemos escribir en el fichero beta.conf la siguiente información:

[General]

verificarCertificado=74261567A70F84C2B4B954CAF4864F56CBDEEB25

En macOS debemos crear el fichero usando una herramienta como Property List Editor para incluir la clave, ya que tiene una edición binaria de los ficheros .plist, y distribuir este fichero en la carpeta Library/Preferences del usuario.

En caso de error en el establecimiento de la conexión segura, nos lo indicará en la ventana de conexión y podremos revisar los errores detectados (caducidad de los certificados, certificados erróneos, etc.).

Para los componentes que ha de instalar y verificar el desarrollador (Velneo vModApache, Velneo ODBC Driver, vRemoteFunctionV7.dll), es opcional forzar la verificación del certificado. Se hace con la clave verificarCertificado como en versiones anteriores.

El uso de Velneo vClient con la opción -platform minimal también comprueba automáticamente el certificado. Para añadir excepciones, debemos conectarnos previamente con interfaz con interfaz a esa VRL y añadir la excepción TLS/SSL en caso de ser necesario.