Criando uma política de IPsec

É possível usar políticas IPsec personalizadas para definir os parâmetros de segurança utilizados durante a Fase 2 da negociação. Nessa fase, a VPN e o dispositivo de peer usam a associação de segurança que é estabelecida durante a Fase 1 para negociar qual tráfego enviar e como autenticar e criptografar esse tráfego.

Para garantir a seleção consistente de algoritmos, faça a correspondência exata entre os algoritmos IKE e IPsec e sua ordem de prioridade no gateway IBM Cloud VPN e no gateway par. Para obter mais informações sobre os fatores que afetam a seleção do algoritmo, consulte Como os algoritmos de criptografia são escolhidos para IKE e IPsec em uma conexão VPN site a site?

Criação de uma política IPsec no console

Para criar uma política IPsec no console, siga estas etapas:

  1. Na página da lista de VPNs para VPC, selecione Gateways site a site > Políticas de IPsec.

  2. Clique em “Criar” e forneça as seguintes informações:

    • Localização- Selecione uma região para esta política de IPsec.
    • Nome - Insira um nome para a política de IPsec.
    • Grupo de recursos - Selecione o grupo de recursos para esta política do IPsec.
    • Encryption (Criptografia )- Selecione o algoritmo de criptografia a ser usado na Fase 2. Por padrão, é selecionado o algoritmo de menor intensidade. Você pode selecionar vários valores para cada campo e reordená-los por prioridade. O gateway VPN negocia com o gateway par para selecionar o melhor algoritmo com suporte mútuo.
    • Authentication (Autenticação )- Selecione o algoritmo de autenticação a ser usado na Fase 2. Por padrão, é selecionado o algoritmo de menor intensidade. Você pode selecionar vários algoritmos de autenticação e reordená-los por prioridade.
    • Perfect Forward Secrecy- Ative essa opção para realizar uma nova troca de Diffie-Hellman durante cada rechaveamento da Fase 2, de modo que, se uma chave for comprometida, o tráfego criptografado anteriormente permanecerá seguro.
    • Grupo Diffie-Hellman (se o PFS estiver ativado) — Selecione o grupo DH a ser usado para a troca de chaves da Fase 2. Por padrão, o grupo DH mais baixo é selecionado. Você pode selecionar vários grupos de DH e reordená-los por prioridade.
    • Tempo de vida da chave- Selecione o tempo de vida, em segundos, para o túnel da Fase 2.
  3. Clique em Criar.

  4. Na página Detalhes da conexão VPN, configure o campo Políticas de IPsec para usar a política de IPsec desejada.

    Para garantir o sucesso da negociação IKE/IPsec, configure os dois pares com pelo menos um algoritmo correspondente em cada categoria (autenticação, criptografia e grupos PF). O alinhamento dessas configurações entre pares ajuda a evitar falhas de conexão.

Criação de uma política IPsec pela CLI

Antes de iniciar, configure o seu ambiente da CLI.

Para criar uma política IPsec pela CLI, digite o seguinte comando:

ibmcloud is ipsec-policy-create IPSEC_POLICY_NAME AUTHENTICATION_ALGORITHMS ENCRYPTION_ALGORITHMS PFSGS [--key-lifetime KEY_LIFETIME] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]

Em que:

  • IPSEC_POLICY_NAME- O nome da política IPsec.
  • AUTHENTICATION_ALGORITHMS- Os algoritmos de autenticação. Deve ser desativado somente se ENCRYPTION_ALGORITHMS contiver algoritmos de modo combinado (aes128gcm16, aes192gcm16, aes256gcm16). Um de: disabled, sha256, sha384, sha512, ou uma lista de algoritmos de autenticação separados por vírgula (sha384,sha256,sha512). A ordem dos algoritmos determina sua prioridade durante a negociação.
  • ENCRYPTION_ALGORITHMS- Os algoritmos de criptografia. Um de: aes128, aes128gcm16, aes192, aes192gcm16, aes256, aes256gcm16, ou uma lista de algoritmos de criptografia separados por vírgula (aes128,aes192,aes256). A ordem dos algoritmos determina sua prioridade durante a negociação.
  • PFSGS – Grupos de Sigilo Perfeito para Transmissão. Um de: disabled, group_14, group_15, group_16, group_17, group_18, group_19, group_20, group_21, group_22, group_23, group_24, group_31, ou uma lista de grupos PFS separados por vírgula (group_14,group_15,group_16). A ordem dos grupos determina sua prioridade durante a negociação.
  • --key-lifetime value - o tempo de vida da chave em segundos. Máximo: 86400, mínimo: 1800. O valor padrão é 3600.
  • --resource-group-id valor- O ID do grupo de recursos. Essa opção é mutuamente exclusiva com --resource-group-name.
  • --resource-group-name valor- O nome do grupo de recursos. Essa opção é mutuamente exclusiva com --resource-group-id.
  • --output value - especifica a saída no formato JSON.
  • -q, --quiet - Suprimir saída detalhada.

md5 e os algoritmos de autenticação sha1, os grupos DH group_2 e group_5 e o algoritmo de criptografia triple_des foram descontinuados em 20 de setembro de 2022 e não têm mais suporte no console.

O número de AUTHENTICATION_ALGORITHMS deve ser disabled se, e somente se, ENCRYPTION_ALGORITHMS for aes128gcm16, aes192gcm16 ou aes256gcm16.

Atualização de uma política IPsec na CLI

Antes de iniciar, configure o seu ambiente da CLI.

Para atualizar uma política IPsec pela CLI, digite o seguinte comando:

ibmcloud is ipsec-policy-update IPSEC_POLICY [--name NEW_NAME] [--authentication-algorithms AUTHENTICATION_ALGORITHMS] [--pfsgs PFSGS] [--encryption-algorithms ENCRYPTION_ALGORITHMS] [--authentication-algorithm AUTHENTICATION_ALGORITHM] [--pfs disabled | group_14 | group_15 | group_16 | group_17 | group_18 | group_19 | group_20 | group_21 | group_22 | group_23 | group_24 | group_31] [--encryption-algorithm aes128 | aes128gcm16 | aes192 | aes192gcm16 | aes256 | aes256gcm16] [--key-lifetime KEY_LIFETIME] [--output JSON] [-q, --quiet]

Em que:

  • --name- O nome da política IPsec.

  • --authentication-algorithms- Uma lista separada por vírgulas de algoritmos de autenticação (recomendado). A ordem dos algoritmos determina sua prioridade durante a negociação.

  • --authentication-algorithm- O algoritmo de autenticação (obsoleto). Deve ser desativado apenas se --encryption_algorithm for aes128gcm16, aes192gcm16 ou aes256gcm16. Um de: disabled, sha256, sha384, sha512

  • --encryption-algorithms- Uma lista separada por vírgulas de algoritmos de criptografia (recomendado). A ordem dos algoritmos determina sua prioridade durante a negociação.

  • --encryption-algorithm- O algoritmo de criptografia (obsoleto). Uma de: aes128, aes128gcm16, aes192, aes192gcm16, aes256, aes256gcm16.

  • --pfsgs- Uma lista separada por vírgulas de grupos de Perfect Forward Secrecy. A ordem dos grupos determina sua prioridade durante a negociação.

  • --pfs- O grupo Perfect Forward Secrecy (obsoleto). Uma de: disabled, group_14, group_15, group_16, group_17, group_18, group_19, group_20, group_21, group_22, group_23, group_24, group_31.

    Não misture propriedades singulares e baseadas em matriz para a mesma categoria de algoritmo em um único comando.

Exemplos de comando

Os valores singulares para authentication algorithms, pfsgs e encryption algorithms, para criar a política IPsec a partir da CLI, estão obsoletos. Em vez disso, use vários valores separados por vírgula.

  • Crie uma política IPsec usando algoritmos de autenticação separados por vírgula (SHA 512 e SHA 256), algoritmos de criptografia (AES 256, AES 192 e AES 128) e grupos de sigilo de encaminhamento perfeito ( group_14 e group_15 ):

    ibmcloud is ipsec-policy-create my-ipsec-policy sha512,sha256 aes256,aes192,aes128 group_14,group_15
    
  • Crie uma política IPsec usando um único algoritmo de autenticação (SHA 256), um único algoritmo de criptografia (AES 128) e o DH Group 14:

    ibmcloud is ipsec-policy-create my-ipsec-policy sha256 aes128 group_14
    
  • Criar uma política de IPsec com os mesmos parâmetros e um tempo de vida de 3600 segundos:

    ibmcloud is ipsec-policy-create my-ipsec-policy sha256 aes128 group_14 --key-lifetime 3600
    
  • Criar uma política de IPsec com os mesmos parâmetros e um ID do grupo de recursos:

    ibmcloud is ipsec-policy-create my-ipsec-policy sha256 aes128 group_14 --resource-group-id fee82deba12e4c0fb69c3b09d1f12345 --output JSON
    
  • Atualize uma política IPsec para alterar o nome, os algoritmos de autenticação para SHA 512 e SHA 256, os algoritmos de criptografia para AES 256, AES 192 e os grupos de perfect forward secrecy para group_15 e group_16:

    ibmcloud is ipsec-policy-update my-ipsec-policy --name new-ipsec-policy --authentication-algorithms sha512,sha256 --encryption-algorithms aes256,aes192 --pfsgs group_15,group_16 --output JSON
    
  • Atualize a política IPsec com a criptografia GCM (autenticação desativada):

    ibmcloud is ipsec-policy-update $ipsec_policy \
       --authentication-algorithms disabled \
       --encryption-algorithms aes128gcm16,aes256gcm16
    

    O authentication_algorithms deve ser definido como disabled se e somente se a lista encryption_algorithms contiver algum algoritmo baseado em GCM (aes128gcm16, aes192gcm16 ou aes256gcm16). GCM fornecem criptografia e integridade de dados incorporada (autenticação) como parte de uma única operação; portanto, não é necessário especificar um algoritmo de autenticação separado (como sha256 ou sha512).

Criação de uma política IPsec por meio da API

As propriedades singulares authentication_algorithm, dh_group, encryption_algorithm e pfs para negociação IPsec estão obsoletas. Use as propriedades baseadas em matriz para criar a política IPsec. Para saber mais sobre as propriedades do algoritmo singular e baseado em matriz para a política IPsec ao usar a API, consulte Atualização para vários algoritmos IKE e IPsec.

Para criar uma política IPsec com vários algoritmos usando as propriedades baseadas em matriz (recomendado), siga estas etapas:

  1. Configure o seu Ambiente de API com as variáveis direitas.

  2. Armazene qualquer variável adicional a ser usada nos comandos da API, por exemplo:

ResourceGroupId - Localize o ID do grupo de recursos usando o comando get resource groups e, em seguida, preencha a variável:

 export ResourceGroupId=<your_resourcegroup_id>
  1. Crie a política IPsec:

       curl -X POST "$vpc_api_endpoint/v1/ipsec_policies?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token" \
         -d '{
            "name": "my-new-ipsec-policy",
            "authentication_algorithms": ["sha256", "sha512"],
            "encryption_algorithms": ["aes128", "aes256"],
            "pfs_groups": ["group_14", "group_15", "group_16", "group_17", "group_18"],
            "resource_group": {
              "id": "'$ResourceGroupId'"
            }
          }'
    

Crie uma política IPsec com encryption_algorithms definido como GCM-based algorithms e authentication_algorithms definido como disabled:

   curl -X POST "$vpc_api_endpoint/v1/ipsec_policies?version=$api_version&generation=2" \
   -H "Authorization: Bearer $iam_token" \
   -d '{
      "name": "gcm-ipsec-policy",
      "encryption_algorithms": ["aes128gcm16","aes192gcm16","aes256gcm16"],
      "authentication_algorithms": ["disabled"],
      "pfs_groups": ["group_14","group_15","group_16","group_17","group_18"],
      "resource_group": {
        "id": "'$ResourceGroupId'"
      }
    }'

A propriedade authentication_algorithms deve ser definida como disabled se e somente se a lista encryption_algorithms contiver algum algoritmo baseado em GCM (aes128gcm16, aes192gcm16 ou aes256gcm16). GCM fornecem criptografia e integridade de dados incorporada (autenticação) como parte de uma única operação; portanto, não é necessário especificar um algoritmo de autenticação separado (como sha256 ou sha512).

Para criar uma política IPsec com a API usando propriedades singulares (obsoletas), siga estas etapas:

  1. Configure o seu Ambiente de API com as variáveis direitas.

  2. Armazene qualquer variável adicional a ser usada nos comandos da API, por exemplo:

ResourceGroupId - Localize o ID do grupo de recursos usando o comando get resource groups e, em seguida, preencha a variável:

 export ResourceGroupId=<your_resourcegroup_id>
  1. Crie a política IPsec:
   curl -X POST "$vpc_api_endpoint/v1/ipsec_policies?version=$api_version&generation=2" \
     -H "Authorization: Bearer $iam_token" \
     -d '{
        "name": "my-new-ipsec-policy",
        "authentication_algorithm": "sha256",
        "encryption_algorithm": "aes128",
        "pfs": "group_14",
        "resource_group": {
          "id": "'$ResourceGroupId'"
        }
      }'

Atualização de uma política IPsec com a API

Para atualizar uma política IPsec com a API usando as propriedades baseadas em matriz (recomendado), siga estas etapas:

  1. Configure o seu Ambiente de API com as variáveis direitas.

  2. Armazene qualquer variável adicional a ser usada nos comandos da API, por exemplo:

ResourceGroupId - Localize o ID do grupo de recursos usando o comando get resource groups e, em seguida, preencha a variável:

export ResourceGroupId=<your_resourcegroup_id>
  1. Atualizar a política IPsec:
   curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
     -H "Authorization: Bearer $iam_token" \
     -d '{
         "name": "my-updated-ipsec-policy",
         "authentication_algorithms": ["sha512", "sha384", "sha256"],
         "encryption_algorithms": ["aes256", "aes128"],
         "pfs_groups": ["group_18", "group_17", "group_16", "group_15", "group_14"],
      }'

Para atualizar uma política IPsec com a API usando propriedades singulares (obsoletas), siga estas etapas:

Você pode atualizar as políticas IPsec usando propriedades singulares obsoletas ou propriedades baseadas em matriz. Ambas as formas são aceitas, mas você não deve misturar propriedades singulares e baseadas em matriz para a mesma categoria de algoritmo em uma única solicitação.

  1. Configure o seu Ambiente de API com as variáveis direitas.

  2. Armazene qualquer variável adicional a ser usada nos comandos da API, por exemplo:

ResourceGroupId - Localize o ID do grupo de recursos usando o comando get resource groups e, em seguida, preencha a variável:

export ResourceGroupId=<your_resourcegroup_id>
  1. Atualizar a política IPsec:
   curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
     -H "Authorization: Bearer $iam_token" \
     -d '{
         "name": "my-updated-ipsec-policy",
         "authentication_algorithm": "sha512",
         "encryption_algorithm": "aes256",
           "pfs": "group_18",
      }'

Para ver o conjunto completo de APIs para gateways de VPN site a site, consulte a referência da API VPC.

Criando uma política IPsec usando o Terraform

No exemplo a seguir, é possível criar uma política IPsec usando o Terraform:

   resource "ibm_is_ipsec_policy" "is_ipsec_policy" {
     name                     = "my-ipsec-policy"
     authentication_algorithm = "sha256"
     encryption_algorithm     = "aes128"
     pfs                      = "group_14"
   }
  1. No exemplo a seguir, é possível criar uma política IPsec com propriedades baseadas em matriz (recomendado) usando o Terraform:
   resource "ibm_is_ipsec_policy" "is_ipsec_policy" {
     name                     = "my-ipsec-policy"
     authentication_algorithms = ["sha512", "sha384"]
     encryption_algorithms     = ["aes128", "aes192"]
     pfs_groups                = ["group_14", "group_15"]
   }
  1. No exemplo a seguir, é possível criar uma política IPsec com propriedades individuais (obsoleta) usando o Terraform:
   resource "ibm_is_ipsec_policy" "is_ipsec_policy" {
     name                     = "my-ipsec-policy"
     authentication_algorithm = "sha256"
     encryption_algorithm     = "aes128"
     pfs                      = "group_14"
   }

Não misture propriedades no singular e baseadas em matriz para a mesma categoria de algoritmo em uma única solicitação.

Para obter mais informações, consulte o registro do Terraform.

Próximas etapas

Depois de criar uma política IPsec, conclua as seguintes tarefas, conforme necessário: