Aggiornamento a più algoritmi IKE e IPsec
VPN for VPC consente di configurare più algoritmi per le politiche IKE e IPsec. L'uso di più algoritmi può migliorare la compatibilità, la flessibilità e la sicurezza.
Seguire le istruzioni riportate di seguito per passare dalle proprietà degli algoritmi singole, ormai obsolete, a proprietà multiple degli algoritmi.
Prima di iniziare
Prima di aggiornare le politiche relative alla VPN, si prega di prendere visione delle seguenti informazioni.
Proprietà dell'algoritmo singolare deprecate
A partire dal 29 maggio 2026, le proprietà degli algoritmi singolari VPN IKE e IPsec sono deprecate. Le connessioni VPN esistenti configurate con proprietà specifiche continuano a funzionare senza modifiche. Si raccomanda tuttavia di passare alle proprietà dell'algoritmo basate su array il prima possibile.
| Proprietà singolare IKE (deprecata) | IKE con più proprietà (consigliato) |
|---|---|
authentication_algorithm |
authentication_algorithms |
encryption_algorithm |
encryption_algorithms |
dh_group |
dh_groups |
| Proprietà singolare IPsec (deprecata) | Proprietà multipla IPsec (consigliata) |
|---|---|
authentication_algorithm |
authentication_algorithms |
encryption_algorithm |
encryption_algorithms |
pfs |
pfs_groups |
Utilizza più algoritmi quando il tuo ambiente VPN richiede la compatibilità con peer che supportano algoritmi crittografici diversi oppure quando desideri dare priorità a una crittografia più forte, pur mantenendo la retrocompatibilità.
Considerazioni importanti
- Le connessioni VPN che utilizzano criteri IKE o IPsec personalizzati con proprietà algoritmiche singolari obsolete potrebbero presentare errori di negoziazione o problemi di interoperabilità.
- È possibile creare nuove politiche IKE e IPsec solo utilizzando proprietà algoritmiche basate su array.
- Quando si aggiorna un criterio IKE o IPsec esistente, è possibile che il tunnel VPN venga temporaneamente disconnesso mentre la connessione viene ristabilita.
- Se le procedure di disaster recovery, l'automazione, gli script, le integrazioni API o i flussi di lavoro CLI fanno riferimento a proprietà singolari deprecate, aggiornarli di conseguenza.
- Rivedere le politiche IKE e IPsec correnti per identificare gli algoritmi in uso.
- Verificare che il gateway VPN peer supporti gli algoritmi che si intende configurare su IBM Cloud.
- Configurare gli algoritmi di corrispondenza sul gateway VPN peer per la negoziazione IKE e IPsec prima di aggiornare il gateway IBM Cloud VPN.
- Pianificate gli aggiornamenti dei criteri durante una finestra di manutenzione per ridurre al minimo le interruzioni del servizio.
Comprendere il comportamento degli aggiornamenti nell'API
L'API sincronizza automaticamente le proprietà degli algoritmi singolari e basati su array. Prima di aggiornare le vostre politiche, esaminate i comportamenti e le restrizioni seguenti.
- Compatibilità della versione IKE
- Le proprietà degli algoritmi basati su array sono supportate solo con IKEv2. Se si utilizza IKEv1, è necessario configurare un unico algoritmo per ciascuna categoria utilizzando proprietà singolari.
- Utilizzare IKEv2 con le proprietà basate su array:
{
"ike_version": 2,
"authentication_algorithms": ["sha512", "sha256"],
"encryption_algorithms": ["aes256", "aes128"]
}
- Utilizza " IKEv1 " con le proprietà al singolare:
{
"ike_version": 1,
"authentication_algorithm": "sha256",
"encryption_algorithm": "aes128"
}
IKEv1 supporta solo un algoritmo per categoria. Le connessioni VPN che utilizzano IKEv1 non supportano le proprietà degli algoritmi IKE o IPsec basati su array. Utilizzate IKEv2 quando possibile.
- Sincronizzazione automatica
- Quando si aggiornano le proprietà basate su array (
authentication_algorithms,encryption_algorithms,dh_groups,pfs_groups), le proprietà singolari corrispondenti (authentication_algorithm,encryption_algorithm,dh_group,pfs) vengono aggiornate automaticamente. Allo stesso modo, l'aggiornamento delle proprietà singolari aggiorna automaticamente le relative proprietà basate su array. Per esempi, si veda:
- Indicatori di sola lettura
- Quando sono configurati più algoritmi, le proprietà singolari (
authentication_algorithm,encryption_algorithm) restituiscono valori indicatori di sola lettura nelle risposte dell'API. Ad esempio:
authentication_algorithmRestituisce"multiple"encryption_algorithmRestituisce"multiple"dh_groupRestituisce65535
Questi valori vengono restituiti solo nelle risposte e non possono essere inviati in una richiesta a PATCH.
{
"authentication_algorithms": ["sha256", "sha384", "sha512"],
"authentication_algorithm": "multiple",
"dh_groups": [14, 15, 16],
"dh_group": 65535,
"encryption_algorithms": ["aes128", "aes256"],
"encryption_algorithm": "multiple"
}
Se in una proprietà basata su array è configurato un solo algoritmo, la proprietà singolare restituisce il valore configurato anziché "multiple".
{
"authentication_algorithms": ["sha256"],
"authentication_algorithm": "sha256",
"dh_groups": [14],
"dh_group": 14,
"encryption_algorithms": ["aes128"],
"encryption_algorithm": "aes128"
}
- Restrizione alla miscelazione di proprietà
- Non mischiare proprietà singolari e basate su array per la stessa categoria di algoritmi in una singola richiesta. Scegliete un approccio per ogni richiesta.
- Esempio corretto: Questo esempio include le proprietà dell'algoritmo per IKE, dove vengono utilizzate solo proprietà basate su array per tutte le categorie:
curl -X PATCH "$vpc_api_endpoint/v1/ike_policies/$ike_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["sha256", "sha384", "sha512"],
"dh_groups": [14, 15, 16],
"encryption_algorithms": ["aes128", "aes256"]
}'
- Esempio errato: Questo esempio include le proprietà dell'algoritmo per IKE, in cui sia le proprietà singolari che quelle basate su array sono mescolate per la stessa categoria:
curl -X PATCH "$vpc_api_endpoint/v1/ike_policies/$ike_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithm": "sha512",
"authentication_algorithms": ["sha256", "sha384", "sha512"],
"dh_groups": [14, 15, 16],
"encryption_algorithms": ["aes128", "aes256"]
}'
- GCM requisiti e restrizioni dell'algoritmo
- Se la proprietà
encryption_algorithmscontiene algoritmi basati su GCM (aes128gcm16,aes192gcm16, oaes256gcm16), la proprietàauthentication_algorithmsdeve essere impostata su["disabled"].
- Esempio corretto: mostra le proprietà dell'algoritmo IPsec quando l'array
encryption_algorithmsinclude algoritmi basati suGCM:
curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["disabled"],
"encryption_algorithms": ["aes256gcm16", "aes192gcm16"],
"pfs_groups": ["group_14", "group_15", "group_16"]
}'
- Esempio errato: mostra le proprietà dell'algoritmo per IPsec in cui l'array
encryption_algorithmsinclude algoritmi basati suGCM:
curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["sha256"],
"encryption_algorithms": ["aes256gcm16", "aes192gcm16"],
"pfs_groups": ["group_14", "group_15", "group_16"]
}'
GCM Gli algoritmi di crittografia e autenticazione incorporati fanno parte di un'unica operazione. Non configurare algoritmi di autenticazione separati come sha256 o sha512 con algoritmi di crittografia GCM.
Non mescolare algoritmi di crittografia GCM e non GCM nella stessa politica. La loro combinazione può causare conflitti di configurazione e errori di negoziazione.
: Quando l'opzione " authentication_algorithms " è impostata su " ["disabled"]", è necessario aggiornare anche l'opzione " authentication_algorithms " quando si
passa da algoritmi di crittografia " GCM " a algoritmi non " GCM ".
- Esempio corretto: Aggiorna entrambe le proprietà
encryption_algorithmseauthentication_algorithms:
curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["sha512", "sha256"],
"encryption_algorithms": ["aes256", "aes128"],
"pfs_groups": ["group_14", "group_15", "group_16"]
}'
- Esempio errato: Mostra un caso in cui solo la proprietà
encryption_algorithmsviene aggiornata con algoritmi non GCM (aes128,aes192,aes256):
curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["disabled"],
"encryption_algorithms": ["aes256", "aes128"],
"pfs_groups": ["group_14", "group_15", "group_16"]
}'
- Regole di validazione dell'algoritmo
- Assicurarsi che tutti i valori dell'algoritmo nella richiesta siano validi, unici e non vuoti. Utilizzare solo nomi di algoritmi supportati, evitare i duplicati e fornire almeno un valore in ogni array. Le voci non valide, duplicate o vuote possono causare un errore di convalida.
- Esempio corretto: Aggiorna i valori degli algoritmi, dove gli algoritmi e i valori supportati sono utilizzati per tutte le categorie:
{
"authentication_algorithms": ["sha512", "sha256"],
"dh_groups": [14, 15],
"encryption_algorithms": ["aes256", "aes192", "aes128"]
}
- Esempio errato: Aggiorna i valori dell'algoritmo, dove vengono utilizzati valori duplicati nella stessa categoria di algoritmo:
{
"authentication_algorithms": ["sha512", "sha256"],
"dh_groups": [14, 15],
"encryption_algorithms": ["aes256", "aes256", "aes128"]
}
Aggiornamento dei criteri IKE con l'API
Segui questi passaggi per aggiornare le tue politiche IKE passando da un algoritmo singolo a uno multiplo.
Prima di iniziare, assicurarsi di configurare l 'ambiente API.
Per aggiornare un criterio IKE con l'API, procedere come segue:
-
Memorizzare l'ID del criterio IKE in una variabile, ad esempio:
export ike_policy_id=<your_ike_policy_id>Per trovare l'ID del criterio IKE, utilizzare il comando list IKE policies.
-
Aggiornare il criterio IKE per utilizzare più algoritmi. Sostituire le proprietà singolari con le corrispondenti proprietà basate su array.
authentication_algorithms- Gamma di algoritmi di autenticazione. Opzioni:sha256,sha384,sha512.dh_groups- Array di gruppi Diffie-Hellman. Opzioni:14,15,16,17,18,19,20,21,22,23,24,31.encryption_algorithms- Gamma di algoritmi di crittografia. Opzioni:aes128,aes192,aes256.curl -X PATCH "$vpc_api_endpoint/v1/ike_policies/$ike_policy_id?version=$api_version&generation=2" \ -H "Authorization: $iam_token" \ -d '{ "authentication_algorithms": ["sha256", "sha384", "sha512"], "dh_groups": [14, 15, 16], "encryption_algorithms": ["aes128", "aes256"] }'
Esempi di aggiornamento dei criteri IKE
Quando si aggiornano le proprietà basate su array encryption_algorithms, authentication_algorithms e dh_groups nel criterio IKE, le corrispondenti proprietà singolari encryption_algorithm,
authentication_algorithm e dh_group vengono aggiornate automaticamente. Allo stesso modo, quando si aggiorna una qualsiasi proprietà singolare, vengono aggiornate automaticamente anche le proprietà associate basate
su array.
L'esempio seguente mostra come le richieste di PATCH influenzino sia le proprietà singolari che quelle degli array:
Esempio 1: algoritmi da singoli a multipli
-
Questo esempio mostra il comportamento del patching da algoritmi singoli a multipli. Lo stato attuale mostra la proprietà a valore singolo
encryption_algorithmimpostata suaes128, e la proprietà basata su arrayencryption_algorithmscontenente soloaes128.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "dh_groups": [ 14 ], "encryption_algorithm": "aes128", "encryption_algorithms": [ "aes128" ], "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 2, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" } -
Nella richiesta
PATCH, la proprietàencryption_algorithmsbasata su array viene aggiornata in modo da specificare siaaes128cheaes256.{ "encryption_algorithms": [ "aes128", "aes256" ] } -
Una risposta corretta è simile all'esempio riportato di seguito. In questa risposta, la proprietà singolare
encryption_algorithmrestituisce un valore di sola lettura"multiple", indicando che sono ora configurati più algoritmi. Questo campo non può essere modificato direttamente tramite una richiestaPATCH. La proprietà basata su arrayencryption_algorithmsè stata aggiornata per includere siaaes128cheaes256.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "dh_groups": [ 14 ], "encryption_algorithm": "multiple", "encryption_algorithms": [ "aes128", "aes256" ], "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 2, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" }
Esempio 2: Algoritmi multipli in un unico algoritmo
-
Questo esempio mostra il comportamento del patching da più algoritmi a un singolo algoritmo. Lo stato attuale mostra la proprietà a valore singolo
encryption_algorithmimpostata su"multiple", e la proprietà basata su arrayencryption_algorithmscontenenteaes128eaes256.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "dh_groups": [ 14 ], "encryption_algorithm": "multiple", "encryption_algorithms": [ "aes128", "aes256" ], "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 2, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" } -
Nella richiesta
PATCH, la proprietàencryption_algorithmsbasata su array viene aggiornata in modo da specificare soloaes256.{ "encryption_algorithms": [ "aes256" ] } -
Una risposta corretta è simile all'esempio riportato di seguito. In questa risposta, la proprietà a valore singolo
encryption_algorithmviene automaticamente impostata suaes256, indicando che è configurato un solo algoritmo. La proprietà basata su arrayencryption_algorithmsè stata aggiornata per includereaes256.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "dh_groups": [ 14 ], "encryption_algorithm": "aes256", "encryption_algorithms": [ "aes256" ], "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 2, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" }
Aggiornamento dei criteri IPsec con l'API
Seguire questi passaggi per aggiornare i criteri IPsec da proprietà di algoritmi singolari a proprietà di algoritmi basati su array.
Prima di iniziare, assicurarsi di configurare l 'ambiente API.
Per aggiornare un criterio IPsec con l'API, procedere come segue:
-
Memorizzare l'ID del criterio IPsec in una variabile, ad esempio:
export ipsec_policy_id=<your_ipsec_policy_id>Per trovare l'ID del criterio IPsec, utilizzare il comando list IPsec policies.
-
Aggiornare il criterio IPsec per utilizzare più algoritmi. Sostituire le proprietà singolari con le corrispondenti proprietà basate su array.
authentication_algorithms- Gamma di algoritmi di autenticazione. Opzioni:sha256,sha384,sha512,disabled.encryption_algorithms- Gamma di algoritmi di crittografia. Opzioni:aes128,aes192,aes256,aes128gcm16,aes192gcm16,aes256gcm16.pfs_groups- Schiera di gruppi di Perfect Forward Secrecy. Opzioni:disabled,group_14,group_15,group_16,group_17,group_18,group_19,group_20,group_21,group_22,group_23,group_24,group_31.curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \ -H "Authorization: $iam_token" \ -d '{ "authentication_algorithms": ["sha256", "sha384", "sha512"], "encryption_algorithms": ["aes128", "aes256"], "pfs_groups": ["group_14", "group_15", "group_16"] }'
Esempi di aggiornamento dei criteri IPsec
Quando si aggiornano le proprietà basate su array encryption_algorithms, authentication_algorithms e pfs_groups in un criterio IPsec, le corrispondenti proprietà a valore singolo encryption_algorithm,
authentication_algorithm e pfs vengono aggiornate automaticamente. Allo stesso modo, quando si aggiorna una qualsiasi proprietà a valore singolo, vengono aggiornate automaticamente anche le proprietà basate su array
associate.
L'esempio seguente mostra come le richieste di PATCH influenzino sia le proprietà singolari che quelle degli array:
Esempio 1: algoritmi da singoli a multipli
-
Questo esempio mostra il comportamento del patching da algoritmi singoli a multipli. Lo stato attuale mostra la proprietà a valore singolo
encryption_algorithmimpostata suaes128, e la proprietà basata su arrayencryption_algorithmscontenente soloaes128.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "connections": [], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "aes128", "encryption_algorithms": [ "aes128" ], "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 3600, "name": "my-ipsec-policy", "pfs": "group_14", "pfs_groups": [ "group_14" ], "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" } -
Nella richiesta
PATCH, la proprietàencryption_algorithmsbasata su array viene aggiornata in modo da specificare siaaes128cheaes256.{ "encryption_algorithms": [ "aes128", "aes256" ] } -
Una risposta corretta è simile all'esempio riportato di seguito. In questa risposta, la proprietà a valore singolo
encryption_algorithmviene automaticamente impostata sul valore di sola lettura"multiple", a indicare che ora sono configurati più algoritmi. Questo campo non può essere modificato direttamente tramite una richiestaPATCH. La proprietà basata su arrayencryption_algorithmsora include siaaes128cheaes256.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "connections": [], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "multiple", "encryption_algorithms": [ "aes128", "aes256" ], "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 3600, "name": "my-ipsec-policy", "pfs": "group_14", "pfs_groups": [ "group_14" ], "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" }
Esempio 2: Algoritmi multipli in un unico algoritmo
-
Questo esempio mostra il comportamento del patching da più algoritmi a un singolo algoritmo. Lo stato attuale mostra la proprietà a valore singolo
encryption_algorithmimpostata su"multiple", e la proprietà basata su arrayencryption_algorithmscontenenteaes128eaes256.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "connections": [], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "multiple", "encryption_algorithms": [ "aes128", "aes256" ], "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 3600, "name": "my-ipsec-policy", "pfs": "group_14", "pfs_groups": [ "group_14" ], "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" } -
Nella richiesta
PATCH, la proprietàencryption_algorithmsbasata su array viene aggiornata in modo da specificare soloaes256.{ "encryption_algorithms": [ "aes256" ] } -
Una risposta corretta è simile all'esempio riportato di seguito. In questa risposta, la proprietà a valore singolo
encryption_algorithmviene automaticamente impostata suaes256, indicando che è configurato un solo algoritmo. La proprietà basata su arrayencryption_algorithmsè stata aggiornata per includereaes256.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "connections": [], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "aes256", "encryption_algorithms": [ "aes256" ], "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 3600, "name": "my-ipsec-policy", "pfs": "group_14", "pfs_groups": [ "group_14" ], "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" }