View a markdown version of this page

Configurazione di IPSec mediante l'autenticazione tramite certificato - FSx per ONTAP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di IPSec mediante l'autenticazione tramite certificato

Gli argomenti seguenti forniscono istruzioni per configurare la crittografia IPSec utilizzando l'autenticazione con certificato su un file system FSx for ONTAP e un client che esegue Libreswan IPSec. Questa soluzione utilizza AWS Certificate Manager e Autorità di certificazione privata AWS per creare un'autorità di certificazione privata e per generare i certificati.

I passaggi di alto livello per configurare la crittografia IPsec utilizzando l'autenticazione dei certificati su FSx per i file system ONTAP e i client connessi sono i seguenti:

  1. Disponi di un'autorità di certificazione per l'emissione dei certificati.

  2. Genera ed esporta certificati CA per il file system e il client.

  3. Installa il certificato e configura IPSec sull'istanza del client.

  4. Installa il certificato e configura IPSec sul tuo file system.

  5. Definisci il database delle politiche di sicurezza (SPD).

  6. Configura IPSec per l'accesso di più client.

Creazione e installazione di certificati CA

Per l'autenticazione dei certificati, è necessario generare e installare i certificati da un'autorità di certificazione sul file system FSx for ONTAP e sui client che accederanno ai dati sul file system. L'esempio seguente viene utilizzato Autorità di certificazione privata AWS per configurare un'autorità di certificazione privata e generare i certificati da installare sul file system e sul client. Utilizzando Autorità di certificazione privata AWS, è possibile creare una gerarchia interamente AWS ospitata di autorità di certificazione (CA) principali e subordinate per uso interno da parte dell'organizzazione. Questo processo è composto da cinque fasi:

  1. Crea un'autorità di certificazione (CA) privata utilizzando AWS Private CA

  2. Emetti e installa il certificato principale sulla CA privata

  3. Richiedi un certificato privato AWS Certificate Manager per il tuo file system e i tuoi client

  4. Esporta il certificato per il file system e i client.

Per ulteriori informazioni, vedere Private CA Administration nella Guida Autorità di certificazione privata AWS per l'utente.

Per creare la CA privata principale
  1. Quando si crea una CA, è necessario specificare la configurazione della CA in un file fornito. Il comando seguente utilizza l'editor di testo Nano per creare il ca_config.txt file, che specifica le seguenti informazioni:

    • Il nome dell'algoritmo

    • L'algoritmo di firma utilizzato dalla CA per firmare

    • X.500 informazioni sull'oggetto

    $ > nano ca_config.txt

    Viene visualizzato l'editor di testo.

  2. Modifica il file con le specifiche per la tua CA.

    { "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"Sales", "State":"WA", "Locality":"Seattle", "CommonName":"*.ec2.internal" } }
  3. Salva e chiudi il file, uscendo dall'editor di testo. Per ulteriori informazioni, vedere Procedura per la creazione di una CA nella Guida per l' Autorità di certificazione privata AWS utente.

  4. Usa il comando AWS Private CA CLI create-certificate-authority per creare una CA privata.

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

    In caso di successo, questo comando restituisce l'Amazon Resource Name (ARN) della CA.

    { "CertificateAuthorityArn": "arn:aws:acm-pca:aws-region:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012" }
Per creare e installare un certificato per la tua CA root privata (AWS CLI)
  1. Genera una richiesta di firma del certificato (CSR) utilizzando il 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

    Il file risultanteca.csr, un file PEM codificato in formato base64, ha il seguente aspetto.

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

    Per ulteriori informazioni, vedere Installazione di un certificato CA root nella Guida per l'utente. Autorità di certificazione privata AWS

  2. Usa il issue-certificate AWS CLI comando per emettere e installare il certificato root sulla tua CA privata.

    $ 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. Scarica il certificato principale utilizzando il 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. Installa il certificato root sulla tua CA privata usando il 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
Genera ed esporta il file system e il certificato client
  1. Usa il request-certificate AWS CLI comando per richiedere un AWS Certificate Manager certificato da utilizzare sul tuo file system e sui tuoi client.

    $ 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 la richiesta ha esito positivo, viene restituito l'ARN del certificato emesso.

  2. Per motivi di sicurezza, è necessario assegnare una passphrase per la chiave privata durante l'esportazione. Create una passphrase e memorizzatela in un file denominato passphrase.txt

  3. Usa il export-certificate AWS CLI comando per esportare il certificato privato emesso in precedenza. Il file esportato contiene il certificato, la catena di certificati e la chiave RSA privata crittografata a 2048 bit associata alla chiave pubblica incorporata nel certificato. Per motivi di sicurezza, è necessario assegnare una passphrase per la chiave privata durante l'esportazione. L'esempio seguente è per un'istanza 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. Utilizzate i seguenti jq comandi per estrarre la chiave privata e il certificato dalla risposta 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. Usa il openssl comando seguente per decrittografare la chiave privata dalla risposta JSON. Dopo aver inserito il comando, viene richiesta la passphrase.

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

Installazione e configurazione di Libreswan IPSec su un client Amazon Linux 2

Le seguenti sezioni forniscono istruzioni per l'installazione e la configurazione di Libreswan IPSec su un'istanza Amazon EC2 che esegue Amazon Linux 2.

Per installare e configurare Libreswan
  1. Connettiti alla tua istanza EC2 tramite SSH. Per istruzioni specifiche su come eseguire questa operazione, consulta Connessione alla tua istanza Linux utilizzando un client SSH nella Amazon Elastic Compute Cloud User Guide for Linux Instances.

  2. Esegui il seguente comando per l'installazione: libreswan

    $ sudo yum install libreswan
  3. (Facoltativo) Quando si verifica IPSec in una fase successiva, queste proprietà potrebbero essere contrassegnate senza queste impostazioni. Ti consigliamo di testare prima la configurazione senza queste impostazioni. Se la connessione presenta problemi, torna a questo passaggio e apporta le seguenti modifiche.

    Al termine dell'installazione, utilizzate il vostro editor di testo preferito per aggiungere le seguenti voci al /etc/sysctl.conf file.

    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

    Salvate le modifiche e uscite dall'editor di testo.

  4. Applica le modifiche.

    $ sudo sysctl -p
  5. Verifica la configurazione IPSec.

    $ sudo ipsec verify

    Verifica che la versione installata Libreswan sia in esecuzione.

  6. Inizializza il database NSS IPSec.

    $ sudo ipsec checknss
Per installare il certificato sul client
  1. Copia il certificato generato per il client nella directory di lavoro sull'istanza EC2. Utente corrente

  2. Esporta il certificato generato in precedenza in un formato compatibile conlibreswan.

    $ openssl pkcs12 -export -in cert.pem -inkey decrypted.key \ -certfile rootCA.pem -out certkey.p12 -name fsx
  3. Importa la chiave riformattata, fornendo la passphrase quando richiesto.

    $ sudo ipsec import certkey.p12
  4. Crea un file di configurazione IPSec utilizzando l'editor di testo preferito.

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

    Aggiungete le seguenti voci al file di configurazione:

    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

IPSec verrà avviato sul client dopo aver configurato IPSec sul file system.

Configurazione di IPSec sul file system

Questa sezione fornisce istruzioni sull'installazione del certificato sul file system FSx for ONTAP e sulla configurazione di IPSec.

Per installare il certificato sul file system
  1. Copia i file root certificate ()rootCA.pem), client certificate (cert.pem) e key (decrypted.key) decrittografati nel tuo file system. È necessario conoscere la passphrase del certificato.

  2. Per accedere alla ONTAP CLI, stabilisci una sessione SSH sulla porta di gestione del file system Amazon FSx for NetApp ONTAP o SVM eseguendo il seguente comando. Sostituisci management_endpoint_ip con l'indirizzo IP della porta di gestione del file system.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Per ulteriori informazioni, consulta Gestione dei file system con ONTAP CLI.

  3. Utilizzalo cat su un client (non sul tuo file system) per elencare il rootCA.pem contenuto dei decrypted.key file cert.pem e in modo da poter copiare l'output di ogni file e incollarlo quando richiesto nei passaggi seguenti.

    $ > cat cert.pem

    Copia il contenuto del certificato.

  4. È necessario installare tutti i certificati CA utilizzati durante l'autenticazione reciproca, inclusi i CA ONTAP-side sia sul lato client, nella gestione dei ONTAP certificati, a meno che non siano già installati (come nel caso di una Root-CA autofirmata ONTAP).

    Usa il comando security certificate install NetApp CLI come segue per installare il certificato client:

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

    Incolla il contenuto del cert.pem file che hai copiato in precedenza e premi Invio.

    Please enter Private Key: Press <Enter> when done

    Incolla il contenuto del decrypted.key file e premi invio.

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

    Inserisci n per completare l'immissione del certificato cliente.

  5. Crea e installa un certificato da utilizzare da SVM. La CA emittente di questo certificato deve essere già installata ONTAP e aggiunta a IPSec.

    Utilizzate il comando seguente per installare il certificato principale.

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

    Incolla il contenuto del rootCA.pem file e premi invio.

  6. Per garantire che la CA installata si trovi all'interno del percorso di ricerca della CA IPSec durante l'autenticazione, aggiungi le CA di gestione dei ONTAP certificati al modulo IPSec utilizzando il comando «security ipsec ca-certificate add».

    Immettete il seguente comando per aggiungere il certificato principale.

    FSxID123:: > security ipsec ca-certificate add -vserver dr -ca-certs ipsec-ca-cert
  7. Immettete il seguente comando per creare la politica IPSec richiesta nel database delle politiche di sicurezza (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. Utilizzate il comando seguente per visualizzare i criteri IPSec da confermare per il file system.

    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

Avviare IPSec sul client

Ora IPSec è configurato sia sul file system FSx for ONTAP che sul client, è possibile avviare IPSec sul client.

  1. Connettiti al tuo sistema client tramite SSH.

  2. Avviare IPSec.

    $ sudo ipsec start
  3. Controlla lo stato di IPSec.

    $ sudo ipsec status
  4. Monta un volume sul tuo file system.

    $ sudo mount -t nfs 198.19.254.13:/benchmark /home/ec2-user/acm/dr
  5. Verifica la configurazione IPSec mostrando la connessione crittografata sul file system 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.

Configurazione di IPSec per più client

Quando un numero limitato di client deve sfruttare IPSec, è sufficiente utilizzare una singola voce SPD per ogni client. Tuttavia, quando centinaia o addirittura migliaia di client devono sfruttare IPsec, si consiglia di utilizzare la configurazione IPSec per più client.

FSx for ONTAP supporta la connessione di più client su più reti a un unico indirizzo IP SVM con IPSec abilitato. È possibile eseguire questa operazione utilizzando la subnet configurazione o la Allow all clients configurazione, spiegate nelle seguenti procedure:

Per configurare IPsec per più client utilizzando una configurazione di sottorete

Per consentire a tutti i client di accedere a una particolare sottorete (192.168.134). 0/24 ad esempio) per connettersi a un singolo indirizzo IP SVM utilizzando una singola voce di policy SPD, è necessario specificare il modulo in subnet. remote-ip-subnets Inoltre, è necessario specificare il remote-identity campo con l'identità corretta sul lato client.

Importante

Quando si utilizza l'autenticazione tramite certificato, ogni cliente può utilizzare il proprio certificato univoco o un certificato condiviso per l'autenticazione. FSx for ONTAP IPSec verifica la validità del certificato in base alle CA installate nel suo trust store locale. FSx for ONTAP supporta anche il controllo dell'elenco di revoca dei certificati (CRL).

  1. Per accedere alla ONTAP CLI, stabilisci una sessione SSH sulla porta di gestione del file system Amazon FSx for NetApp ONTAP o SVM eseguendo il seguente comando. Sostituisci management_endpoint_ip con l'indirizzo IP della porta di gestione del file system.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Per ulteriori informazioni, consulta Gestione dei file system con ONTAP CLI.

  2. Utilizzate il comando security ipsec policy create NetApp ONTAP CLI come segue, sostituendo i sample valori con i vostri valori specifici.

    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
Per configurare IPSec per più client utilizzando una configurazione Consenti tutti i client

Per consentire a qualsiasi client, indipendentemente dall'indirizzo IP di origine, di connettersi all'indirizzo IPsec-enabled IP SVM, usa la 0.0.0.0/0 wild card quando specifichi il campo. remote-ip-subnets

Inoltre, è necessario specificare il remote-identity campo con l'identità corretta sul lato client. Per l'autenticazione tramite certificato, puoi inserireANYTHING.

Inoltre, quando il file 0.0.0. 0/0 viene utilizzata una wild card, è necessario configurare un numero di porta locale o remoto specifico da utilizzare. Ad esempio, la porta NFS 2049.

  1. Per accedere alla ONTAP CLI, stabilisci una sessione SSH sulla porta di gestione del file system Amazon FSx for NetApp ONTAP o SVM eseguendo il seguente comando. Sostituisci management_endpoint_ip con l'indirizzo IP della porta di gestione del file system.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Per ulteriori informazioni, consulta Gestione dei file system con ONTAP CLI.

  2. Utilizzate il comando security ipsec policy create NetApp ONTAP CLI come segue, sostituendo i sample valori con i vostri valori specifici.

    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