1. Introdução¶
A API do GBDS provê autenticação SSL para a conexão entre cliente e servidor usando o protocolo TLS, habilitando uma nova camada de segurança. Este manual cobre os processos para habilitar a autenticação SSL na API do GBDS.
2. Certificados¶
A autenticação SSL usando TLS requer autenticação mútua, então o primeiro passo é a geração dos certificados do cliente e do servidor, os quais devem ter um formato válido. Os passos para permitir a autenticação dos dois lados são explicados abaixo.
2.1. Certificados do Servidor¶
Um arquivo Keystore e um arquivo Truststore devem ser criados no servidor e alocados em
/etc/griaule/keystore
. Os dois arquivos devem ter formato PKCS12 (.pfx
ou
.p12
).
As cadeias públicas de certificação dos certificados do cliente e do servidor devem ser adicionadas ao Truststore para permitir a autenticação.
2.2. Certificados do Cliente¶
Um arquivo Keystore e um arquivo Truststore devem ser criados no cliente. Esses serão usados para a autenticação da aplicação.
A cadeia pública de certificação que pertence ao servidor deve ser adicionada à Truststore da aplicação cliente.
3. Configuração da API¶
Alguns parâmetros de configuração devem ser editados ou adicionados para permitir a autenticação SSL na API do GBDS. Quando todos os parâmetros estiverem corretamente incluídos, o serviço da API deve ser reiniciado para aplicar as mudanças no arquivo de configuração.
Warning
Ao habilitar a autenticação SSL na API do GBDS, será necessária autenticação TLS para qualquer comunicação com a porta da API, não havendo possibilidade de comunicação via HTTP.
O caminho do arquivo de configuração da API é /etc/griaule/conf/gbsapi/gbdsapi.properties
e os parâmetros a serem modificados são os seguintes:
security.require-ssl
Esse parâmetro define se SSL é necessário para comunicação com a API. Seu valor deve ser definido como
true
para habilitar a autenticação SSL.value:
true
server.ssl.protocol
Esse parâmetro define o protocolo SSL a ser utilizado na autenticação. Seu valor deve ser definido como
TLS
.value:
TLS
server.ssl.client-auth
Esse parâmetro define se a autenticação do cliente é necessária para a comunicação com a API. Seu valor deve ser definido como
need
.value:
need
server.ssl.key-store
Esse parâmetro define o caminho para o arquivo Keystore que será utilizado no servidor.
value:
/etc/griaule/keystore/<keystore>.pfx
server.ssl.key-store-password
Esse parâmetro define a senha a ser utilizada ao acessar o arquivo Keystore para validação do certificado.
value:
keystore password
server.ssl.trust-store
Esse parâmetro define o caminho para o arquivo Truststore que será utilizado no servidor.
value:
/etc/griaule/keystore/<trustore>.pfx
server.ssl.trust-store-password
Esse parâmetro define a senha a ser utilizada ao acessar o arquivo Truststore para validação do certificado.
value:
<truststore password>