View a markdown version of this page

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 apresentam instruções para configurar a criptografia IPsec usando autenticação de certificado em um sistema de arquivos do FSx para ONTAP e um cliente que esteja executando o Libreswan IPsec. Essa solução usa AWS Certificate Manager e Autoridade de Certificação Privada da AWS 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 em sistemas de arquivo do FSx para ONTAP e nos clientes conectados são as seguintes:

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

  2. Gerar e exportar certificados de CA para o sistema de arquivos e o cliente.

  3. Instalar o certificado e configurar o IPsec na instância do cliente.

  4. Instalar o certificado e configurar o IPsec no seu sistema de arquivos.

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

  6. Configurar 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 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 Autoridade de Certificação Privada da AWS para configurar uma autoridade de certificação privada e gerar os certificados para instalação no sistema de arquivos e no cliente. Usando Autoridade de Certificação Privada da AWS, 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 CA Privada da AWS

  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 Autoridade de Certificação Privada da AWS 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

    • X.500 informações sobre o assunto

    $ > 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 Autoridade de Certificação Privada da AWS do Usuário.

  4. Use o comando da CLI create-certificate-authority da CA Privada da AWS 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 Autoridade de Certificação Privada da AWS 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. Faça o download do 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.

    $ passphrase=$(cat passphrase.txt | base64) cat exported_cert.json | jq -r .PrivateKey > prv.key cat exported_cert.json | jq -r .Certificate > cert.pem
  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. You

  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 ONTAP CLI, estabeleça uma sessão SSH na porta de gerenciamento do sistema de arquivos Amazon FSx for NetApp ONTAP ou SVM executando o comando a seguir. Substitua management_endpoint_ip pelo endereço IP da porta de gerenciamento do sistema de arquivos.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para obter mais informações, consulte Como gerenciar sistemas de arquivos com a CLI do ONTAP.

  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. Você deve instalar todos os certificados de CA usados durante a autenticação mútua, incluindo CAs do lado do cliente ONTAP-side e do lado do cliente, no gerenciamento de ONTAP certificados, 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 estejam em uma sub-rede específica (192.168.134). 0/24 por exemplo) para se conectar a um único endereço IP SVM usando uma única entrada de política SPD, você deve especificar o remote-ip-subnets no formato de 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 ONTAP CLI, estabeleça uma sessão SSH na porta de gerenciamento do sistema de arquivos Amazon FSx for NetApp ONTAP ou SVM executando o comando a seguir. Substitua management_endpoint_ip pelo endereço IP da porta de gerenciamento do sistema de arquivos.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para obter mais informações, consulte Como gerenciar sistemas de arquivos com a CLI do ONTAP.

  2. Use o comando security ipsec policy create NetApp ONTAP CLI da seguinte forma, substituindo os sample valores pelos 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, se conecte ao endereço IPsec-enabled IP do SVM, use o caractere 0.0.0.0/0 curinga ao especificar o remote-ip-subnets campo.

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 0.0.0. 0/0 O curinga é usado, você deve configurar um número de porta local ou remota específico para usar. Por exemplo, porta NFS 2049.

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

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para obter mais informações, consulte Como gerenciar sistemas de arquivos com a CLI do ONTAP.

  2. Use o comando security ipsec policy create NetApp ONTAP CLI da seguinte forma, substituindo os sample valores pelos 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