Configurazione IPsec tramite 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 IPsec tramite autenticazione tramite certificato

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

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

  1. Disponi di un'autorità di certificazione per il rilascio 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. Definire il database delle politiche di sicurezza (SPD).

  6. Configurazione IPsec per l'accesso a più client.

Creazione e installazione di certificati CA

Per l'autenticazione dei certificati, è necessario generare e installare i certificati di un'autorità di certificazione sul ONTAP file system FSx for e sui client che accederanno ai dati sul file system. L'esempio seguente utilizza AWS Private Certificate Authority la configurazione di un'autorità di certificazione privata e la generazione dei certificati da installare sul file system e sul client. Utilizzando AWS Private Certificate Authority, è possibile creare una gerarchia interamente AWS ospitata di autorità di certificazione principali e subordinate (CAs) per uso interno da parte dell'organizzazione. Questo processo prevede 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, consulta la sezione Amministrazione privata della CA nella Guida AWS Private Certificate Authority 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 dall'utente. 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

    • Informazioni sull'oggetto X.500

    $ > nano ca_config.txt

    Viene visualizzato l'editor di testo.

  2. Modifica il file con le specifiche della tua CA.

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

  4. Utilizzare il create-certificate-authority AWS Private CA CLIcomando 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 genera 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 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

    Il file risultanteca.csr, un PEM file 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' AWS Private Certificate Authority utente.

  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 utilizzando 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. Utilizzate il request-certificate AWS CLI comando per richiedere un AWS Certificate Manager certificato da utilizzare sul file system e sui 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 il certificato emesso. ARN

  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 privata crittografata a 2048 bit associata alla RSA chiave pubblica incorporata nel certificato. Per motivi di sicurezza, è necessario assegnare una passphrase per la chiave privata durante l'esportazione. L'esempio seguente riguarda 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 JSON risposta.

    $ 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. Utilizzate il openssl comando seguente per decrittografare la chiave privata dalla JSON risposta. Dopo aver immesso il comando, viene richiesta la passphrase.

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

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

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

Per installare e configurare Libreswan
  1. Connect alla propria EC2 istanza utilizzandoSSH. Per istruzioni specifiche su come eseguire questa operazione, consulta Connect alla tua istanza Linux utilizzando un SSH client 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) Durante la verifica IPsec in un passaggio successivo, queste proprietà potrebbero essere contrassegnate senza queste impostazioni. Ti suggeriamo 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 l'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 IPsec configurazione.

    $ sudo ipsec verify

    Verifica che la versione installata sia in esecuzione. Libreswan

  6. Inizializza il IPsec NSS database.

    $ sudo ipsec checknss
Per installare il certificato sul client
  1. Copia il certificato che hai generato per il client nella directory di lavoro dell'EC2istanza. 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 richiesta.

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

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

    Aggiungi 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

IPsecInizierai dal client dopo la configurazione IPsec sul tuo file system.

Configurazione IPsec sul file system

Questa sezione fornisce istruzioni sull'installazione e la configurazione IPsec del certificato sul ONTAP file system FSx for.

Per installare il certificato sul file system
  1. Copia i file del certificato principale ()rootCA.pem), del certificato client (cert.pem) e della chiave decrittografata (decrypted.key) nel file system. Dovrai conoscere la passphrase del certificato.

  2. Per accedere a NetApp ONTAPCLI, stabilisci una SSH sessione sulla porta di gestione di Amazon FSx for NetApp ONTAP file system eseguendo il comando seguente. 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 la ONTAP CLI.

  3. Utilizzatelo cat su un client (non sul file system in uso) per elencare il contenuto dei decrypted.key file cert.pem erootCA.pem, in modo da 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, sia lato lato che ONTAP lato client, nella gestione dei ONTAP certificatiCAs, a meno che non siano già installati (come nel caso di una ROOT-CA ONTAP autofirmata).

    Utilizzate il security certificate install NetApp CLI comando seguente 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}:

    Invio n per completare l'immissione del certificato client.

  5. Crea e installa un certificato da utilizzare da parte diSVM. La CA emittente di questo certificato deve essere già installata ONTAP e aggiunta aIPsec.

    Utilizzate il seguente comando per installare il certificato root.

    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 assicurarti che la CA installata rientri nel percorso di ricerca IPsec CA durante l'autenticazione, aggiungi la gestione dei ONTAP certificati CAs al IPsec modulo utilizzando il comando «security ipsec ca-certificate add».

    Immettere il comando seguente per aggiungere il certificato root.

    FSxID123:: > security ipsec ca-certificate add -vserver dr -ca-certs ipsec-ca-cert
  7. Immettere il comando seguente per creare la IPsec politica 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 mostrare la IPsec politica 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

Inizia IPsec sul client

Ora IPsec è configurato sia sul ONTAP file system FSx for che IPsec sul client, puoi iniziare dal client.

  1. Connect al sistema client utilizzandoSSH.

  2. IniziaIPsec.

    $ sudo ipsec start
  3. Controlla lo stato diIPsec.

    $ 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 IPsec configurazione mostrando la connessione crittografata sul tuo ONTAP file system FSx for.

    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 IPsec per più client

Quando è necessario sfruttare un numero limitato di clientiIPsec, è sufficiente utilizzare un'unica SPD voce per ogni cliente. Tuttavia, quando è necessario sfruttare centinaia o addirittura migliaia di clientiIPsec, consigliamo di utilizzare una configurazione con IPsec più client.

FSxfor ONTAP supporta la connessione di più client su più reti a un singolo indirizzo SVM IP se IPsec abilitato. È possibile eseguire questa operazione utilizzando la subnet configurazione o la Allow all clients configurazione, illustrate nelle seguenti procedure:

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

Per consentire a tutti i client di una particolare sottorete (ad esempio 192.168.134.0/24) di connettersi a un singolo indirizzo SVM IP utilizzando un'unica voce di SPD policy, è necessario specificarla sotto forma di sottorete. remote-ip-subnets Inoltre, è necessario specificare il campo con l'identità lato client corretta. remote-identity

Importante

Quando si utilizza l'autenticazione tramite certificato, ogni client può utilizzare il proprio certificato univoco o un certificato condiviso per l'autenticazione. FSxfor ONTAP IPsec verifica la validità del certificato in base all'archivio di fiducia CAs installato nel relativo archivio di fiducia locale. FSxfor supporta ONTAP anche il controllo dell'elenco di revoca dei certificati (CRL).

  1. Per accedere a NetApp ONTAPCLI, stabilisci una SSH sessione sulla porta di gestione di Amazon FSx for NetApp ONTAP file system eseguendo il comando seguente. 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 la ONTAP CLI.

  2. Utilizzate il security ipsec policy create NetApp ONTAP CLI comando come segue, sostituendo il sample valori con i tuoi 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 che consente l'accesso a tutti i client

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

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

Inoltre, quando si utilizza la wild card 0.0.0.0/0, è necessario configurare un numero di porta locale o remota specifico da utilizzare. Ad esempio, la porta 2049. NFS

  1. Per accedere a NetApp ONTAPCLI, stabilisci una SSH sessione sulla porta di gestione di Amazon FSx for NetApp ONTAP file system eseguendo il comando seguente. 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 la ONTAP CLI.

  2. Utilizzate il security ipsec policy create NetApp ONTAP CLI comando come segue, sostituendo il sample valori con i tuoi 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