Configuration d'IPSec à l'aide de l'authentification par certificat - FSx pour ONTAP

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration d'IPSec à l'aide de l'authentification par certificat

Les rubriques suivantes fournissent des instructions pour configurer le chiffrement IPsec à l'aide de l'authentification par certificat sur un système de fichiers FSx for ONTAP et un client exécutant Libreswan IPsec. Cette solution utilise AWS Certificate Manager et AWS Private Certificate Authority pour créer une autorité de certification privée et pour générer les certificats.

Les étapes de haut niveau pour configurer le chiffrement IPsec à l'aide de l'authentification par certificat sur FSx pour les systèmes de fichiers ONTAP et les clients connectés sont les suivantes :

  1. Mettez en place une autorité de certification chargée de délivrer les certificats.

  2. Générez et exportez des certificats CA pour le système de fichiers et le client.

  3. Installez le certificat et configurez IPSec sur l'instance cliente.

  4. Installez le certificat et configurez IPSec sur votre système de fichiers.

  5. Définissez la base de données des politiques de sécurité (SPD).

  6. Configurez IPSec pour un accès client multiple.

Création et installation de certificats CA

Pour l'authentification par certificat, vous devez générer et installer des certificats à partir d'une autorité de certification sur votre système de fichiers FSx for ONTAP et des clients qui accèderont aux données de votre système de fichiers. L'exemple suivant permet AWS Private Certificate Authority de configurer une autorité de certification privée et de générer les certificats à installer sur le système de fichiers et le client. Vous pouvez ainsi créer une hiérarchie entièrement AWS hébergée d'autorités de certification (CA) racines et subordonnées à usage interne par votre organisation. AWS Private Certificate Authority Ce processus comporte cinq étapes :

  1. Créez une autorité de certification (CA) privée à l'aide de AWS Private CA

  2. Émettre et installer le certificat racine sur l'autorité de certification privée

  3. Demandez un certificat privé AWS Certificate Manager pour votre système de fichiers et vos clients

  4. Exportez le certificat pour le système de fichiers et les clients.

Pour plus d'informations, consultez la section Administration de Private CA dans le Guide de AWS Private Certificate Authority l'utilisateur.

Pour créer l'autorité de certification privée racine
  1. Lorsque vous créez une autorité de certification, vous devez spécifier la configuration de l'autorité de certification dans un fichier que vous fournissez. La commande suivante utilise l'éditeur de texte Nano pour créer le ca_config.txt fichier, qui spécifie les informations suivantes :

    • Le nom de l'algorithme

    • L'algorithme de signature utilisé par l'autorité de certification pour signer

    • Les informations sur l'objet X.500

    $ > nano ca_config.txt

    L'éditeur de texte apparaît.

  2. Modifiez le fichier contenant les spécifications de votre autorité de certification.

    { "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"Sales", "State":"WA", "Locality":"Seattle", "CommonName":"*.ec2.internal" } }
  3. Enregistrez et fermez le fichier en quittant l'éditeur de texte. Pour plus d'informations, consultez la section Procédure de création d'une autorité de certification dans le guide de AWS Private Certificate Authority l'utilisateur.

  4. Utilisez la commande create-certificate-authority AWS Private CA CLI pour créer une autorité de certification privée.

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

    En cas de succès, cette commande affiche l'Amazon Resource Name (ARN) de l'autorité de certification.

    { "CertificateAuthorityArn": "arn:aws:acm-pca:aws-region:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012" }
Pour créer et installer un certificat pour votre autorité de certification racine privée (AWS CLI)
  1. Générez une demande de signature de certificat (CSR) à l'aide de la commande 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

    Le fichier obtenuca.csr, un fichier PEM codé au format base64, présente l'aspect suivant.

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

    Pour plus d'informations, consultez la section Installation d'un certificat CA racine dans le guide de AWS Private Certificate Authority l'utilisateur.

  2. Utilisez la issue-certificate AWS CLI commande pour émettre et installer le certificat racine sur votre autorité de certification privée.

    $ 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. Téléchargez le certificat racine à l'aide de la get-certificate AWS CLI commande.

    $ 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. Installez le certificat racine sur votre autorité de certification privée à l'aide de la import-certificate-authority-certificate AWS CLI commande.

    $ 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
Génération et exportation du système de fichiers et du certificat client
  1. Utilisez la request-certificate AWS CLI commande pour demander un AWS Certificate Manager certificat à utiliser sur votre système de fichiers et vos clients.

    $ 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 demande aboutit, l'ARN du certificat émis est renvoyé.

  2. Pour des raisons de sécurité, vous devez attribuer un mot de passe à la clé privée lors de son exportation. Créez un mot de passe et stockez-le dans un fichier nommé passphrase.txt

  3. Utilisez la export-certificate AWS CLI commande pour exporter le certificat privé émis précédemment. Le fichier exporté contient le certificat, la chaîne de certificats et la clé RSA privée chiffrée de 2048 bits associée à la clé publique intégrée au certificat. Pour des raisons de sécurité, vous devez attribuer un mot de passe à la clé privée lors de son exportation. L'exemple suivant concerne une instance 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. Utilisez les jq commandes suivantes pour extraire la clé privée et le certificat de la réponse 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. Utilisez la openssl commande suivante pour déchiffrer la clé privée à partir de la réponse JSON. Après avoir saisi la commande, vous êtes invité à saisir le mot de passe.

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

Installation et configuration de Libreswan IPsec sur un client Amazon Linux 2

Les sections suivantes fournissent des instructions pour installer et configurer Libreswan IPsec sur une instance Amazon EC2 exécutant Amazon Linux 2.

Pour installer et configurer Libreswan
  1. Connectez-vous à votre instance EC2 via SSH. Pour obtenir des instructions spécifiques sur la manière de procéder, consultez Connect to your Linux instance using a SSH in the Amazon Elastic Compute Cloud User Guide for Linux Instances.

  2. Exécutez la commande suivante pour effectuer l'installation libreswan :

    $ sudo yum install libreswan
  3. (Facultatif) Lors de la vérification d'IPsec lors d'une étape ultérieure, ces propriétés peuvent être signalées sans ces paramètres. Nous vous suggérons de tester d'abord votre configuration sans ces paramètres. En cas de problème de connexion, revenez à cette étape et apportez les modifications suivantes.

    Une fois l'installation terminée, utilisez votre éditeur de texte préféré pour ajouter les entrées suivantes au /etc/sysctl.conf fichier.

    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

    Enregistrez les modifications et quittez l'éditeur de texte.

  4. Appliquez les modifications.

    $ sudo sysctl -p
  5. Vérifiez la configuration IPSec.

    $ sudo ipsec verify

    Vérifiez que la version que Libreswan vous avez installée est en cours d'exécution.

  6. Initialisez la base de données IPSec NSS.

    $ sudo ipsec checknss
Pour installer le certificat sur le client
  1. Copiez le certificat que vous avez généré pour le client dans le répertoire de travail de l'instance EC2. Vous

  2. Exportez le certificat généré précédemment dans un format compatible aveclibreswan.

    $ openssl pkcs12 -export -in cert.pem -inkey decrypted.key \ -certfile rootCA.pem -out certkey.p12 -name fsx
  3. Importez la clé reformatée en fournissant le mot de passe lorsque vous y êtes invité.

    $ sudo ipsec import certkey.p12
  4. Créez un fichier de configuration IPsec à l'aide de l'éditeur de texte préféré.

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

    Ajoutez les entrées suivantes au fichier de configuration :

    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

Vous démarrerez IPsec sur le client après avoir configuré IPsec sur votre système de fichiers.

Configuration d'IPSec sur votre système de fichiers

Cette section fournit des instructions sur l'installation du certificat sur votre système de fichiers FSx for ONTAP et sur la configuration d'IPsec.

Pour installer le certificat sur votre système de fichiers
  1. Copiez les fichiers du certificat racine ()rootCA.pem), du certificat client (cert.pem) et de la clé déchiffrée (decrypted.key) dans votre système de fichiers. Vous devez connaître le mot de passe du certificat.

  2. Pour accéder à la CLI NetApp ONTAP, établissez une session SSH sur le port de gestion du système de fichiers Amazon FSx pour NetApp ONTAP en exécutant la commande suivante. Remplacez management_endpoint_ip par l'adresse IP du port de gestion du système de fichiers.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Pour plus d’informations, consultez Gestion des systèmes de fichiers à l'aide de la ONTAP CLI.

  3. catUtilisez-le sur un client (et non sur votre système de fichiers) pour répertorier le rootCA.pem contenu des decrypted.key fichiers cert.pem et ainsi copier le résultat de chaque fichier et le coller lorsque vous y êtes invité dans les étapes suivantes.

    $ > cat cert.pem

    Copiez le contenu du certificat.

  4. Vous devez installer tous les certificats d'autorité de certification utilisés lors de l'authentification mutuelle, y compris les certificats d'autorité de ONTAP certification côté TAP et côté client, dans la gestion des certificats, sauf s'ils sont déjà installés (comme c'est le cas d'une autorité de certification racine autosignée ONTAP).

    Utilisez la commande security certificate install NetApp CLI comme suit pour installer le certificat client :

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

    Collez le contenu du cert.pem fichier que vous avez copié précédemment et appuyez sur Entrée.

    Please enter Private Key: Press <Enter> when done

    Collez le contenu du decrypted.key fichier, puis appuyez sur Entrée.

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

    Entrez n pour terminer la saisie du certificat client.

  5. Créez et installez un certificat destiné à être utilisé par la SVM. L'autorité de certification émettrice de ce certificat doit déjà être installée ONTAP et ajoutée à IPsec.

    Utilisez la commande suivante pour installer le certificat racine.

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

    Collez le contenu du rootCA.pem fichier, puis appuyez sur Entrée.

  6. Pour vous assurer que l'autorité de certification installée se trouve dans le chemin de recherche de l'autorité de certification IPsec lors de l'authentification, ajoutez les autorités de certification de gestion des ONTAP certificats au module IPsec à l'aide de la commande « security ipsec ca-certificate add ».

    Entrez la commande suivante pour ajouter le certificat racine.

    FSxID123:: > security ipsec ca-certificate add -vserver dr -ca-certs ipsec-ca-cert
  7. Entrez la commande suivante pour créer la politique IPsec requise dans la base de données des politiques de sécurité (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. Utilisez la commande suivante pour afficher la politique IPSec du système de fichiers à confirmer.

    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

Démarrez IPSec sur le client

Maintenant qu'IPsec est configuré à la fois sur le système de fichiers FSx for ONTAP et sur le client, vous pouvez démarrer IPsec sur le client.

  1. Connectez-vous à votre système client via SSH.

  2. Démarrez IPSec.

    $ sudo ipsec start
  3. Vérifiez l'état d'IPSec.

    $ sudo ipsec status
  4. Montez un volume sur votre système de fichiers.

    $ sudo mount -t nfs 198.19.254.13:/benchmark /home/ec2-user/acm/dr
  5. Vérifiez la configuration IPsec en affichant la connexion cryptée sur votre système de fichiers FSx for 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.

Configuration d'IPSec pour plusieurs clients

Lorsqu'un petit nombre de clients ont besoin de tirer parti d'IPsec, il suffit d'utiliser une seule entrée SPD pour chaque client. Toutefois, lorsque des centaines, voire des milliers de clients ont besoin de tirer parti d'IPsec, nous vous recommandons d'utiliser la configuration de plusieurs clients IPsec.

FSx for ONTAP permet de connecter plusieurs clients sur de nombreux réseaux à une seule adresse IP de SVM avec IPsec activé. Pour ce faire, vous pouvez utiliser la subnet configuration ou la Allow all clients configuration, qui sont expliquées dans les procédures suivantes :

Pour configurer IPsec pour plusieurs clients à l'aide d'une configuration de sous-réseau

Pour permettre à tous les clients d'un sous-réseau donné (192.168.134.0/24 par exemple) de se connecter à une seule adresse IP de SVM en utilisant une seule entrée de politique SPD, vous devez la spécifier sous forme de sous-réseau. remote-ip-subnets En outre, vous devez spécifier le remote-identity champ avec l'identité correcte côté client.

Important

Lorsque vous utilisez l'authentification par certificat, chaque client peut utiliser son propre certificat unique ou un certificat partagé pour s'authentifier. FSx for ONTAP IPSec vérifie la validité du certificat en fonction des autorités de certification installées sur son magasin de confiance local. FSx for ONTAP prend également en charge la vérification des listes de révocation de certificats (CRL).

  1. Pour accéder à la CLI NetApp ONTAP, établissez une session SSH sur le port de gestion du système de fichiers Amazon FSx pour NetApp ONTAP en exécutant la commande suivante. Remplacez management_endpoint_ip par l'adresse IP du port de gestion du système de fichiers.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Pour plus d’informations, consultez Gestion des systèmes de fichiers à l'aide de la ONTAP CLI.

  2. Utilisez la commande security ipsec policy create NetApp ONTAP CLI comme suit, en remplaçant les valeurs d'échantillon par vos valeurs spécifiques.

    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
Pour configurer IPsec pour plusieurs clients à l'aide d'une configuration Autoriser tous les clients

Pour permettre à n'importe quel client, quelle que soit son adresse IP source, de se connecter à l'adresse IP compatible IPsec de la SVM, utilisez le caractère générique lorsque vous 0.0.0.0/0 spécifiez le champ. remote-ip-subnets

En outre, vous devez spécifier le remote-identity champ avec l'identité correcte côté client. Pour l'authentification par certificat, vous pouvez entrerANYTHING.

En outre, lorsque le joker 0.0.0.0/0 est utilisé, vous devez configurer un numéro de port local ou distant spécifique à utiliser. Par exemple, le port NFS 2049.

  1. Pour accéder à la CLI NetApp ONTAP, établissez une session SSH sur le port de gestion du système de fichiers Amazon FSx pour NetApp ONTAP en exécutant la commande suivante. Remplacez management_endpoint_ip par l'adresse IP du port de gestion du système de fichiers.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Pour plus d’informations, consultez Gestion des systèmes de fichiers à l'aide de la ONTAP CLI.

  2. Utilisez la commande security ipsec policy create NetApp ONTAP CLI comme suit, en remplaçant les valeurs d'échantillon par vos valeurs spécifiques.

    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