Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Usar o Serviço OCI Certificates para Emitir um Certificado Interno para Site Hospedado no Servidor IIS
Introdução
O Oracle Cloud Infrastructure (OCI) Certificates é um serviço para criar e gerenciar certificados TLS (Transport Layer Security). O serviço permite que as organizações criem hierarquias de Autoridade de Certificação (CA) privadas e certificados TLS que podem ser implantados e renovados automaticamente na tenancy do cliente, integrados aos serviços do OCI, como OCI Load Balancer e OCI API Gateway. Também podemos usar esse serviço para gerar certificados para nossos servidores web internos hospedados em Serviços de Informação da Internet (IIS), Apache ou nginx.
Objetivo
Neste tutorial, descrevemos como usar o OCI Certificates para emitir um certificado interno a ser usado para hospedar um site protegido por TLS/SSL em um servidor IIS do Windows. Vamos discutir as duas opções.
-
Crie uma Solicitação de Assinatura de Certificado (CSR) em nosso servidor IIS a ser usado pelo OCI Certificates para emitir o certificado para nosso servidor IIS. Uma CSR é a maneira mais segura de obter certificados digitais. Pense em uma CSR como um formulário digital que você preenche ao solicitar um certificado. Ele contém informações essenciais que comprovam sua identidade e estabelecem a legitimidade de sua presença on-line.
-
Emita um certificado diretamente (sem gerar um CSR) usando uma CA do OCI Certificates. Se você não quiser gerenciar a chave privada e quiser entregar esse gerenciamento à CA, poderemos usar essa abordagem para obter um certificado emitido pela CA junto com a chave privada. No entanto, usar uma CSR é a abordagem recomendada porque a chave privada é gerada em seu servidor onde você gera a CSR e nunca sai do servidor.
Pré-requisitos
-
Acesso à Console do OCI com permissões para gerenciar o OCI Certificates e o OCI Vault.
-
Um servidor IIS com a configuração do seu site, hospedado em um servidor Windows suportado com acesso administrativo a este servidor.
Observação: não especifique informações confidenciais.
Tarefa 1: Criar uma Autoridade de Certificação
Precisamos criar uma CA, quer estejamos emitindo um certificado usando CSR ou diretamente pela OCI Certificates CA. Para obter mais informações sobre como configurar uma CA, consulte Criando uma Autoridade de Certificação.
Use o OCI Certificates para criar uma CA raiz ou uma CA subordinada. É necessário ter uma CA raiz para criar uma CA subordinada. Uma hierarquia de camada única consiste em uma CA. A CA única é uma CA raiz e uma CA emissora. Uma CA raiz é o termo para a âncora de confiança da PKI. Quaisquer aplicativos, usuários ou computadores que confiam na CA raiz confiam em quaisquer certificados emitidos pela hierarquia da CA. A CA emissora é uma CA que emite certificados para entidades finais. No entanto, uma hierarquia de duas camadas é um design que atende às necessidades da maioria das empresas. Neste projeto há uma CA raiz e um subordinado, emitindo CA. O nível de segurança é aumentado porque a CA raiz e as atribuições da CA emissora estão separadas. A criação de uma CA exige que você tenha acesso a uma chave de criptografia assimétrica e protegida por hardware existente do OCI Vault. Para obter mais informações, consulte Visão Geral do OCI Vault.
-
Abra o menu de navegação e clique em Identidade e Segurança.
-
Em Certificates, clique em Autoridades de Certificação.
-
Clique em Criar Autoridade de Certificação.
-
Clique em Compartimento e selecione o compartimento onde deseja criar a CA.
-
Em Tipo de Autoridade de Certificação, selecione o tipo de CA entre as seguintes opções.
-
autoridade de certificado raiz: A CA na parte superior da hierarquia em uma cadeia de CAs.
-
Autoridade de Certificação Subordinada: Qualquer CA que não seja a CA raiz em uma hierarquia que contenha outras CAs.
-
-
Informe um Nome para exibição da CA. Esse nome ajuda a identificar a CA para fins administrativos, mas não aparece como parte do certificado da CA.
-
(Opcional) Informe uma Descrição para ajudar a identificar a CA. Esta descrição ajuda a identificar a CA, mas não aparece como parte do certificado da CA.
-
(Opcional) Para aplicar tags, clique em Mostrar Tag. Para obter mais informações, consulte Tags de Recursos e clique em Próximo.
-
Insira informações do assunto que incluam pelo menos um nome comum para identificar o proprietário do certificado da CA. Dependendo do uso pretendido do certificado, o titular pode identificar uma pessoa, uma organização ou um ponto final de computador. O formato das informações do titular deve estar em conformidade com os padrões do RFC 5280. Caracteres curinga podem ser usados para emitir um certificado de vários nomes de domínio ou subdomínio.
-
(Opcional) Especifique mais informações sobre o assunto da CA, clique em Mostrar Campos Adicionais. Para obter detalhes sobre cada um dos valores em um nome distinto de assunto e clique em Próximo.
-
(Opcional) Clique em Não Válido Antes de e especifique o horário e a data UTC em que deseja começar a usar a CA. Se você não especificar uma data, o período de validade da CA começará imediatamente.
-
Clique em Não Válido Após e especifique a data após a qual a CA não poderá mais ser usada para emitir ou validar CAs ou certificados subordinados.
Observação: especifique uma data pelo menos um dia depois da data inicial do período de validade. Não é possível especificar uma data posterior a 31 de dezembro de 2037. Os valores são arredondados para mais para o segundo mais próximo.
-
Se você criar uma CA subordinada, em Issuer Certificate Authority, especifique uma CA mãe para emitir essa CA. Se você criar uma CA raiz, continue para a próxima etapa.
-
Em Vault, selecione o vault que contém a chave de criptografia que você deseja usar para o certificado da CA. Opcional, clique em Alterar Compartimento para especificar outro compartimento.
-
Em Chave, selecione a chave no vault que você deseja usar. A lista inclui apenas as chaves assimétricas no vault porque os certificados só suportam chaves assimétricas. Você pode escolher entre chaves RSA (Rivest-Shamir-Adleman) que sejam de 2048 bits ou 4096 bits. Você também pode escolher chaves ECDSA (Eliptic Curve Digital Signature Algorithm) que tenham um ID de curva elíptica de NIST_P384. Especificamente, a lista inclui apenas esses tipos de chaves assimétricas que são protegidas por um Módulo de Segurança de Hardware (HSM). O serviço Certificates não é compatível com o uso de chaves protegidas por software.
-
Em Algoritmo de Assinatura, selecione uma das opções a seguir, dependendo da família de algoritmos de chave e clique em Próximo.
-
SHA256_WITH_RSA: chave RSA com uma função hash SHA-256
-
SHA384_WITH_RSA: chave RSA com uma função hash SHA-384
-
SHA512_WITH_RSA: chave RSA com uma função hash SHA-512
-
SHA256_WITH_ECDSA: Chave ECDSA com uma função hash SHA-256
-
SHA384_WITH_ECDSA: Chave ECDSA com uma função hash SHA-384
-
SHA512_WITH_ECDSA: Chave ECDSA com uma função hash SHA-512
-
-
Configure a regra de expiração. Em duração máxima da validade dos certificados (dias), especifique o número máximo de dias que um certificado emitido por essa CA pode ser válido. Recomenda-se usar um período de validade não superior a 90 dias.
-
Em Duração Máxima da Validade para CA Subordinada (Dias), especifique o número máximo de dias que uma CA emitida por essa CA pode ser válida para emitir outras CAs ou certificados e clique em Próximo.
-
Na página Configuração de Revogação, se você não quiser configurar uma Lista de Revogação de Certificados (CRL), marque a caixa de seleção Ignorar Revogação. Para configurar a revogação de certificados, desmarque a caixa de seleção e especifique um bucket dedicado do OCI Object Storage no qual você planeja armazenar a CRL.
-
(Opcional) Clique em Alterar Compartimento para localizar um bucket em outro compartimento.
-
Em Formato do Nome do Objeto, especifique o nome do objeto. Você pode incluir chaves no nome do objeto para indicar onde o serviço pode inserir o número da versão da autoridade de certificação emissora. Essa adição ajuda a impedir a substituição de uma CRL existente sempre que você criar outra versão da CA.
-
(Opcional) Em URLs Personalizados Formatados, forneça o URL que você deseja usar com APIs para acessar o objeto. Esse URL é nomeado em certificados como o Ponto de Distribuição da CRL (CDP). É possível incluir chaves no URL para indicar onde o serviço pode inserir o número da versão da CA emissora. Essa adição ajuda a evitar a substituição de uma CDP existente sempre que você criar outra versão da CA. Você só poderá especificar um URL HTTPS se não existirem dependências circulares na verificação da cadeia HTTPS.
-
(Opcional) Para fornecer outro CDP, clique em + Outro URL e forneça outro URL em que os usuários possam acessar a CRL e clique em Próximo.
-
Verifique as informações e clique em Create Certificate Authority.
Pode levar algum tempo para criar recursos relacionados a certificado. Depois que a CA for criada, você poderá usar um dos dois métodos a seguir para obter um certificado emitido para seus servidores IIS.
Tarefa 2: Obter um Certificado Emitido usando CSR
Crie uma CSR no servidor IIS, que também criará uma chave privada no mesmo servidor. Esta é uma abordagem recomendada que nos fornece uma maneira padronizada de enviar à CA sua chave pública, bem como algumas informações que identificam sua empresa e nome de domínio.
-
Crie um CSR usando o IIS. Vá para Gerenciador de Serviços de Informações de Internet (IIS) e, no menu Conexões, clique no nome do servidor e, em seguida, clique em Certificados do Servidor.
-
No menu Ações, clique em Criar Solicitação de Certificado... e informe todos os detalhes, conforme mostrado abaixo, e clique em Próximo
-
Em Propriedades do Provedor de Serviços Criptográfico, especifique as informações a seguir e clique em Próximo.
(Os tipos de provedores criptográficos são famílias de provedores de serviços criptográficos que compartilham formatos de dados e protocolos criptográficos. Os formatos de dados incluem esquemas de preenchimento de algoritmo, comprimentos de chave e modos padrão.)
O Provedor Criptográfico SChannel do Microsoft RSA é um CSP recomendado e deve ser usado, a menos que você tenha um motivo para usar qualquer outro valor. Ele suporta hash, assinatura de dados e verificação de assinatura. O comprimento do bit determina a força de criptografia do certificado: quanto maior o comprimento, mais forte a segurança. 2048 é recomendado para melhor segurança.
-
Na página Nome do Arquivo, em Especificar um nome de arquivo para a solicitação de certificado, clique em ... para procurar um local onde deseja salvar seu CSR (salve o arquivo como
.pem
) que conclui a parte do IIS por enquanto. -
Precisamos fazer log-in em nossa locação da OCI e importar esse CSR. Tendo o arquivo CSR no formato
.pem
, você pode ir para OCI Certificates services, Certificate Authority, Certificates, Create Certificate e selecionar Emitido por CA Interna, gerenciado externamente e informar os detalhes necessários, conforme mostrado abaixo. -
Na página Configuração do Certificado, faça upload do arquivo CSR criado na Tarefa 2.5 no formato
.pem
, clique em Próximo e, em seguida, clique em Criar Certificado. -
Agora precisamos criar o
.cer
do certificado que pode ser usado em nosso servidor IIS para concluir a CSR. O arquivo.cer
pode ser obtido diretamente na Console do OCI em Identidade e Segurança, Certificados, Certificado. Clique em Exibir Conteúdo e faça download do conteúdo do certificadopem
ecertificate-chain-pem
e crie um único arquivo combinando o conteúdo de ambos comcertificate-pem
na parte superior ecertificate-chain-pem
na parte inferior do arquivo (certifique-se de salvar o arquivo resultante como.cer
). -
Uma vez concluído, você poderá acessar o servidor IIS novamente e clicar em Concluir Solicitação de Certificado, fornecer o arquivo
.cer
criado acima e fornecer um nome amigável e, em seguida, clicar em Próximo. -
Você poderá ver o certificado em Certificados do Servidor no IIS e ele poderá ser usado para seu site hospedado no IIS modificando as associações no site. Edite o Binding de Site e escolha o certificado instalado.
Tarefa 3: Criar um Certificado do serviço OCI Certificates sem CSR
Nesta abordagem, você transfere o gerenciamento das chaves privadas para a Autoridade de Certificação. Geralmente, o CSR é a maneira mais recomendada de obter um certificado da CA. Se por algum motivo você não conseguir obter uma CSR e quiser obter um certificado emitido, você pode usar essa abordagem. Usaremos a CA criada acima para emitir um certificado para nosso site hospedado no IIS. Forneceremos algumas informações importantes ao emitir o certificado, como o Nome do Assunto do nosso site (iistest.com
no meu caso), o tipo de Perfil do Certificado, o Algoritmo da Chave e a CA a ser usada.
-
Navegue até a Console do OCI e clique em Identidade e Segurança.
-
Em Certificates, clique em Certificado e, em seguida, clique em Criar Certificado.
-
Em Compartimento, selecione o compartimento onde deseja criar o certificado. O certificado pode existir no mesmo compartimento da CA ou em outro.
-
Em Certificate Type, para emitir um certificado da CA do OCI Certificates que também gerencia o certificado, clique em Issued by internal CA.
-
Informe um Nome para exibição do certificado.
-
(Opcional) Informe uma Descrição para ajudar a identificar o certificado.
-
(Opcional) Para aplicar tags, clique em Mostrar Tag e clique em Próximo.
-
Especifique as informações do assunto, que incluem um nome comum para identificar o proprietário do certificado. Dependendo do uso pretendido do certificado, o titular pode identificar uma pessoa, uma organização ou um ponto final de computador. As informações do titular também podem incluir nomes DNS ou endereços IP como nomes alternativos de titular pelos quais o portador do certificado também é conhecido. Caracteres curinga podem ser usados para emitir um certificado de vários nomes de domínio ou subdomínio. Especifique o nome comum e o nome DNS (em SAN) ao criar o certificado. (Alguns navegadores ignoram o nome comum e usam o nome do assunto ou o nome SAN para avaliar as informações do assunto.)
-
(Opcional) Para adicionar mais nomes alternativos de assunto, clique em + Outro Nome Alternativo de Assunto, escolha o tipo de endereço, informe o nome e clique em Próximo.
-
Selecione um tipo de perfil de certificado entre os perfis a seguir com base no uso pretendido do certificado.
-
Servidor ou Cliente TLS: Apresentado por um servidor ou cliente para conexões TLS/SSL.
-
Servidor TLS: Apresentado por um servidor para conexões TLS/SSL.
-
Cliente TLS: Apresentado por um cliente durante conexões TLS/SSL.
-
Assinatura de Código TLS: Apresentado por um programa para validar sua assinatura.
Como estamos emitindo o certificado para um Servidor, devemos escolher o tipo de perfil do Servidor TLS aqui.
-
-
Para alterar a CA que emite o certificado, clique em Autoridade de Certificado do Emissor e selecione uma CA. Se necessário, clique em Alterar Compartimento e escolha outro compartimento se a CA estiver em um compartimento diferente do selecionado para o certificado.
-
(Opcional) Clique em Não Válido Antes de e informe uma data antes da qual o certificado não poderá ser usado para validar a identidade de seu portador. Se uma data não for especificada, o período de validade do certificado começará imediatamente. Os valores são arredondados para mais para o segundo mais próximo.
-
Clique em Not Valid After e altere a data após a qual o certificado não será mais uma prova válida da identidade de seu portador. É necessário especificar uma data pelo menos um dia depois da data inicial do período de validade. A data não deve exceder a data de expiração da autoridade de certificação emissora. Você também não pode especificar uma data posterior a 31 de dezembro de 2037. Os valores são arredondados para mais para o segundo mais próximo. Em geral, os certificados são usados durante todo o período em que são válidos, a menos que algo exija a revogação.
-
Para Algoritmo de Chave, selecione a combinação de algoritmo e tamanho de chave necessária para o par de chaves de certificado entre as opções a seguir.
-
RSA2048: Chave RSA (Rivest-Shamir-Adleman) de 2048 bits
-
RSA4096: Chave RSA de 4096 bits
-
ECDSA_P256: Chave ECDSA com um ID de curva P256
-
ECDSA_P384: Chave ECDSA com um ID de curva P384
-
-
(Opcional) Clique em Mostrar Campos Adicionais e, em Algoritmo de Assinatura, escolha um dos seguintes algoritmos de assinatura, dependendo da chave, e clique em Próximo.
-
SHA256_WITH_RSA: A chave RSA (Rivest-Shamir-Adleman) com uma função hash SHA-256
-
SHA384_WITH_RSA: chave RSA com uma função hash SHA-384
-
SHA512_WITH_RSA: chave RSA com uma função hash SHA-512
-
SHA256_WITH_ECDSA: Chave ECDSA com uma função hash SHA-256
-
SHA384_WITH_ECDSA: Chave ECDSA com uma função hash SHA-384
-
SHA512_WITH_ECDSA: Chave ECDSA com uma função hash SHA-512
-
-
Para configurar a renovação automática do certificado para evitar interrupções em seu uso, especifique um valor diferente de zero para as definições a seguir e clique em Próximo.
-
Intervalo de Renovação (Dias): Com que frequência o certificado é renovado.
-
Período de Renovação Antecipada (Dias): O número de dias antes da expiração do certificado em que a renovação acontece.
Para flexibilidade suficiente, renovar o certificado antes do final do seu período de validade e com tempo de renovação antecipado suficiente em caso de falhas. Um certificado que expira antes que o serviço possa renová-lo com sucesso pode resultar em interrupções no serviço.
Observação: o certificado não será renovado automaticamente no servidor IIS. Você precisa pegar a nova versão do certificado e recarregá-lo no servidor IIS novamente quando o certificado expirar.
-
-
Verifique todas as informações e clique em Criar Certificado.
-
Depois que o certificado é criado, precisamos criar o
.pem
do certificado que pode ser instalado em nosso servidor IIS. Para criar o arquivo.pem
, precisamos pegar ocert.pem
e okey.pem
privado do certificado que criamos acima. Ocert.pem
pode ser obtido diretamente da Console do OCI em Identidade e Segurança, Certificados, Certificado, Exibir Conteúdo e fazer download do conteúdo dos certificadospem
ecertificate-chain-pem
e criar um único arquivo combinando o conteúdo de ambos comcertificate-pem
na parte superior ecertificate-chain-pem
na parte inferior do arquivo. Para obter a chave privada, podemos usar a CLI do OCI do nosso próprio OCI Cloud Shell e executar o comando abaixo.oci certificates certificate-bundle get --certificate-id=ocid1.certificate.XXXXXXX --bundle-type=CERTIFICATE_CONTENT_WITH_PRIVATE_KEY
-
Você precisa copiar o conteúdo do
private-key-pem
na Seção de Dados da saída do comando e salvá-lo como um arquivo.pem
(digamosprivate.pem
). Assim que tivermos os arquivoscert.pem
eprivate.pem
, poderemos usar OpenSSL para gerar um arquivo.pfx
. Ao copiar o conteúdo do arquivoprivate-key-pem
, talvez seja necessário remover o caractere\n
, pois ele cria alguns problemas de formatação.Observação : a CLI do OCI, OpenSSL e muitas outras ferramentas são pré-instaladas no OCI Cloud Shell, que pode ser usado para executar essas operações com facilidade.
O arquivo
.pem
da chave privada deve ter uma aparência semelhante a esta: -
Você pode usar o comando a seguir para obter o arquivo
.pem
. Use o OCI Cloud Shell nativo para executar todos esses comandos e fornecer uma senha segura para sua chave privada. Você precisará dessa senha ao importar o.pem
.openssl pkcs12 -inkey priv.pem -in cert.pem -export -out iis.pem
Este arquivo
iis.pem
precisa ser copiado para o servidor IIS. Precisaremos importar esteiis.pem
no armazenamento de certificados de máquina local no servidor IIS. Eu já instalei o IIS e criei um site de demonstração. Depois que o certificado for importado, posso ir para o meu site hospedado no IIS e editar o Site Binding e escolher o certificado instalado. Agora estamos prontos para testar o site usando https (http protegido).
Tarefa 4: Testar Site Hospedado do IIS usando Http Protegido (https)
Usamos um site básico do Hello World para mostrar esta demonstração e colocamos o certificado CA raiz (pode ser exportado do Certificate-chain-pem
) na pasta Trusted Root Certification Authority no armazenamento de certificados de máquina local em nossas máquinas clientes usadas para acessar este site. Isso é feito porque as CAs criadas pelo OCI Certificates são CAs privadas e, portanto, não são confiáveis pelos navegadores. Portanto, precisamos adicionar a CA raiz e a CA intermediária (se usadas) no Armazenamento Raiz Confiável/Armazenamento Intermediário em todas as máquinas locais que tentam acessar o site.
Links Relacionados
Agradecimentos
- Autor - Aqib Javid Bhat (Engenheiro Sênior de Nuvem)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Use OCI Certificates Service to Issue an Internal Certificate for Website Hosted on IIS Server
F91001-01
January 2024
Copyright © 2024, Oracle and/or its affiliates.