Configuración IPsec mediante autenticación mediante certificado - FSx para ONTAP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración IPsec mediante autenticación mediante certificado

En los temas siguientes se proporcionan instrucciones para configurar el IPsec cifrado mediante la autenticación FSx por certificado en un sistema de ONTAP archivos y en un cliente que ejecute LibreswanIPsec. Esta solución utiliza AWS Certificate Manager y AWS Private Certificate Authority crea una entidad de certificación privada y genera los certificados.

Los pasos generales para configurar el IPsec cifrado mediante la autenticación mediante certificados FSx para los sistemas de ONTAP archivos y los clientes conectados son los siguientes:

  1. Contar con una autoridad de certificación para emitir los certificados.

  2. Genere y exporte los certificados de CA para el sistema de archivos y el cliente.

  3. Instale el certificado y IPsec configúrelo en la instancia del cliente.

  4. Instale el certificado y IPsec configúrelo en su sistema de archivos.

  5. Defina la base de datos de políticas de seguridad (SPD).

  6. Configure IPsec para el acceso de varios clientes.

Creación e instalación del certificado para una CA

Para la autenticación de certificados, debe generar e instalar los certificados de una entidad emisora de certificados en su sistema FSx de ONTAP archivos y de los clientes que accederán a los datos de su sistema de archivos. En el siguiente ejemplo, AWS Private Certificate Authority se configura una entidad de certificación privada y se generan los certificados que se van a instalar en el sistema de archivos y en el cliente. Con AWS Private Certificate Authorityél, puede crear una jerarquía completamente AWS alojada de autoridades de certificación raíz y subordinadas (CAs) para uso interno de su organización. Este proceso consta de cinco pasos:

  1. Cree una entidad emisora de certificados (CA) privada mediante AWS Private CA

  2. Emita e instale el certificado raíz en la CA privada

  3. Solicite un certificado privado AWS Certificate Manager para su sistema de archivos y sus clientes

  4. Exporte el certificado para el sistema de archivos y los clientes.

Para obtener más información, consulte Administración de una CA privada en la Guía del AWS Private Certificate Authority usuario.

Para crear la CA privada raíz
  1. Al crear una CA, debe especificar la configuración de la CA en un archivo que suministre. El siguiente comando utiliza el editor de texto Nano para crear el archivo ca_config.txt, que especifica la siguiente información:

    • El nombre del algoritmo

    • El tipo de algoritmo de firma que la CA utiliza para firmar

    • La información del sujeto de X.500

    $ > nano ca_config.txt

    Aparece el editor de texto.

  2. Edite el archivo con las especificaciones de su CA.

    { "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"Sales", "State":"WA", "Locality":"Seattle", "CommonName":"*.ec2.internal" } }
  3. Guarde el archivo y salga del editor de texto. Para obtener más información, consulte el Procedimiento para crear una CA en la Guía del AWS Private Certificate Authority usuario.

  4. Utilice el create-certificate-authority AWS Private CA CLIcomando para crear una 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

    Si se ejecuta correctamente, este comando genera el Amazon Resource Name (ARN) de la CA.

    { "CertificateAuthorityArn": "arn:aws:acm-pca:aws-region:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012" }
Para crear e instalar un certificado para su CA raíz privada (AWS CLI)
  1. Genere una solicitud de firma de certificado (CSR) mediante el get-certificate-authority-csr AWS CLIcomando.

    $ 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

    El archivo resultanteca.csr, un PEM archivo codificado en formato base64, tiene el siguiente aspecto.

    -----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 obtener más información, consulte Instalación de un certificado de CA raíz en la Guía del AWS Private Certificate Authority usuario.

  2. Utilice el issue-certificate AWS CLI comando para emitir e instalar el certificado raíz en su 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. Descargue el certificado raíz mediante el 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 el certificado raíz en su CA privada mediante el 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
Genere y exporte el sistema de archivos y el certificado de cliente
  1. Use el request-certificate AWS CLI comando para solicitar un AWS Certificate Manager certificado para usarlo en su sistema de archivos y sus 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

    Si la solicitud se realiza correctamente, se devuelve el certificado emitido. ARN

  2. Por motivos de seguridad, debe asignar una contraseña a la clave privada al exportarla. Cree una contraseña y guárdela en un archivo llamado passphrase.txt

  3. Utilice el export-certificate AWS CLI comando para exportar el certificado privado emitido anteriormente. El archivo exportado contiene el certificado, la cadena de certificados y la RSA clave privada cifrada de 2048 bits asociada a la clave pública que está incrustada en el certificado. Por motivos de seguridad, debe asignar una contraseña a la clave privada al exportarla. El siguiente ejemplo es para una instancia de 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. Usa los siguientes jq comandos para extraer la clave privada y el certificado de la JSON respuesta.

    $ 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 el siguiente openssl comando para descifrar la clave privada de la JSON respuesta. Después de introducir el comando, se le solicitará la contraseña.

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

Instalación y configuración de Libreswan IPsec en un cliente de Amazon Linux 2

En las siguientes secciones se proporcionan instrucciones para instalar y configurar Libreswan IPsec en una EC2 instancia de Amazon que ejecute Amazon Linux 2.

Para instalar y configurar Libreswan
  1. Conéctese a su EC2 instancia medianteSSH. Para obtener instrucciones específicas sobre cómo hacerlo, consulte Conectarse a su instancia de Linux mediante un SSH cliente en la Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux.

  2. Ejecute el siguiente comando para instalar libreswan:

    $ sudo yum install libreswan
  3. (Opcional) Al realizar la verificación IPsec en un paso posterior, es posible que estas propiedades se marquen sin estos ajustes. Le sugerimos que primero pruebe la configuración sin estas configuraciones. Si tiene problemas de conexión, vuelva a este paso y realice los siguientes cambios.

    Una vez completada la instalación, utilice el editor de texto que prefiera para añadir las siguientes entradas al archivo /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

    Guarde el archivo y salga del editor de texto.

  4. Implemente los cambios:

    $ sudo sysctl -p
  5. Compruebe la configuración. IPsec

    $ sudo ipsec verify

    Compruebe que la versión de Libreswan que ha instalado se esté ejecutando.

  6. Inicialice la IPsec NSS base de datos.

    $ sudo ipsec checknss
Para instalar los archivos de certificado en el cliente.
  1. Copia el certificado que generaste para el cliente en el directorio de trabajo de la EC2 instancia. Usted

  2. Exporte el certificado generado anteriormente a un formato compatible conlibreswan.

    $ openssl pkcs12 -export -in cert.pem -inkey decrypted.key \ -certfile rootCA.pem -out certkey.p12 -name fsx
  3. Importe la clave reformateada y proporcione la contraseña cuando se le solicite.

    $ sudo ipsec import certkey.p12
  4. Cree un archivo IPsec de configuración con el editor de texto preferido.

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

    Agregue lo siguiente al archivo de configuración:

    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

Empezará IPsec en el cliente después de realizar la configuración IPsec en su sistema de archivos.

Configuración IPsec en su sistema de archivos

En esta sección se proporcionan instrucciones sobre la instalación y la configuración del certificado en su FSx sistema de ONTAP archivosIPsec.

Para instalar el certificado en su sistema de archivos
  1. Copie los archivos del certificado raíz (rootCA.pem)), el certificado de cliente (cert.pem) y la clave descifrada (decrypted.key) en su sistema de archivos. Necesitará saber la contraseña del certificado.

  2. Para acceder al NetApp ONTAPCLI, establezca una SSH sesión en el puerto de administración del sistema de NetApp ONTAP archivos Amazon FSx for ejecutando el siguiente comando. Reemplace management_endpoint_ip con la dirección IP del puerto de gestión del sistema de archivos.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para obtener más información, consulte Administración de sistemas de archivos con la ONTAP CLI.

  3. Utilice cat en un cliente (no en su sistema de archivos) para mostrar el contenido de los archivos rootCA.pem, cert.pem y decrypted.key de forma que pueda copiar el resultado de cada archivo y pegarlo cuando se le solicite en los siguientes pasos.

    $ > cat cert.pem

    Copie el contenido del certificado.

  4. Debe instalar todos los certificados de CA utilizados durante la autenticación mutua, incluidos los del ONTAP lado del cliente, en la administración de ONTAP certificadosCAs, a menos que ya estén instalados (como es el caso de una CA raíz ONTAP autofirmada).

    Utilice el siguiente security certificate install NetApp CLI comando para instalar el certificado de cliente:

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

    Pegue el contenido del archivo cert.pem que copió anteriormente y pulse Entrar.

    Please enter Private Key: Press <Enter> when done

    Pegue el contenido del archivo decrypted.key y pulse Entrar.

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

    Introduzca n para completar la introducción del certificado de cliente.

  5. Cree e instale un certificado para que lo utilice elSVM. La CA emisora de este certificado ya debe estar instalada ONTAP y agregada aIPsec.

    Utilice el siguiente comando para instalar el certificado raíz.

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

    Pegue el contenido del archivo rootCA.pem y pulse Entrar.

  6. Para asegurarse de que la CA instalada esté dentro de la ruta de búsqueda de la IPsec CA durante la autenticación, añada la administración de ONTAP certificados CAs al IPsec módulo mediante el comando «security ipsec ca-certificate add».

    Introduzca el siguiente comando para instalar el certificado raíz.

    FSxID123:: > security ipsec ca-certificate add -vserver dr -ca-certs ipsec-ca-cert
  7. Introduzca el siguiente comando para crear la IPsec política requerida en la base de datos de políticas de seguridad ()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. Utilice el siguiente comando para mostrar la IPsec política que debe confirmar el sistema de archivos.

    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

Comience IPsec en el cliente

Ahora IPsec que está configurado tanto en FSx el sistema de ONTAP archivos como en el cliente, puede empezar IPsec en el cliente.

  1. Conéctese a su sistema cliente medianteSSH.

  2. EmpezarIPsec.

    $ sudo ipsec start
  3. Compruebe el estado deIPsec.

    $ sudo ipsec status
  4. Monte un volumen en el sistema de archivos.

    $ sudo mount -t nfs 198.19.254.13:/benchmark /home/ec2-user/acm/dr
  5. Compruebe la IPsec configuración mostrando la conexión cifrada en su sistema FSx de ONTAP archivos.

    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.

Configuración IPsec para varios clientes

Cuando un número reducido de clientes necesita aprovechar las ventajasIPsec, basta con utilizar una sola SPD entrada para cada cliente. Sin embargo, cuando cientos o incluso miles de clientes necesiten aprovecharloIPsec, le recomendamos que utilice una configuración de IPsec varios clientes.

FSxya que ONTAP admite la conexión de varios clientes a través de muchas redes a una sola dirección SVM IP si IPsec está activado. Para ello, puede utilizar la configuración subnet o la configuración Allow all clients, que se explican en los siguientes procedimientos:

Para configurarlo IPsec para varios clientes mediante una configuración de subred

Para permitir que todos los clientes de una subred concreta (192.168.134.0/24, por ejemplo) se conecten a una única dirección SVM IP mediante una única entrada de SPD política, debe especificar el formato en subred. remote-ip-subnets Además, debe especificar el campo remote-identity con la identidad correcta del lado del cliente.

importante

Al usar la autenticación por certificado, cada cliente puede usar su propio certificado único o un certificado compartido para autenticarse. FSxpara ONTAP IPsec comprobar la validez del certificado en función del certificado CAs instalado en su almacén de confianza local. FSxfor ONTAP también admite la comprobación de la lista de revocación de certificados (CRL).

  1. Para acceder al NetApp ONTAPCLI, establezca una SSH sesión en el puerto de administración del sistema de NetApp ONTAP archivos Amazon FSx for ejecutando el siguiente comando. Reemplace management_endpoint_ip con la dirección IP del puerto de gestión del sistema de archivos.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para obtener más información, consulte Administración de sistemas de archivos con la ONTAP CLI.

  2. Utilice el security ipsec policy create NetApp ONTAP CLI comando de la siguiente manera, sustituyendo el sample valores por sus 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
Para configurar IPsec para varios clientes mediante una configuración que permita a todos los clientes

Para permitir que cualquier cliente, independientemente de su dirección IP de origen, se conecte a la dirección IP SVM IPsec habilitada, utilice el 0.0.0.0/0 comodín al especificar el remote-ip-subnets campo.

Además, debe especificar el campo remote-identity con la identidad correcta del lado del cliente. Para la autenticación de certificados, puede introducir ANYTHING.

Además, cuando se utiliza el comodín 0.0.0.0/0, debe configurar un número de puerto local o remoto específico para usarlo. Por ejemplo, el NFS puerto 2049.

  1. Para acceder al NetApp ONTAPCLI, establezca una SSH sesión en el puerto de administración del sistema de NetApp ONTAP archivos Amazon FSx for ejecutando el siguiente comando. Reemplace management_endpoint_ip con la dirección IP del puerto de gestión del sistema de archivos.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para obtener más información, consulte Administración de sistemas de archivos con la ONTAP CLI.

  2. Utilice el security ipsec policy create NetApp ONTAP CLI comando de la siguiente manera, sustituyendo el sample valores por sus 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