1. Introducción¶
La API GBDS proporciona autenticación SSL para la conexión de cliente y servidor utilizando el protocolo TLS, lo que permite una nueva capa de seguridad. Este manual cubre los procedimientos para habilitar la autenticación SSL en la API GBDS.
2. Certificados¶
La autenticación SSL utilizando TLS requiere autenticación mutua, por lo que el primer paso es la generación de certificados tanto de cliente como de servidor, que deben tener un formato válido. Los pasos para permitir la autenticación en ambos lados se explican a continuación.
2.1. Certificados del lado del servidor¶
Se debe crear un archivo Keystore y un archivo Truststore en el servidor y colocarlos en /etc/griaule/keystore
. Ambos archivos deben estar en formato PKCS12 (.pfx
o .p12
).
La cadena de certificación pública de los certificados de cliente y servidor debe agregarse al archivo Truststore para permitir la autenticación.
2.2. Certificados del lado del cliente¶
Se debe crear un archivo Keystore y un archivo Truststore en el cliente. Estos se utilizarán para autenticar la aplicación.
La cadena de certificación pública que pertenece al servidor debe agregarse al Truststore de la aplicación del cliente.
3. Configuración de la API¶
Se deben editar o agregar algunos parámetros de configuración para permitir la autenticación SSL en la API GBDS. Una vez que todos los parámetros estén configurados correctamente, el servicio de API debe reiniciarse para aplicar los cambios en el archivo de configuración.
Warning
Habilitar la autenticación SSL en la API GBDS requerirá autenticación TLS para cualquier comunicación con el puerto de la API, sin posibilidad de comunicación HTTP.
La ruta del archivo de configuración de la API es /etc/griaule/conf/gbsapi/gbdsapi.properties
y los parámetros que deben cambiarse son los siguientes:
security.require-ssl
Este parámetro define si se requiere SSL para la comunicación de la API. Su valor debe establecerse en
true
para habilitar la autenticación SSL.valor:
true
server.ssl.protocol
Este parámetro define el protocolo SSL que se utilizará para la autenticación. Su valor debe establecerse en
TLS
.valor:
TLS
server.ssl.client-auth
Este parámetro define si se requiere autenticación del cliente para la comunicación de la API. Su valor debe establecerse en
need
.valor:
need
server.ssl.key-store
Este parámetro define la ruta del archivo Keystore del servidor que se utilizará.
valor:
/etc/griaule/keystore/<keystore>.pfx
server.ssl.key-store-password
Este parámetro define la contraseña que se utilizará para acceder al archivo Keystore para la validación del certificado.
valor:
contraseña del keystore
server.ssl.trust-store
Este parámetro define la ruta del archivo Truststore del servidor que se utilizará.
valor:
/etc/griaule/keystore/<trustore>.pfx
server.ssl.trust-store-password
Este parámetro define la contraseña que se utilizará para acceder al archivo Truststore para la validación del certificado.
valor:
<contraseña del truststore>