Utilizzare l'autenticazione MD5
Il router Cloud utilizza il protocollo BGP (Border Gateway Protocol) per scambiare le route tra una rete Virtual Private Cloud (VPC) e una rete peer. Per impostazione predefinita, le sessioni BGP del router Cloud non sono autenticate. Tuttavia, quando utilizzi il router Cloud con determinati prodotti, puoi facoltativamente configurare le tue sessioni BGP in modo che utilizzino l'autenticazione MD5.
I prodotti che possono utilizzare l'autenticazione MD5 includono quanto segue:
Puoi anche utilizzare l'autenticazione MD5 con appliance virtuali di rete di terze parti. Per ulteriori informazioni, consulta appliance router nella documentazione del Network Connectivity Center.
Quando configuri una sessione per l'utilizzo dell'autenticazione MD5, devi fornire una chiave condivisa di secret, una chiave che puoi utilizzare per la configurazione del router Cloud e di nuovo quando configuri il router peer. Una volta completati i passaggi di configurazione richiesti, il router Cloud utilizza questa chiave per autenticare il peer BGP. Il router Cloud applica l'autenticazione MD5 utilizzando il modello descritto in RFC 2385.
Puoi aggiungere l'autenticazione MD5 quando crei un peer. Puoi anche aggiungere l'autenticazione a una sessione esistente, cambiare la chiave che utilizza una sessione o rimuovere l'autenticazione.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
-
Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
- Se utilizzi lGoogle Cloud CLI, imposta il tuo ID progetto eseguendo il comando seguente. Le istruzioni
gcloud
in questa pagina presuppongono che tu abbia impostato un ID progetto.gcloud config set project PROJECT_ID
-
Conferma che l'ID sia stato impostato eseguendo questo comando:
gcloud config list --format='text(core.project)'
Crea una sessione che utilizza l'autenticazione
Per alcuni prodotti per la connettività di rete, puoi configurare un peer BGP per utilizzare l'autenticazione MD5 durante la creazione della risorsa. Questi prodotti includono la VPN ad alta disponibilità e Dedicated Interconnect.
Per saperne di più, consulta le seguenti sezioni:
- Crea un tunnel VPN ad alta disponibilità connesso a un gateway VPN peer
- Crea un tunnel VPN ad alta disponibilità tra le reti Google Cloud
- Creare collegamenti VLAN (Dedicated Interconnect)
Se stai creando un collegamento VLAN a livello 2 di Partner Interconnect di livello 2, crea prima il collegamento, quindi aggiorna il peer BGP per aggiungere l'autenticazione MD5. Per informazioni su come aggiungere l'autenticazione durante l'aggiornamento di una sessione BGP, consulta la sezione seguente. Se disponi di una connessione al livello 3, contatta il tuo fornitore di servizi per avere istruzioni.
Aggiungere l'autenticazione a una sessione esistente
Per aggiungere l'autenticazione a un peer BGP esistente, utilizza una delle seguenti procedure. Quando aggiungi l'autenticazione, assicurati che la chiave che utilizzi sia identica a quella utilizzata dal router peer.
Google Cloud non mostra la chiave di autenticazione MD5 e mostra solo il nome della chiave dopo la configurazione riuscita.
- Se configuri l'autenticazione MD5 tramite gcloud o UI, Google Cloud genera automaticamente il nome chiave nella forma di
PEER_NAME-key
. - Se configuri l'autenticazione MD5 tramite API, puoi specificare il nome della chiave.
Console
Nella console Google Cloud, vai alla pagina Router Cloud.
Nel campo Nome, fai clic sul nome del router Cloud appropriato.
Nella pagina Dettagli router, fai clic sul nome della sessione BGP da modificare.
Nella pagina Dettagli sessione BGP, fai clic su
Modifica.Per aggiungere l'autenticazione MD5:
- Nella sezione Autenticazione MD5, seleziona Attivata. La pagina viene aggiornata per includere un campo di testo.
- Inserisci un token di sicurezza oppure fai clic su Genera e copia per generare un nuovo token di sicurezza.
- Prendi nota della chiave. Dopo aver lasciato questa pagina, non puoi recuperare la chiave.
Fai clic su Salva.
gcloud
Per aggiornare la sessione utilizzando gcloud CLI, utilizza il comando gcloud compute routers update-bgp-peer
:
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
Sostituisci i seguenti valori:
ROUTER_NAME
: il nome del router CloudPEER_NAME
: il nome del peer BGPREGION
: la regione Google CloudSECRET_KEY
: la tua chiave di autenticazione MD5 segreta
API
Per aggiornare la sessione utilizzando l'API, utilizza il metodo compute.routers.patch
. Quando utilizzi questo metodo per aggiungere l'autenticazione alla sessione, la tua richiesta deve soddisfare i seguenti due requisiti:
- Aggiungi una voce per la chiave nell'array
md5AuthenticationKeys
. Quando aggiungi la voce, fornisci sia un nome che un valore per la chiave. - Aggiorna l'array
bgpPeers
in modo che includa un valore per il campomd5AuthenticationKeyName
. Questo campo fa riferimento alla chiave per nome.
Quando applichi la patch all'array md5AuthenticationKeys
, devi fornire l'elemento name
di ogni elemento nell'array (a meno che tu non voglia rimuovere alcuni elementi).
Tuttavia, non è necessario fornire un valore per il campo key
di ogni elemento.
Se ometti questo valore, il router Cloud conserva il valore utilizzato in precedenza. Questo comportamento è progettato per proteggere la riservatezza delle chiavi.
È diverso dagli altri metodi di applicazione patch, che in genere richiedono di specificare un valore per ciascun campo di un elemento array.
Quando applichi una patch all'array bgpPeers
, devi fornire valori per ogni campo in ogni elemento (a meno che non vuoi rimuovere alcuni peer o alcuni valori).
Ad esempio, supponiamo che il router Cloud abbia due peer, uno che utilizza l'autenticazione MD5 e uno che non lo fa. Se vuoi lasciare invariato il primo peer, ma aggiungere l'autenticazione MD5 al secondo peer, devi utilizzare una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME_1", }, { "name": "KEY_NAME_2", "key": "SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME_1", "md5AuthenticationKeyName": "KEY_NAME_1", "interfaceName": "INTERFACE_NAME_1", "ipAddress": "IP_ADDRESS_1", "peerIpAddress": "PEER_IP_ADDRESS_1", "peerAsn": "PEER_ASN_1" }, { "name": "PEER_NAME_2", "md5AuthenticationKeyName": "KEY_NAME_2", "interfaceName": "INTERFACE_NAME_2", "ipAddress": "IP_ADDRESS_2", "peerIpAddress": "PEER_IP_ADDRESS_2", "peerAsn": "PEER_ASN_2" } ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene il router CloudREGION
: la regione Google CloudROUTER_NAME
: il nome del router CloudKEY_NAME_1
: il nome della chiave attualmente in uso (daPEER_NAME_1
)KEY_NAME_2
: il nome della nuova chiave che vuoi aggiungere perPEER_NAME_2
. Prendi nota del nome. Se vuoi apportare modifiche in un secondo momento utilizzando l'API, ti serve il nome.SECRET_KEY
: la tua chiave di autenticazione MD5 segreta che stai aggiungendo perPEER_NAME_2
PEER_NAME_1
: il nome del peer BGP che non stai modificandoINTERFACE_NAME_1
: il nome dell'interfaccia per la sessione di peering BGP che non cambiaIP_ADDRESS_1
: l'indirizzo IP sul router Cloud (per il peer che non cambia)PEER_IP_ADDRESS_1
: l'indirizzo IP del peer che non cambiaPEER_ASN_1
: il numero di sistema autonomo BGP (ASN) per il peer che non cambiaPEER_NAME_2
: il nome del peer BGP da aggiornare in modo che utilizzi l'autenticazione MD5.INTERFACE_NAME_2
: il nome dell'interfaccia per la sessione di peering BGPIP_ADDRESS_2
: l'indirizzo IP del router CloudPEER_IP_ADDRESS_2
: l'indirizzo IP del router peerPEER_ASN_2
: il numero di sistema autonomo BGP (ASN) per questo peer BGP
Aggiornare la chiave di autenticazione
Per modificare la chiave utilizzata dal router Cloud per una sessione di peering, utilizza una delle seguenti procedure. Quando aggiorni la chiave sul router Cloud, assicurati che la chiave che utilizzi sia identica a quella utilizzata dal router peer.
Google Cloud non mostra la chiave di autenticazione MD5 e mostra solo il nome della chiave dopo la configurazione riuscita.
- Se configuri l'autenticazione MD5 tramite gcloud o UI, Google Cloud genera automaticamente il nome chiave nella forma di
PEER_NAME-key
. - Se configuri l'autenticazione MD5 tramite API, puoi specificare il nome della chiave.
Console
Nella console Google Cloud, vai alla pagina Router Cloud.
Nel campo Nome, fai clic sul nome del router Cloud appropriato.
Nella pagina Dettagli router, fai clic sul nome della sessione BGP da modificare.
Nella pagina Dettagli sessione BGP, fai clic su
Modifica.Nella sezione Autenticazione MD5, fai clic su Aggiorna chiave di autenticazione MD5.
Nel campo Chiave di autenticazione MD5, inserisci la nuova chiave di autenticazione del secret oppure, per completare il campo, fai clic su Genera e copia.
Prendi nota della chiave. Dopo aver lasciato questa pagina, non puoi recuperare la chiave.
Fai clic su Salva.
gcloud
Per aggiornare la sessione, utilizza il comando gcloud compute routers update-bgp-peer
.
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
Sostituisci i seguenti valori:
ROUTER_NAME
: il nome del router CloudPEER_NAME
: il nome del peer BGPREGION
: la regione Google CloudSECRET_KEY
: la nuova chiave di autenticazione MD5 segreta che vuoi utilizzare
API
Per aggiornare la sessione, utilizza il metodo compute.routers.patch
. Ad esempio, utilizza una richiesta come la seguente.
Questo esempio sostituisce l'intero array peer, non solo il peer specifico identificato. In altre parole, rimuove tutti i peer tranne PEER_NAME
. Rimuove tutte le chiavi tranne KEY_NAME
e aggiorna KEY_NAME
con il nuovo valore UPDATED_SECRET_KEY
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME", "key": "UPDATED_SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME", "md5AuthenticationKeyName": "KEY_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "peerAsn": "PEER_ASN" } ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene il router CloudREGION
: la regione Google CloudROUTER_NAME
: il nome del router CloudKEY_NAME
: il nome della chiave che vuoi aggiornare. Ogni volta che utilizzi l'autenticazione MD5 utilizzando l'API, devi fare riferimento alla chiave tramite il suo nome.UPDATED_SECRET_KEY
: la nuova chiave di autenticazione MD5 segretaPEER_NAME
: il nome del peer BGPINTERFACE_NAME
: il nome dell'interfaccia per la sessione di peering BGPIP_ADDRESS
: l'indirizzo IP del router CloudPEER_IP_ADDRESS
: l'indirizzo IP del router peerPEER_ASN
: il numero di sistema autonomo BGP (ASN) per questo peer BGP
Controllare lo stato dell'autenticazione
Per controllare lo stato dell'autenticazione MD5: Vedi anche Visualizzare i dettagli del router Cloud.
Console
Nella console Google Cloud, vai alla pagina Router Cloud.
Nel campo Nome, fai clic sul nome del router Cloud appropriato.
Nella pagina Dettagli router, cerca la colonna Autenticazione MD5. Per ogni sessione, il valore in questa colonna indica se l'autenticazione MD5 è abilitata.
gcloud
Per controllare la sessione utilizzando gcloud CLI, utilizza il comando gcloud compute routers get-status
.
gcloud compute routers get-status ROUTER_NAME \ --project=PROJECT \ --region=REGION \
Sostituisci i seguenti valori:
ROUTER_NAME
: il nome del router CloudPROJECT
: il nome del progettoREGION
: la regione Google Cloud
L'output include l'oggetto result.bgpPeerStatus[]
, che contiene informazioni sulle sessioni BGP del router Cloud. I dati relativi a ogni sessione includono i seguenti due campi:
md5AuthEnabled
: un campo booleano che indica se l'autenticazione MD5 è abilitata per la sessionestatusReason
: un campo che descrive lo stato della sessione.
API
Utilizza il metodo
routers.getRouterStatus
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus
Sostituisci quanto segue:
PROJECT_ID
: il progetto che contiene il router CloudREGION
: la regione in cui si trova il router CloudROUTER_NAME
: il nome del router Cloud
L'output include informazioni su ogni sessione BGP. I dati relativi a ogni sessione includono i seguenti due campi:
md5AuthEnabled
: un campo booleano che indica se l'autenticazione MD5 è abilitata per la sessionestatusReason
: un campo che descrive lo stato della sessione. Questo campo viene visualizzato solo quando si verifica un problema con l'autenticazione MD5. In questo caso, il valore del campo èMD5_AUTH_INTERNAL_PROBLEM
.
Per configurare il monitoraggio continuo delle sessioni BGP, utilizza Cloud Logging. Il logging registra le informazioni sullo stato di autenticazione MD5 nell'evento BGP, che fa parte del log delle informazioni.
Rimuovere l'autenticazione da una sessione
Se vuoi rimuovere l'autenticazione MD5 da una sessione BGP, devi rimuovere l'autenticazione MD5 sia dal router Cloud che dal router peer.
Per rimuovere l'autenticazione MD5 dalla sessione BGP sul router Cloud, utilizza una delle seguenti procedure.
Console
Nella console Google Cloud, vai alla pagina Router Cloud.
Nel campo Nome, fai clic sul nome del router Cloud appropriato.
Nella pagina Dettagli router, fai clic sul nome della sessione BGP da modificare.
Nella pagina Dettagli sessione BGP, fai clic su
Modifica.Per Autenticazione MD5, fai clic su Disattivata.
Fai clic su Salva. Viene visualizzata la finestra di dialogo Disattiva chiave di autenticazione MD5.
Nella finestra di dialogo di conferma, fai clic su Conferma.
gcloud
Per rimuovere l'autenticazione MD5, utilizza il comando gcloud compute routers update-bgp-peer
:
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --clear-md5-authentication-key
Sostituisci i seguenti valori:
ROUTER_NAME
: il nome del router CloudPEER_NAME
: il nome del peer BGPREGION
: la regione Google Cloud
API
Per rimuovere l'autenticazione MD5, utilizza il metodo compute.routers.patch
.
Quando rimuovi l'autenticazione utilizzando l'API, l'aggiornamento deve eseguire due operazioni:
- Aggiorna l'array
md5AuthenticationKeys
- Rimuovi il valore
md5AuthenticationKey
dalla vocebgpPeers
pertinente
Ad esempio, se il router Cloud ha due peer BGP e vuoi rimuovere l'autenticazione MD5 da uno di questi. In questo caso, utilizza una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_UNCHANGED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_UPDATED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UPDATED_PEER", "ipAddress": "IP_ADDRESS_FOR_UPDATED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UPDATED_PEER", "peerAsn": "PEER_ASN_FOR_UPDATED_PEER" }, { "name": "NAME_OF_UNCHANGED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UNCHANGED_PEER", "ipAddress": "IP_ADDRESS_FOR_UNCHANGED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UNCHANGED_PEER", "peerAsn": "PEER_ASN_FOR_UNCHANGED_PEER" "md5AuthenticationKeyName": "KEY_NAME_FOR_UNCHANGED_PEER" } ], ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene il router CloudREGION
: la regione di Google Cloud in cui si trova il router CloudROUTER_NAME
: il nome del router CloudNAME_OF_UPDATED_PEER
: il nome della sessione di peering che vuoi modificareINTERFACE_NAME_FOR_UPDATED_PEER
: il nome dell'interfaccia del peer BGP da modificareIP_ADDRESS_FOR_UPDATED_PEER
: l'indirizzo IP sul router Cloud utilizzato dal peer che vuoi modificarePEER_IP_ADDRESS_FOR_UPDATED_PEER
: l'indirizzo IP del router peer per la sessione di peering da modificarePEER_ASN
: il numero di sistema autonomo BGP (ASN) per questo peer BGP da modificareNAME_OF_UNCHANGED_PEER
: il nome della sessione di peering che vuoi mantenere così com'èINTERFACE_NAME_FOR_UNCHANGED_PEER
: il nome dell'interfaccia per il peer BGP da mantenere così com'èIP_ADDRESS_FOR_UNCHANGED_PEER
: l'indirizzo IP sul router Cloud utilizzato dal peer che vuoi mantenere così com'èPEER_IP_ADDRESS_FOR_UNCHANGED_PEER
: l'indirizzo IP del router peer per la sessione di peering che vuoi mantenere così com'èPEER_ASN_FOR_UNCHANGED_PEER
: il numero di sistema autonomo BGP (ASN) per il peer BGP che vuoi mantenere così com'èKEY_NAME_FOR_UNCHANGED_PEER
: il nome della chiave di autenticazione MD5 per il peer BGP da mantenere così com'è
Rimuovere una sessione che utilizza l'autenticazione
Per rimuovere una sessione di peering che utilizza l'autenticazione MD5, utilizza una delle seguenti procedure.
Console
Nella console Google Cloud, vai alla pagina Router Cloud.
- Seleziona il router da cui vuoi rimuovere una sessione BGP.
- Per Sessioni BGP, seleziona la sessione BGP da rimuovere.
- Nella parte superiore della pagina, fai clic su Elimina, quindi conferma l'eliminazione.
gcloud
Per rimuovere una sessione BGP con l'autenticazione MD5 abilitata, utilizza il comando gcloud compute routers remove-bgp-peer
.
Per saperne di più, consulta Disattivare o rimuovere le sessioni BGP.
API
Per rimuovere una sessione BGP con l'autenticazione MD5 abilitata, utilizza il metodo compute.routers.patch
.
Quando rimuovi una sessione BGP con autenticazione MD5 utilizzando l'API, l'aggiornamento deve fare due cose: rimuovere la chiave dall'array md5AuthenticationKeys
e rimuovere il bgpPeer
stesso.
Ad esempio, supponiamo che il router Cloud abbia due peer e vuoi rimuoverne uno. In questo caso, utilizza una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_RETAINED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_RETAINED_PEER", "interfaceName": "INTERFACE_FOR_RETAINED_PEER", "ipAddress": "IP_ADDRESS_FOR_RETAINED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_RETAINED_PEER", "peerAsn": "PEER_ASN_FOR_RETAINED_PEER", "md5AuthenticationKeyName": "KEY_NAME_FOR_RETAINED_PEER" } ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene il router CloudREGION
: la regione Google CloudROUTER_NAME
: il nome del router CloudKEY_NAME_FOR_RETAINED_PEER
: il nome della chiave utilizzata dal peer che stai conservandoNAME_OF_RETAINED_PEER
: il nome del peer BGP che stai mantenendoINTERFACE_FOR_RETAINED_PEER
: il nome dell'interfaccia del peer BGP che stai conservandoIP_ADDRESS_FOR_RETAINED_PEER
: l'indirizzo IP sul router Cloud per il peer che stai mantenendoPEER_IP_ADDRESS_FOR_RETAINED_PEER
: l'indirizzo IP del peer che stai mantenendoPEER_ASN_FOR_RETAINED_PEER
: il numero di sistema autonomo BGP (ASN) per il peer che stai mantenendoKEY_NAME_FOR_RETAINED_PEER
: il nome della chiave di autenticazione MD5 per il peer BGP che stai conservando
Supponi, ad esempio, di aver creato i seguenti peer:
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", "key": "first_secret_key_value" }, { "name": "second_key_name", "key": "second_secret_key_value" } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" }, { "name": "second_peer", "md5AuthenticationKeyName": "second_key_name", "interfaceName": "second_interface", "ipAddress": "second_address", "peerIpAddress": "second_peer_interface", "peerAsn": "second_peer_asn" } ], }
Se poi volessi rimuovere il secondo peer, dovresti utilizzare una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" } ], }