Balanceador de Carga - Certificados SSL Gerenciados
Use certificados SSL (Secure Socket Layer) com o seu balanceador de carga por meio do serviço Load Balancer.
Este tópico descreve como criar e gerenciar certificados SSL dentro do serviço Balanceador de Carga. Recomendamos que você use o serviço Certificates para criar e gerenciar certificados. Consulte Certificados para obter mais informações.
Você pode exibir esses certificados gerenciados pelo serviço Certificate usados por um balanceador de carga por meio da Console. Consulte Listando Certificados Gerenciados pelo Serviço de Certificados para obter mais informações.
Para usar SSL padrão com um balanceador de carga e seus recursos, forneça um certificado.
Para usar mTLS (TLS mútuo) com seu balanceador de carga, adicione uma ou mais CA (autoridades de certificação) ou pacotes de autoridades de certificação (pacotes de CA) ao seu sistema.
- Autoridade de Emissão: Uma autoridade de certificação privada capaz de emitir certificados de folha. Para um balanceador de carga e seus recursos associados, a CA é um armazenamento confiável criado no serviço do certificado e não é submetido a upload pelo usuário.
- Bundle de CA: Uma coleção de certificados públicos de CA que você pode carregar por upload como grupo agregado. Os pacotes de CA não incluem chaves privadas ou certificados folha.
Recomendamos que você faça upload dos bundles de certificados que deseja usar antes da criação dos listeners ou conjuntos de backend com os quais deseja associá-los.
Você pode executar as seguintes tarefas de certificado SSL:
Configure o tratamento de SSL para um balanceador de carga.
Liste os dados de um balanceador de carga.
Crie um novo certificado para um balanceador de carga.
Obter detalhes de um certificado.
Atualizar um certificado expirando.
Exclua um certificado de um balanceador de carga.
Os balanceadores de carga geralmente usam certificados de um único domínio. No entanto, os balanceadores de carga com listeners que incluem a configuração de roteamento da solicitação (consulte Roteamento da Solicitação) podem exigir um certificado SAN (nome alternativo do assunto) assim (também chamado de certificado multidomínio) ou um certificado curinga. O serviço do Balanceador de Carga suporta cada um desses tipos de certificado.
- O serviço do Balanceador de Carga não gera certificados SSL. Só é possível importar um certificado existente que você já possui. O certificado pode ser emitido por um fornecedor, como Verisign ou GoDaddy. Você também pode usar um certificado autoassinado gerado com uma ferramenta de código-fonte aberto, como OpenSSL ou Let's Encrypt. Consulte a documentação da ferramenta correspondente para obter instruções sobre como gerar um certificado autoassinado.
- Se você submeter um certificado autoassinado para SSL de backend, deverá submeter o mesmo certificado no campo Certificado de CA correspondente.
O Oracle Cloud Infrastructure aceita certificados do tipo x.509 apenas no formato PEM. Este é um exemplo de certificado codificado por PEM:
-----BEGIN CERTIFICATE-----
<Base64_encoded_certificate>
-----END CERTIFICATE-----
Convertendo para o Formato PEM
Se você receber os seus certificados e chaves em outros formatos que não sejam PEM, converta-os antes de carregá-los no sistema. Você pode usar OpenSSL para converter certificados e chaves para o formato PEM. Os exemplos de comandos a seguir vão orientá-lo.
Certificado ou Cadeia de Certificados de DER para PEM
openssl x509 -inform DER -in <certificate_name>.der -outform PEM -out <certificate_name>.pem
Chave Privada de DER para PEM
openssl rsa -inform DER -in <private_key_name>.der -outform PEM -out <private_key_name>.pem
Pacote de Certificados de PKCS#12 (PFX) para PEM
openssl pkcs12 -in <certificate_bundle_name>.p12 -out <certificate_bundle_name>.pem -nodes
Pacote de certificados de PKCS#7 para PEM
openssl pkcs7 -in <certificate_bundle_name>.p7b -print_certs -out <certificate_bundle_name>.pem
Configurando a Verificação de Certificado de Pareamento
A verificação de certificado de pareamento é usada para autenticação do cliente. A profundidade da verificação de certificado de pareamento é o número de certificados na cadeia que precisam ser verificados para autenticação do cliente.
Estes são os valores esperados a serem definidos:
- Um certificado intermediário, certificado do cliente, certificado raiz - 2
- Certificado do cliente, certificado raiz - 1s
Para decidir se a verificação de certificado de pareamento está configurada incorretamente, observe o seguinte:
- O cliente indica que não foi possível verificar o certificado e resulta em uma falha no handshake SSL cliente. Essa mensagem de erro varia com base no tipo de cliente.
- Nos logs do balanceador de carga, o seguinte erro aparece:
Client %s has SSL certificate verify error
- Use o utilitário OpenSSL para executar o seguinte comando:
openssl verify -verbose -CAfile RootCert.pem Intermediate.pem
Ocorreu um erro que mostra em qual profundidade a falha de validação está ocorrendo:
error 20 at 0 depth lookup:unable to get local issuer certificate
Para resolver essa situação, forneça a profundidade correta do certificado e confirme se o certificado do cliente e o certificado da autoridade de certificação correspondem e estão na ordem correta.
Upload de Cadeias de Certificados
Se você tiver vários certificados que formam uma única cadeia de certificação (por exemplo, qualquer certificado de autoridade de certificação intermediário), inclua todos os certificados relevantes em um arquivo na ordem correta antes de fazer upload deles para o sistema. A ordem correta começa com o certificado diretamente assinado pela autoridade de certificação raiz confiável no final da lista. Todos os certificados adicionais são colados acima do certificado assinado.
Combine os arquivos de certificado do servidor (SSL_Certificate.crt
) e certificado da autoridade de certificação intermediária (intermediateCA.crt
) em um único arquivo concatenado.
Para obter um único arquivo concatenado do certificado SSL e do certificado da autoridade de certificação intermediária, abra um prompt de comando e execute o seguinte comando:
cat ssl_certificate.crt IntermediateCA.crt >> certbundle.pem
O seguinte exemplo de arquivo de cadeia de certificados concatenado inclui quatro certificados:
-----BEGIN CERTIFICATE-----
Base64-encoded_certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded_certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded_certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded_certificate
-----END CERTIFICATE-----
Submetendo Chaves Privadas
É recomendável um tamanho mínimo de 2048 bits para sua chave privada RSA.
Se você receber um erro ao submeter a chave privada, os três motivos mais comuns poderão ser:
-
Você forneceu uma frase-senha incorreta.
-
A sua chave privada está incorreta.
-
O sistema Não reconhece o método de criptografia usado para sua chave.
Incompatibilidade do Par de Chaves
Se você receber um erro relacionado à chave privada e a chave pública que estão sendo incompatíveis, use os seguintes comandos OpenSSL para confirmar que eles fazem parte do mesmo par:
openssl x509 -in certificate_name.crt -noout -modulus | openssl sha1
openssl rsa -in private_key.key -noout -modulus | openssl sha1
Confirme se os valores de hash sha1
retornados correspondem com exatidão. Se forem diferentes, a chave privada fornecida não será usada para assinar o certificado público e não poderá ser usada.
Consistência de Chave Privada
Se você receber um erro relacionado à chave privada, poderá usar o OpenSSL para verificar sua consistência:
openssl rsa -check -in <private_key>.pem
Este comando verifica se a chave está intacta, a frase-senha está correta e se o arquivo contém uma chave privada RSA válida.
Decriptografando uma Chave Privada
Se o sistema Não reconhecer a tecnologia de criptografia usada em sua chave privada, decriptografe a chave. Faça upload da versão não criptografada da chave com o seu pacote de certificados. Você pode usar o OpenSSL para decriptografar uma chave privada:
openssl rsa -in <private_key>.pem -out <decrypted_private_key>.pem
Configurando o Tratamento de SSL
Saiba mais sobre a configuração do tratamento de SSL para um recurso do Balanceador de Carga.
Você pode executar as seguintes tarefas de tratamento de SSL para um balanceador de carga:
- Encerrar o SSL no balanceador de carga. Essa configuração é chamada de SSL frontend. O seu balanceador de carga pode aceitar tráfego criptografado de um cliente. Não há criptografia de tráfego entre o balanceador de carga e os servidores de backend.
- Implementar SSL entre o balanceador de carga e os seus servidores de backend. Essa configuração é chamada de SSL de backend. O seu balanceador de carga não aceita tráfego criptografado dos servidores clientes. O tráfego entre o balanceador de carga e os servidores de backend é criptografado.
- Implementar SSL ponto a ponto. O seu balanceador de carga pode aceitar tráfego criptografado SSL proveniente dos clientes e criptografar o tráfego enviado para os servidores de backend.
Encerrando SSL no Balanceador de Carga
Para terminar o protocolo SSL no balanceador de carga, você deve criar um listener em uma porta como 443 e, em seguida, associar ao listener um pacote de certificados carregado por upload. Consulte Criando um Listener do Balanceador de Carga para obter mais informações.
Implementando SSL de Backend
Para implementar SSL entre o balanceador de carga e os seus servidores de backend, você deve associar um pacote de certificados carregado por upload ao conjunto de backend. Consulte Criando um Conjunto de Backend do Balanceador de Carga para obter mais informações.
- Para ter mais de uma servidor de backend no conjunto, assine seus servidores de backend com um certificado da CA intermediário. O certificado de CA intermediário deve ser incluído como parte do pacote de certificados.
- Os seus serviços de backend devem ter a capacidade de aceitar e encerrar a SSL.
Implementando SSL Ponto a Ponto
Para implementar SSL ponto a ponto, associe pacotes de certificados de upload ao listener e ao conjunto de backend. Consulte Criando um Listener do Balanceador de Carga e Criando um Conjunto de Backend do Balanceador de Carga para obter mais informações.
Listando Certificados Gerenciados pelo Serviço de Certificados
Exiba uma lista dos certificados gerenciados pelo serviço Certificates para um balanceador de carga.
Os certificados do balanceador de carga gerenciados pelo serviço Certificates só podem ser listados na Console do Balanceador de Carga. Para executar outras tarefas do serviço Certificates, como criar, editar e excluir um certificado, consulte Certificados.
Para exibir certificados SSL criados usando o serviço Load Balancer, consulte Listando Certificados do Balanceador de Carga
Usando a Console
Filtrar resultados da lista
Use filtros para limitar os certificados gerenciados pelo serviço Certificates na lista. Execute uma das seguintes ações, dependendo das opções que você vê:
- Na caixa Pesquisar e Filtrar acima da tabela de listas, selecione um ou mais filtros e especifique os valores que você deseja usar para restringir a lista. Em geral, os filtros correspondem às colunas mostradas na tabela de lista, embora alguns filtros representem atributos que não são mostrados na tabela. O filtro Compartimento é sempre exibido ao lado de Filtros aplicados.
- No lado esquerdo da página de lista, selecione um valor de um dos filtros disponíveis, como compartimento, estado ou tags.
Altere a ordem dos itens na tabela de lista usando os ícones de classificação ao lado dos nomes das colunas.
Para obter informações sobre como procurar recursos e gerenciar as colunas na tabela de lista, se esses recursos estiverem disponíveis, consulte Listando Recursos.
Ações
Na tabela de lista, selecione o nome de um certificado gerenciado pelo serviço Certificates para abrir sua página de detalhes, na qual você pode exibir seu status e executar outras tarefas.