Como configurar o IPsec usando autenticação de certificado - FSx para ONTAP

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como configurar o IPsec usando autenticação de certificado

Os tópicos a seguir fornecem instruções para configurar a criptografia IPsec usando autenticação de certificado em um sistema de arquivos FSx for ONTAP e em um cliente executando o Libreswan IPsec. Essa solução usa AWS Certificate Manager e AWS Private Certificate Authority para criar uma autoridade de certificação privada e para gerar os certificados.

As etapas de alto nível para configurar a criptografia IPsec usando autenticação de certificado no FSx para sistemas de arquivos ONTAP e clientes conectados são as seguintes:

  1. Tenha uma autoridade de certificação para emitir certificados.

  2. Gere e exporte certificados CA para o sistema de arquivos e o cliente.

  3. Instale o certificado e configure o IPsec na instância do cliente.

  4. Instale o certificado e configure o IPsec em seu sistema de arquivos.

  5. Defina o banco de dados de políticas de segurança (SPD).

  6. Configure o IPsec para acesso a vários clientes.

Como criar e instalar certificados CA

Para autenticação de certificado, você precisa gerar e instalar certificados de uma autoridade de certificação em seu sistema de arquivos do FSx para ONTAP e nos clientes que acessarão os dados do sistema de arquivos. O exemplo a seguir é usado AWS Private Certificate Authority para configurar uma autoridade de certificação privada e gerar os certificados para instalação no sistema de arquivos e no cliente. Usando AWS Private Certificate Authority, você pode criar uma hierarquia totalmente AWS hospedada de autoridades de certificação (CAs) raiz e subordinadas para uso interno de sua organização. Esse processo tem cinco etapas:

  1. Crie uma autoridade de certificação (CA) privada usando AWS Private CA

  2. Emitir e instalar o certificado raiz na CA privada

  3. Solicite um certificado privado AWS Certificate Manager para seu sistema de arquivos e clientes

  4. Exportar o certificado para o sistema de arquivos e os clientes

Para obter mais informações, consulte Administração de CA privada no Guia AWS Private Certificate Authority do usuário.

Criar a CA privada raiz
  1. Ao criar uma CA, especifique a configuração da CA em um arquivo fornecido por você. O comando a seguir usa o editor de texto Nano para criar o arquivo ca_config.txt, que especifica as seguintes informações:

    • O nome do algoritmo

    • O algoritmo de assinatura que a CA usa para assinar

    • Informações do assunto X.500

    $ > nano ca_config.txt

    O editor de texto é exibido.

  2. Edite o arquivo com as especificações da sua CA.

    { "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"Sales", "State":"WA", "Locality":"Seattle", "CommonName":"*.ec2.internal" } }
  3. Salve e feche o arquivo, saindo do editor de texto. Para obter mais informações, consulte Procedimento para criar uma CA no Guia AWS Private Certificate Authority do Usuário.

  4. Use o comando create-certificate-authority AWS Private CA CLI para criar uma CA privada.

    ~/home > aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 --region aws-region

    Se obtiver êxito, esse comando produz o nome de recurso da Amazon (ARN) da CA.

    { "CertificateAuthorityArn": "arn:aws:acm-pca:aws-region:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012" }
Para criar e instalar um certificado para a CA raiz privada (AWS CLI)
  1. Gere uma solicitação de assinatura de certificado (CSR) usando o comando get-certificate-authority-csr AWS CLI.

    $ aws acm-pca get-certificate-authority-csr \ --certificate-authority-arn arn:aws:acm-pca:aws-region:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012 \ --output text \ --endpoint https://acm-pca.aws-region.amazonaws.com \ --region eu-west-1 > ca.csr

    O arquivo resultante ca.csr, um arquivo PEM codificado no formato base64, tem a seguinte aparência.

    -----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= -----END CERTIFICATE-----

    Para obter mais informações, consulte Instalando um certificado CA raiz no Guia AWS Private Certificate Authority do usuário.

  2. Use o issue-certificate AWS CLI comando para emitir e instalar o certificado raiz em sua CA privada.

    $ aws acm-pca issue-certificate \ --certificate-authority-arn arn:aws:acm-pca:aws-region:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012 \ --csr file://ca.csr \ --signing-algorithm SHA256WITHRSA \ --template-arn arn:aws:acm-pca:::template/RootCACertificate/V1 \ --validity Value=3650,Type=DAYS --region aws-region
  3. Baixe o certificado raiz usando o get-certificate AWS CLI comando.

    $ aws acm-pca get-certificate \ --certificate-authority-arn arn:aws:acm-pca:aws-region:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012 \ --certificate-arn arn:aws:acm-pca:aws-region:486768734100:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/abcdef0123456789abcdef0123456789 \ --output text --region aws-region > rootCA.pem
  4. Instale o certificado raiz em sua CA privada usando o import-certificate-authority-certificate AWS CLI comando.

    $ aws acm-pca import-certificate-authority-certificate \ --certificate-authority-arn arn:aws:acm-pca:aws-region:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012 \ --certificate file://rootCA.pem --region aws-region
Gerar e exportar o certificado do sistema de arquivos e do cliente
  1. Use o request-certificate AWS CLI comando para solicitar um AWS Certificate Manager certificado para usar em seu sistema de arquivos e clientes.

    $ aws acm request-certificate \ --domain-name *.ec2.internal \ --idempotency-token 12345 \ --region aws-region \ --certificate-authority-arn arn:aws:acm-pca:aws-region:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012

    Se a solicitação for bem-sucedida, o ARN do certificado emitido será retornado.

  2. Por segurança, você deve atribuir uma frase-senha para a chave privada ao exportá-la. Crie uma frase-senha e armazene-a em um arquivo chamado passphrase.txt

  3. Use o export-certificate AWS CLI comando para exportar o certificado privado emitido anteriormente. O arquivo exportado contém o certificado, a cadeia de certificados e a chave RSA privada criptografada de 2048 bits associada à chave pública incorporada ao certificado. Por segurança, você deve atribuir uma frase-senha para a chave privada ao exportá-la. O exemplo a seguinte é de uma instância do LInux EC2.

    $ aws acm export-certificate \ --certificate-arn arn:aws:acm:aws-region:111122223333:certificate/12345678-1234-1234-1234-123456789012 \ --passphrase $(cat passphrase.txt | base64)) --region aws-region > exported_cert.json
  4. Use os comandos jq a seguir para extrair a chave privada e o certificado da resposta JSON.

    $ cat exported_cert.json | jq -r .PrivateKey > prv.key cat exported_cert.json | jq -r .Certificate > cert.pem openssl rsa -in prv.key -passin pass:$passphrase -out decrypted.key
  5. Use os comandos openssl a seguir para decriptografar a chave privada da resposta JSON. Depois de inserir o comando, você será solicitado a digitar a frase-senha.

    $ openssl rsa -in prv.key -passin pass:$passphrase -out decrypted.key

Instalação e configuração do Libreswan IPsec em um cliente Amazon Linux 2

As seções a seguir fornecem instruções para instalar e configurar o Libreswan IPsec em uma instância do Amazon EC2 que executa o Amazon Linux 2.

Instalar e configurar o Libreswan
  1. Conecte-se à sua instância do EC2 usando SSH. Para obter instruções específicas sobre como fazer isso, consulte Conectar-se à instância do Linux usando um cliente SSH no Guia do usuário do Amazon Elastic Compute Cloud para instâncias do Linux..

  2. Execute o comando a seguir para instalar o libreswan:

    $ sudo yum install libreswan
  3. (Opcional) Ao verificar o IPsec em uma etapa posterior, essas propriedades poderão ser sinalizadas sem essas configurações. Sugerimos testar sua instalação primeiro sem essas configurações. Se sua conexão tiver problemas, retorne a esta etapa e faça as alterações a seguir.

    Após a conclusão da instalação, use seu editor de texto preferencial para adicionar as entradas a seguir ao arquivo /etc/sysctl.conf.

    net.ipv4.ip_forward=1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.lo.accept_redirects = 0 net.ipv4.conf.lo.send_redirects = 0 net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.eth0.rp_filter = 0

    Salve as alterações e saia do editor de texto.

  4. Aplique as alterações:

    $ sudo sysctl -p
  5. Verifique a configuração do IPsec.

    $ sudo ipsec verify

    Verifique se a versão do Libreswan que você instalou está em execução.

  6. Inicialize o banco de dados IPsec NSS.

    $ sudo ipsec checknss
Instalar o certificado no cliente
  1. Copie o certificado que você gerou para o cliente no diretório de trabalho da instância do EC2. Você

  2. Exporte o certificado gerado anteriormente em um formato compatível com o libreswan.

    $ openssl pkcs12 -export -in cert.pem -inkey decrypted.key \ -certfile rootCA.pem -out certkey.p12 -name fsx
  3. Importe a chave reformatada, fornecendo a frase-senha quando solicitado.

    $ sudo ipsec import certkey.p12
  4. Crie um arquivo de configuração IPsec usando o editor de texto preferencial.

    $ sudo cat /etc/ipsec.d/nfs.conf

    Adicione as seguintes entradas ao arquivo de configuração:

    conn fsxn authby=rsasig left=172.31.77.6 right=198.19.254.13 auto=start type=transport ikev2=insist keyexchange=ike ike=aes256-sha2_384;dh20 esp=aes_gcm_c256 leftcert=fsx leftrsasigkey=%cert leftid=%fromcert rightid=%fromcert rightrsasigkey=%cert

Você iniciará o IPsec no cliente depois de configurar o IPsec em seu sistema de arquivos.

Como configurar o IPsec em seu sistema de arquivos

Esta seção fornece instruções sobre como instalar o certificado no sistema de arquivos do FSx para ONTAP e configurar o IPsec.

Instalar o certificado no sistema de arquivos
  1. Copie os arquivos do certificado raiz (rootCA.pem)), do certificado do cliente (cert.pem) e da chave decriptografada (decrypted.key) para o sistema de arquivos. Você precisará saber a senha do certificado.

  2. Para acessar a CLI do NetApp ONTAP, estabeleça uma sessão SSH na porta de gerenciamento do sistema de arquivos Amazon FSx NetApp for ONTAP executando o seguinte comando. Substitua management_endpoint_ip pelo endereço IP da porta de gerenciamento do sistema de arquivos.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para ter mais informações, consulte Gerenciando sistemas de arquivos com a ONTAP CLI.

  3. Use cat em um cliente (não no sistema de arquivos) para listar o conteúdo dos arquivos rootCA.pem, cert.pem e decrypted.key para que você possa copiar a saída de cada arquivo e colá-la quando solicitado nas etapas a seguir.

    $ > cat cert.pem

    Copie o conteúdo do certificado.

  4. Instale todos os certificados da CA usados durante a autenticação mútua, incluindo CAs do lado do ONTAP e do lado do cliente, no gerenciamento de certificados do ONTAP, a menos que ele já esteja instalado (como é o caso de uma CA raiz autoassinada do ONTAP).

    Use o comando security certificate install NetApp CLI da seguinte forma para instalar o certificado do cliente:

    FSxID123:: > security certificate install -vserver dr -type client -cert-name ipsec-client-cert
    Please enter Certificate: Press <Enter> when done

    Cole o conteúdo do arquivo cert.pem que você copiou anteriormente e pressione Enter.

    Please enter Private Key: Press <Enter> when done

    Cole o conteúdo do arquivo decrypted.key e pressione Enter.

    Do you want to continue entering root and/or intermediate certificates {y|n}:

    Insira n para concluir a inserção do certificado do cliente.

  5. Crie e instale um certificado para uso da SVM. A CA emissora desse certificado já deve estar instalada no ONTAP e adicionada ao IPsec.

    Use o seguinte comando para instalar o certificado raiz:

    FSxID123:: > security certificate install -vserver dr -type server-ca -cert-name ipsec-ca-cert
    Please enter Certificate: Press <Enter> when done

    Cole o conteúdo do arquivo rootCA.pem e pressione Enter.

  6. Para garantir que a CA instalada esteja dentro do caminho de busca de CAs do IPsec durante a autenticação, adicione as CAs de gerenciamento de certificados do ONTAP ao módulo IPsec usando o comando “security ipsec ca-certificate add”.

    Digite o seguinte comando para adicionar o certificado raiz:

    FSxID123:: > security ipsec ca-certificate add -vserver dr -ca-certs ipsec-ca-cert
  7. Digite o comando a seguir para criar a política IPsec obrigatória no banco de dados de políticas de segurança (SPD).

    security ipsec policy create -vserver dr -name policy-name -local-ip-subnets 198.19.254.13/32 -remote-ip-subnets 172.31.0.0/16 -auth-method PKI -action ESP_TRA -cipher-suite SUITEB_GCM256 -cert-name ipsec-client-cert -local-identity "CN=*.ec2.internal" -remote-identity "CN=*.ec2.internal"
  8. Use o comando a seguir para mostrar a política de IPsec para que o sistema de arquivos confirme.

    FSxID123:: > security ipsec policy show -vserver dr -instance Vserver: dr Policy Name: promise Local IP Subnets: 198.19.254.13/32 Remote IP Subnets: 172.31.0.0/16 Local Ports: 0-0 Remote Ports: 0-0 Protocols: any Action: ESP_TRA Cipher Suite: SUITEB_GCM256 IKE Security Association Lifetime: 86400 IPsec Security Association Lifetime: 28800 IPsec Security Association Lifetime (bytes): 0 Is Policy Enabled: true Local Identity: CN=*.ec2.internal Remote Identity: CN=*.ec2.internal Authentication Method: PKI Certificate for Local Identity: ipsec-client-cert

Iniciar o IPsec no cliente

Agora que o IPsec está configurado no sistema de arquivos do FSx para ONTAP e no cliente, você pode iniciá-lo no cliente.

  1. Conecte-se ao sistema do cliente usando SSH.

  2. Inicie o IPsec.

    $ sudo ipsec start
  3. Verifique o status do IPsec.

    $ sudo ipsec status
  4. Monte um volume no sistema de arquivos.

    $ sudo mount -t nfs 198.19.254.13:/benchmark /home/ec2-user/acm/dr
  5. Verifique a configuração do IPsec mostrando a conexão criptografada no seu sistema de arquivos do FSx para ONTAP.

    FSxID123:: > security ipsec show-ikesa -node FsxId123 FsxId08ac16c7ec2781a58::> security ipsec show-ikesa -node FsxId08ac16c7ec2781a58-01 Policy Local Remote Vserver Name Address Address Initator-SPI State ----------- ------ --------------- --------------- ---------------- ----------- dr policy-name 198.19.254.13 172.31.77.6 551c55de57fe8976 ESTABLISHED fsx policy-name 198.19.254.38 172.31.65.193 4fd3f22c993e60c5 ESTABLISHED 2 entries were displayed.

Configuração do IPsec para vários clientes

Quando um número pequeno de clientes precisa utilizar o IPsec, o uso de uma única entrada SPD para cada cliente é suficiente. No entanto, quando centenas ou até milhares de clientes precisarem utilizar IPsec, recomendamos que você use a configuração de vários clientes IPsec.

O FSx para ONTAP fornece suporte a conexão de vários clientes em várias redes com um único endereço IP da SVM, com o IPsec habilitado. Você pode fazer isso usando a configuração subnet ou Allow all clients, que são explicadas nos seguintes procedimentos:

Configurar o IPsec para vários clientes usando uma configuração de sub-rede

Para permitir que todos os clientes de uma sub-rede específica (192.168.134.0/24, por exemplo) se conectem a um único endereço IP da SVM usando uma única entrada de política SPD, especifique remote-ip-subnets no formulário da sub-rede. Além disso, especifique o campo remote-identity com a identidade correta no lado do cliente.

Importante

Ao usar a autenticação de certificado, cada cliente pode usar seu próprio certificado exclusivo ou um certificado compartilhado para autenticação. O IPsec do FSx para ONTAP verifica a validade do certificado com base nas CAs instaladas em seu armazenamento confiável local. O FSx para ONTAP também oferece suporte à verificação da lista de revogação de certificados (CRL).

  1. Para acessar a CLI do NetApp ONTAP, estabeleça uma sessão SSH na porta de gerenciamento do sistema de arquivos Amazon FSx NetApp for ONTAP executando o seguinte comando. Substitua management_endpoint_ip pelo endereço IP da porta de gerenciamento do sistema de arquivos.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para ter mais informações, consulte Gerenciando sistemas de arquivos com a ONTAP CLI.

  2. Use o comando security ipsec policy create da CLI do NetApp ONTAP conforme a seguir, substituindo os valores de amostra por seus valores específicos.

    FsxId123456::> security ipsec policy create -vserver svm_name -name policy_name \ -local-ip-subnets 192.168.134.34/32 -remote-ip-subnets 192.168.134.0/24 \ -local-ports 2049 -protocols tcp -auth-method PSK \ -cert-name my_nfs_server_cert -local-identity ontap_side_identity \ -remote-identity client_side_identity
Configurar o IPsec para vários clientes usando uma configuração que permite todos os clientes

Para permitir que qualquer cliente, independentemente do endereço IP de origem deles, se conecte ao endereço IP habilitado para IPsec da SVM, use o curinga 0.0.0.0/0 ao especificar o campo remote-ip-subnets.

Além disso, especifique o campo remote-identity com a identidade correta no lado do cliente. No caso da autenticação de certificado, você pode digitar ANYTHING.

Além disso, quando o curinga 0.0.0.0/0 é usado, você deve configurar um número de porta local ou remota específico para uso. Por exemplo, porta NFS 2049.

  1. Para acessar a CLI do NetApp ONTAP, estabeleça uma sessão SSH na porta de gerenciamento do sistema de arquivos Amazon FSx NetApp for ONTAP executando o seguinte comando. Substitua management_endpoint_ip pelo endereço IP da porta de gerenciamento do sistema de arquivos.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para ter mais informações, consulte Gerenciando sistemas de arquivos com a ONTAP CLI.

  2. Use o comando security ipsec policy create da CLI do NetApp ONTAP conforme a seguir, substituindo os valores de amostra por seus valores específicos.

    FsxId123456::> security ipsec policy create -vserver svm_name -name policy_name \ -local-ip-subnets 192.168.134.34/32 -remote-ip-subnets 0.0.0.0/0 \ -local-ports 2049 -protocols tcp -auth-method PSK \ -cert-name my_nfs_server_cert -local-identity ontap_side_identity \ -local-ports 2049 -remote-identity client_side_identity