Usar a autenticação MD5

O Cloud Router usa o Border Gateway Protocol (BGP) para trocar rotas entre uma rede de nuvem privada virtual (VPC) e uma rede de app semelhante. Por padrão, as sessões do BGP do Cloud Router não são autenticadas. No entanto, quando você usa o Cloud Router com determinados produtos, é possível configurar suas sessões do BGP para usar a autenticação MD5.

Os produtos que podem usar a autenticação MD5 incluem:

Também é possível usar a autenticação MD5 com dispositivos virtuais de rede de terceiros. Para mais informações, consulte Dispositivo roteador na documentação do Network Connectivity Center.

Ao configurar uma sessão para usar a autenticação MD5, você fornece uma chave compartilhada secreta - uma chave a ser usada ao configurar o Cloud Router e novamente ao configurar o roteador de mesmo nível. Depois de concluir as etapas de configuração necessárias, o Cloud Router usará essa chave para autenticar o app semelhante do BGP. O Cloud Router aplica a autenticação MD5 usando o modelo descrito na RFC 2385.

É possível adicionar a autenticação MD5 ao criar um app semelhante. Também é possível adicionar a autenticação a uma sessão existente, alterar a chave usada por uma sessão ou remover a autenticação.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

    gcloud init
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  1. Se você estiver usando a Google Cloud CLI, defina o ID do projeto executando o comando a seguir. As instruções do gcloud nesta página presumem que você definiu o ID do projeto.
    gcloud config set project PROJECT_ID
        
  1. Confirme se o ID foi definido executando o seguinte comando:
    gcloud config list --format='text(core.project)'
        

Criar uma sessão que usa autenticação

Em alguns produtos de conectividade de rede, é possível configurar um app semelhante do BGP para usar a autenticação MD5 enquanto cria o recurso. Esses produtos incluem a VPN de alta disponibilidade e a Interconexão dedicada.

Para saber mais, consulte as seguintes seções:

Se você estiver criando um anexo da VLAN na Interconexão por parceiro de nível 2, crie o anexo primeiro e, em seguida, atualize o app semelhante do BGP para adicionar a autenticação MD5. Para informações sobre como adicionar autenticação ao atualizar uma sessão do BGP, consulte a seção a seguir. Se você tiver uma conexão da camada 3, entre em contato com seu provedor de serviços para receber instruções.

Adicionar autenticação a uma sessão existente

Para adicionar a autenticação a um peering de BGP existente, use um dos procedimentos a seguir. Ao adicionar autenticação, verifique se a chave usada é idêntica à usada pelo roteador de app semelhante.

O Google Cloud não exibe a chave de autenticação MD5 e exibe apenas o nome da chave após a configuração bem-sucedida.

  • Se você configurar a autenticação MD5 usando a gcloud ou a IU, o Google Cloud gerará automaticamente o nome da chave no formato PEER_NAME-key.
  • Se você configurar a autenticação MD5 pela API, poderá especificar o nome da chave.

Console

  1. No console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. No campo Nome, clique no nome do Cloud Router apropriado.

  3. Na página Detalhes do roteador, clique no nome da sessão do BGP que você quer modificar.

  4. Na página de detalhes da sessão do BGP, clique em Editar.

  5. Para adicionar a autenticação MD5:

    1. Na seção Autenticação MD5, selecione Ativada. A página é atualizada para incluir um campo de texto.
    2. Digite uma chave de segurança ou, para gerar uma nova, clique em Gerar e copiar.
    3. Anote a chave. Depois de sair desta página, não será possível recuperar a chave.

  6. Clique em Salvar.

gcloud

Para atualizar a sessão com a CLI gcloud, use o comando gcloud compute routers update-bgp-peer:

  gcloud compute routers update-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME \
     --region=REGION \
     --md5-authentication-key=SECRET_KEY
 

Substitua os seguintes valores:

  • ROUTER_NAME: o nome do Cloud Router
  • PEER_NAME: o nome do app semelhante do BGP
  • REGION: a região do Google Cloud
  • SECRET_KEY: a chave de autenticação MD5 compartilhada do secret

API

Para atualizar a sessão usando a API, utilize o método compute.routers.patch. Quando você usa esse método para adicionar autenticação à sessão, a solicitação precisa fazer duas coisas:

  • Adicione uma entrada para a chave na matriz md5AuthenticationKeys. Ao adicionar a entrada, você fornece um nome e um valor para a chave.
  • Atualize a matriz bgpPeers para incluir um valor para o campo md5AuthenticationKeyName. Esse campo faz referência à chave por nome.

Ao fazer patch da matriz md5AuthenticationKeys, é preciso fornecer o name de cada item na matriz (a menos que você queira remover alguns itens). No entanto, não é necessário fornecer o valor do campo key de cada item. Se você omitir esse valor, o Cloud Router manterá o valor anterior que foi usado. Esse comportamento foi criado para proteger o segredo das chaves. Ele é diferente de outros métodos de patch, que normalmente exigem a especificação de um valor para cada campo em um item da matriz.

Ao corrigir a matriz bgpPeers, é preciso fornecer valores para cada campo em cada item, a menos que você queira remover alguns apps semelhantes ou alguns valores.

Por exemplo, suponha que o Cloud Router tenha dois apps semelhantes, um que usa a autenticação MD5 e outro que não. Se quiser manter o primeiro inalterado, mas adicionar a autenticação MD5 ao segundo, use uma solicitação como a seguinte:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
  {
    "md5AuthenticationKeys": [
      {
        "name": "KEY_NAME_1",
      },
      {
        "name": "KEY_NAME_2",
        "key": "SECRET_KEY"
      }
    ],
    "bgpPeers": [
      {
        "name": "PEER_NAME_1",
        "md5AuthenticationKeyName": "KEY_NAME_1",
        "interfaceName": "INTERFACE_NAME_1",
        "ipAddress": "IP_ADDRESS_1",
        "peerIpAddress": "PEER_IP_ADDRESS_1",
        "peerAsn": "PEER_ASN_1"
      },
      {
        "name": "PEER_NAME_2",
        "md5AuthenticationKeyName": "KEY_NAME_2",
        "interfaceName": "INTERFACE_NAME_2",
        "ipAddress": "IP_ADDRESS_2",
        "peerIpAddress": "PEER_IP_ADDRESS_2",
        "peerAsn": "PEER_ASN_2"
      }
    ],
  }
 

Substitua os seguintes valores:

  • PROJECT_ID: o projeto que contém o Cloud Router
  • REGION: a região do Google Cloud
  • ROUTER_NAME: o nome do Cloud Router
  • KEY_NAME_1: o nome da chave que está em uso atual (por PEER_NAME_1)
  • KEY_NAME_2: o nome da nova chave que você quer adicionar para PEER_NAME_2. Anote o nome. Se você quiser fazer alterações mais tarde usando a API, precisará do nome.
  • SECRET_KEY: chave de autenticação MD5 secreta que você está adicionando para PEER_NAME_2.
  • PEER_NAME_1: o nome do app semelhante do BGP que você não está mudando.
  • INTERFACE_NAME_1: o nome da interface da sessão de peering do BGP que não será alterada.
  • IP_ADDRESS_1: o endereço IP do Cloud Router (para o par que não vai mudar)
  • PEER_IP_ADDRESS_1: o endereço IP do app semelhante que não muda
  • PEER_ASN_1: o número do sistema autônomo (ASN, na sigla em inglês) do BGP para o par que não vai mudar.
  • PEER_NAME_2: o nome do peering do BGP que você quer atualizar para que use a autenticação MD5
  • INTERFACE_NAME_2: o nome da interface da sessão de peering do BGP.
  • IP_ADDRESS_2: o endereço IP do Cloud Router
  • PEER_IP_ADDRESS_2: o endereço IP do roteador de app semelhante
  • PEER_ASN_2: o número de sistema autônomo (ASN, na sigla em inglês) do BGP para esse app semelhate do BGP

Atualizar a chave de autenticação

Para alterar a chave que o Cloud Router usa em uma sessão de peering, use um dos procedimentos a seguir. Ao atualizar a chave no Cloud Router, verifique se ela é idêntica à usada pelo roteador de app semelhante.

O Google Cloud não exibe a chave de autenticação MD5 e exibe apenas o nome da chave após a configuração bem-sucedida.

  • Se você configurar a autenticação MD5 usando a gcloud ou a IU, o Google Cloud gerará automaticamente o nome da chave no formato PEER_NAME-key.
  • Se você configurar a autenticação MD5 pela API, poderá especificar o nome da chave.

Console

  1. No console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. No campo Nome, clique no nome do Cloud Router apropriado.

  3. Na página Detalhes do roteador, clique no nome da sessão do BGP que você quer modificar.

  4. Na página de detalhes da sessão do BGP, clique em Editar.

  5. Na seção Autenticação MD5, clique em Atualizar chave de autenticação MD5.

  6. No campo Chave de autenticação MD5, insira a nova chave de autenticação secreta ou, para preencher o campo, clique em Gerar e copiar.

  7. Anote a chave. Depois de sair desta página, não será possível recuperar a chave.

  8. Clique em Salvar.

gcloud

Para atualizar a sessão, use o comando gcloud compute routers update-bgp-peer.

  gcloud compute routers update-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME \
     --region=REGION \
     --md5-authentication-key=SECRET_KEY
 

Substitua os seguintes valores:

  • ROUTER_NAME: o nome do Cloud Router
  • PEER_NAME: o nome do app semelhante do BGP
  • REGION: a região do Google Cloud
  • SECRET_KEY: a nova chave de autenticação MD5 secreta que você quer usar.

API

Para atualizar a sessão, use o método compute.routers.patch. Por exemplo, use uma solicitação como a mostrada a seguir.

Este exemplo substitui toda a matriz de peering, não apenas o app semelhante específico identificado. Ou seja, ele remove todos os apps semelhantes, exceto PEER_NAME. Isso remove todas as chaves, exceto KEY_NAME, e atualiza a KEY_NAME com o novo valor UPDATED_SECRET_KEY.

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
  {
    "md5AuthenticationKeys": [
       {
        "name": "KEY_NAME",
        "key": "UPDATED_SECRET_KEY"
      }
    ],

    "bgpPeers": [
      {
        "name": "PEER_NAME",
        "md5AuthenticationKeyName": "KEY_NAME",
        "interfaceName": "INTERFACE_NAME",
        "ipAddress": "IP_ADDRESS",
        "peerIpAddress": "PEER_IP_ADDRESS",
        "peerAsn": "PEER_ASN"
      }
    ],
  }
 

Substitua os seguintes valores:

  • PROJECT_ID: o projeto que contém o Cloud Router
  • REGION: a região do Google Cloud
  • ROUTER_NAME: o nome do Cloud Router
  • KEY_NAME: o nome da chave que você quer atualizar. Sempre que você trabalhar com a autenticação MD5 usando a API, será necessário fazer referência à chave pelo nome.
  • UPDATED_SECRET_KEY: a nova chave de autenticação MD5 do secret
  • PEER_NAME: o nome do app semelhante do BGP
  • INTERFACE_NAME: o nome da interface da sessão de peering do BGP.
  • IP_ADDRESS: o endereço IP do Cloud Router
  • PEER_IP_ADDRESS: o endereço IP do roteador de app semelhante
  • PEER_ASN: o número de sistema autônomo (ASN, na sigla em inglês) do BGP para esse app semelhate do BGP

Verificar o status da autenticação

Siga estas etapas para verificar o status da autenticação MD5. Consulte também Ver detalhes do Cloud Router.

Console

  1. No console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. No campo Nome, clique no nome do Cloud Router apropriado.

  3. Na página Detalhes do roteador, procure a coluna Autenticação MD5. Para cada sessão, o valor nesta coluna indica se a autenticação MD5 está ativada.

gcloud

Para verificar a sessão usando a CLI do gcloud, use o comando gcloud compute routers get-status.

  gcloud compute routers get-status ROUTER_NAME \
     --project=PROJECT \
     --region=REGION \
 

Substitua os seguintes valores:

  • ROUTER_NAME: o nome do Cloud Router
  • PROJECT: o nome do projeto.
  • REGION: a região do Google Cloud

A saída inclui o objeto result.bgpPeerStatus[], que contém informações sobre as sessões do BGP do Cloud Router. Os dados sobre cada sessão incluem os dois campos a seguir:

  • md5AuthEnabled: um campo booleano que indica se a autenticação MD5 está ativada para a sessão
  • statusReason - um campo que descreve o status da sessão

API

Use o método routers.getRouterStatus.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus

Substitua:

  • PROJECT_ID: o projeto que contém o Cloud Router
  • REGION: a região onde o Cloud Router está localizado
  • ROUTER_NAME: o nome do Cloud Router

A saída inclui informações sobre cada sessão do BGP. Os dados sobre cada sessão incluem os dois campos a seguir:

  • md5AuthEnabled: um campo booleano que indica se a autenticação MD5 está ativada para a sessão.
  • statusReason: um campo que descreve o status da sessão. Este campo é exibido apenas quando há um problema com a autenticação MD5. (Nesse caso, o valor do campo será MD5_AUTH_INTERNAL_PROBLEM.)

Para configurar o monitoramento contínuo das suas sessões do BGP, use o Cloud Logging. O Logging grava informações sobre o status de autenticação MD5 no evento do BGP, que faz parte do Registro de informações.

Remover a autenticação de uma sessão

Se você quiser remover a autenticação MD5 de uma sessão do BGP, será necessário remover a autenticação MD5 do Cloud Router e do roteador de peering.

Para remover a autenticação MD5 da sessão do BGP no Cloud Router, use um dos seguintes procedimentos.

Console

  1. No console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. No campo Nome, clique no nome do Cloud Router apropriado.

  3. Na página Detalhes do roteador, clique no nome da sessão do BGP que você quer modificar.

  4. Na página de detalhes da sessão do BGP, clique em Editar.

  5. Em Autenticação MD5, clique em Desativado.

  6. Clique em Salvar. A caixa de diálogo Desativar chave de autenticação MD5 vai ser exibida.

  7. Na caixa de diálogo, clique em Confirmar.

gcloud

Para remover a autenticação MD5, use o comando gcloud compute routers update-bgp-peer:

   gcloud compute routers update-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME \
     --region=REGION \
     --clear-md5-authentication-key

Substitua os seguintes valores:

  • ROUTER_NAME: o nome do Cloud Router
  • PEER_NAME: o nome do app semelhante do BGP
  • REGION: a região do Google Cloud

API

Para remover a autenticação MD5, use o método compute.routers.patch.

Quando você remove a autenticação com a API, a atualização precisa fazer duas coisas:

  • Atualizar a matriz md5AuthenticationKeys
  • Remover o valor md5AuthenticationKey da entrada bgpPeers relevante.

Por exemplo, se o Cloud Router tiver dois peerings do BGP e você quiser remover a autenticação MD5 de um deles. Nesse caso, use uma solicitação como a seguinte:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
  {
    "md5AuthenticationKeys": [
        "name": "KEY_NAME_FOR_UNCHANGED_PEER",
        ],
    "bgpPeers": [
      {
        "name": "NAME_OF_UPDATED_PEER",
        "interfaceName": "INTERFACE_NAME_FOR_UPDATED_PEER",
        "ipAddress": "IP_ADDRESS_FOR_UPDATED_PEER",
        "peerIpAddress": "PEER_IP_ADDRESS_FOR_UPDATED_PEER",
        "peerAsn": "PEER_ASN_FOR_UPDATED_PEER"
      },
      {
        "name": "NAME_OF_UNCHANGED_PEER",
        "interfaceName": "INTERFACE_NAME_FOR_UNCHANGED_PEER",
        "ipAddress": "IP_ADDRESS_FOR_UNCHANGED_PEER",
        "peerIpAddress": "PEER_IP_ADDRESS_FOR_UNCHANGED_PEER",
        "peerAsn": "PEER_ASN_FOR_UNCHANGED_PEER"
        "md5AuthenticationKeyName": "KEY_NAME_FOR_UNCHANGED_PEER"
      }
    ],
    ],
  }
 

Substitua os seguintes valores:

  • PROJECT_ID: o projeto que contém o Cloud Router
  • REGION: a região do Google Cloud em que o Cloud Router está localizado.
  • ROUTER_NAME: o nome do Cloud Router
  • NAME_OF_UPDATED_PEER: o nome da sessão de peering que você quer modificar.
  • INTERFACE_NAME_FOR_UPDATED_PEER: o nome da interface do app semelhante do BGP que você quer modificar
  • IP_ADDRESS_FOR_UPDATED_PEER: o endereço IP do Cloud Router usado pelo app semelhante que você quer modificar
  • PEER_IP_ADDRESS_FOR_UPDATED_PEER: o endereço IP do roteador de app semelhante para a sessão de peering que você quer modificar
  • PEER_ASN: o número do sistema autônomo (ASN, na sigla em inglês) do BGP para este app semelhante do BGP que você quer modificar.
  • NAME_OF_UNCHANGED_PEER: o nome da sessão de peering que você quer manter como está
  • INTERFACE_NAME_FOR_UNCHANGED_PEER: o nome da interface do app semelhante do BGP que você quer manter como está
  • IP_ADDRESS_FOR_UNCHANGED_PEER: o endereço IP do Cloud Router usado pelo app semelhante que você quer manter
  • PEER_IP_ADDRESS_FOR_UNCHANGED_PEER: o endereço IP do roteador de app semelhante para a sessão de peering que você quer manter
  • PEER_ASN_FOR_UNCHANGED_PEER: o número do sistema autônomo (ASN, na sigla em inglês) do BGP para o app semelhante do BGP que você quer manter como está.
  • KEY_NAME_FOR_UNCHANGED_PEER: o nome da chave de autenticação MD5 para o peering do BGP que você quer manter como está

Remover uma sessão que usa autenticação

Para remover uma sessão de peering que usa autenticação MD5, siga um dos procedimentos a seguir.

Console

  1. No console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. Selecione o roteador do qual você quer remover uma sessão do BGP.
  3. Em Sessões do BGP, selecione a sessão do BGP que você quer remover.
  4. Na parte superior da página, clique em Excluir e confirme a exclusão.

gcloud

Para remover uma sessão do BGP com a autenticação MD5 ativada, use o comando gcloud compute routers remove-bgp-peer.

Veja mais informações em Desativar ou remover sessões do BGP.

API

Para remover uma sessão do BGP com a autenticação MD5 ativada, use o método compute.routers.patch.

Quando você remove uma sessão do BGP com autenticação MD5 usando a API, a atualização precisa fazer duas coisas: remover a chave da matriz md5AuthenticationKeys e remover a bgpPeer.

Por exemplo, suponha que o Cloud Router tenha dois apps semelhantes e você queira remover um deles. Nesse caso, use uma solicitação como esta:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
  {
    "md5AuthenticationKeys": [
        "name": "KEY_NAME_FOR_RETAINED_PEER",
        ],
    "bgpPeers": [
      {
        "name": "NAME_OF_RETAINED_PEER",
        "interfaceName": "INTERFACE_FOR_RETAINED_PEER",
        "ipAddress": "IP_ADDRESS_FOR_RETAINED_PEER",
        "peerIpAddress": "PEER_IP_ADDRESS_FOR_RETAINED_PEER",
        "peerAsn": "PEER_ASN_FOR_RETAINED_PEER",
        "md5AuthenticationKeyName": "KEY_NAME_FOR_RETAINED_PEER"
      }
    ],
  }
 

Substitua os seguintes valores:

  • PROJECT_ID: o projeto que contém o Cloud Router
  • REGION: a região do Google Cloud
  • ROUTER_NAME: o nome do Cloud Router
  • KEY_NAME_FOR_RETAINED_PEER: o nome da chave usada pelo app semelhante que você está mantendo
  • NAME_OF_RETAINED_PEER: o nome do app semelhante do BGP que você está mantendo
  • INTERFACE_FOR_RETAINED_PEER: o nome da interface do app semelhante do BGP que você está mantendo
  • IP_ADDRESS_FOR_RETAINED_PEER: o endereço IP do Cloud Router para o app semelhante que você está mantendo
  • PEER_IP_ADDRESS_FOR_RETAINED_PEER: o endereço IP do app semelhante que você está mantendo
  • PEER_ASN_FOR_RETAINED_PEER: o número do sistema autônomo (ASN, na sigla em inglês) do BGP para o app semelhante que você está mantendo
  • KEY_NAME_FOR_RETAINED_PEER: o nome da chave de autenticação MD5 para o peering do BGP que você está mantendo.

Por exemplo, suponha que você tenha criado os seguintes apps semelhantes:

  PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name
  {
    "md5AuthenticationKeys": [
      {
        "name":  "first_key_name",
        "key":  "first_secret_key_value"
      },
      {
        "name":  "second_key_name",
        "key":  "second_secret_key_value"
      }
    ],
    "bgpPeers": [
      {
        "name": "first_peer",
        "md5AuthenticationKeyName": "first_key_name",
        "interfaceName": "first_interface",
        "ipAddress": "first_address",
        "peerIpAddress": "first_peer_interface",
        "peerAsn": "first_peer_asn"
      },
      {
        "name": "second_peer",
        "md5AuthenticationKeyName": "second_key_name",
        "interfaceName": "second_interface",
        "ipAddress": "second_address",
        "peerIpAddress": "second_peer_interface",
        "peerAsn": "second_peer_asn"
      }
    ],
  }
 

Em seguida, se você quiser remover o segundo app semelhante, use uma solicitação como a seguinte:

  PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name
  {
    "md5AuthenticationKeys": [
      {
        "name":  "first_key_name",
      }
    ],
    "bgpPeers": [
      {
        "name": "first_peer",
        "md5AuthenticationKeyName": "first_key_name",
        "interfaceName": "first_interface",
        "ipAddress": "first_address",
        "peerIpAddress": "first_peer_interface",
        "peerAsn": "first_peer_asn"
      }
    ],
  }
 

A seguir