Configurando Decriptografia e Inspeção de Tráfego de Rede

Configure a autenticação de certificado e segredos do Vault para decriptografar e inspecionar o tráfego de rede.

Os segredos do vault são usados para decriptografar e inspecionar o tráfego SSL/TLS.

A inspeção de entrada SSL decriptografa e inspeciona o tráfego SSL/TLS de entrada de um cliente para um servidor de rede direcionado. Para obter mais informações sobre inspeção de entrada SSL, consulte Inspeção de entrada SSL.

O proxy de encaminhamento SSL decriptografa e inspeciona o tráfego SSL/TLS de usuários internos para a Web. Somente um segredo de proxy de encaminhamento SSL é permitido para cada política de firewall. Para obter mais informações sobre proxy de encaminhamento de SSL, consulte SSL Forward Proxy,

Depois de criar uma política de firewall, você criará um segredo mapeado para mapear o segredo do Vault para uma chave SSL de entrada ou saída. Em seguida, você criará um perfil de decriptografia para controlar como o proxy de encaminhamento e a inspeção de entrada do SSL executam verificações de modo de sessão, do servidor e de falha.

Para obter mais informações sobre como o certificado é usado com uma política de firewall, consulte Criando e Gerenciando Políticas de Firewall.

Tarefa 1: Permitir que o serviço Network Firewall acesse segredos do Vault

Crie uma política do serviço IAM para permitir que a política de firewall acesse e use segredos do Vault.

Para permitir que todas as políticas de firewall acessem segredos do serviço Vault:
Allow any-user to read secret-family in compartment <compartment_ID> where ALL {request.principal.type='networkfirewallpolicy'} 
Para permitir que uma política de firewall acesse segredos do serviço Vault:
Allow any-user to read secret-family in compartment <compartment_ID> where ALL {request.principal.type='networkfirewallpolicy', request.principal.id='<Network Firewall Policy OCID>'}
Advertência

Se essa permissão for revogada posteriormente, o firewall interromperá a decriptografia do tráfego porque o serviço não poderá acessar o segredo mapeado.

Estas políticas substituem a política obsoleta para acessar segredos do Vault:

allow service ngfw-sp-prod to read secret-family in compartment <compartment_name> 
Tarefa 2: Criar um vault e uma chave principal para armazenar o certificado
  1. Crie um vault no qual o certificado será armazenado.
  2. Crie uma chave principal de criptografia no vault.
    Importante

    A chave principal deve ser uma chave simétrica. Você não pode criptografar segredos com chaves assimétricas.
Tarefa 3: Armazenar o certificado

Você pode usar um certificado autoassinado ou assinado por uma autoridade de certificação com o Serviço OCI Network Firewall.

A Oracle fornece um script que você pode usar para gerar um certificado autoassinado.
Importante

  • O serviço Network Firewall valida o certificado fornecido e o armazena na raiz de confiança. Para validar o certificado, forneça toda a cadeia de certificados SSL, incluindo o certificado raiz de certificados intermediários e a chave privada. Faça upload de certificados no formato .pem que estão encapsulados no modelo .json a seguir.
  • Se o certificado folha especificado em "certKeyPair" for um certificado de confiança avançada, ele deverá ter a capacidade de Assinatura da Autoridade de Certificação. Defina o indicador CA como "true".

    Neste exemplo, se "LEAF_CERT_01_PEM_CONTENT" for um certificado de confiança de encaminhamento, seu flag CA deverá ser definido como "true".
    {
      "caCertOrderedList" : [
        "ROOT_CERT01_PEM_CONTENT",
        "INTERMEDIATE_CERT01_PEM_CONTENT",
        "INTERMEDIATE_CERT02_PEM_CONTENT",
      ],
      "certKeyPair": {
        "cert" : "LEAF_CERT_01_PEM_CONTENT",
        "key":   "PRIVATE_KEY_01_PEM_CONTENT"
      }
    }
Para usar um certificado OpenSSL autoassinado, você pode usar um script fornecido pela Oracle para criar um:
  1. Faça download do OpenSSL e instale-o.
  2. Faça download do Perl e instale-o.
  3. Faça download do script do repositório do Oracle GitHub.
  4. Execute o script usando o comando a seguir. Substitua <test.test.com> pelo nome DNS do servidor Web que você precisa proteger:
    ./create-certificate inbound <test.test.com>
    ou
    ./create-certificate forward <test.test.com>
Tarefa 4: Criar segredos no vault

Crie um segredo no vault para cada certificado que você deseja usar.

  1. Abra o menu de navegação, vá para Identity & Security e selecione Vault.
  2. Em Escopo da Lista, na lista Compartimento, selecione o compartimento.
  3. Selecione o vault criado na Tarefa 2: Criar uma chave de vault e principal para armazenar o certificado.

  4. Selecione Segredos e, em seguida, selecione Criar Segredo.
  5. Na caixa de diálogo Criar Segredo, selecione um compartimento na lista Criar no Compartimento. (É possível haver segredos fora do compartimento no qual o vault reside.)
  6. Selecione Nome e informe um nome. Use um nome que corresponda ao tipo de certificado que o segredo contém. Por exemplo, "ssl-inbound-inspection-certificate."
  7. Selecione Descrição e informe uma descrição.
  8. Selecione a chave de criptografia mestra criada na Tarefa 2: Criar um vault ou uma chave mestra para armazenar o certificado.
  9. Especifique o formato do conteúdo do segredo como Texto Simples.
  10. Selecione Conteúdo do Segredo e copie o conteúdo do certificado no campo. (O tamanho máximo permitido para um pacote de segredos é de 25 KB).
  11. Selecione Criar Segredo.
Observação

Exemplo do conteúdo no segredo criado com dados mascarados:
{
  "caCertOrderedList" : [
    "-----BEGIN CERTIFICATE-----\nxxxxxxxxxxx\n-----END CERTIFICATE-----",
    "-----BEGIN CERTIFICATE-----\nxxxxxxxxxxx\n-----END CERTIFICATE-----",
    "-----BEGIN CERTIFICATE-----\nxxxxxxxxxxx\n-----END CERTIFICATE-----"
  ],
  "certKeyPair": {
    "cert" : "-----BEGIN CERTIFICATE-----\nnxxxxxxxxxxx\n-----END CERTIFICATE-----",
    "key":  "-----BEGIN RSA PRIVATE KEY-----\nnnxxxxxxxxxxx\n-----END RSA PRIVATE KEY-----"
  }
}