Segui queste istruzioni per configurare Cloud IDS per la tua applicazione. Per informazioni concettuali su Cloud IDS, consulta la panoramica di Cloud IDS.
Prima di iniziare
Prima di configurare Cloud IDS, devi soddisfare i seguenti requisiti.
Configura le autorizzazioni IAM per Cloud IDS
Cloud IDS ha diversi ruoli Identity and Access Management (IAM). Puoi utilizzare i comandi di esempio per concedere a un principal le autorizzazioni IAM necessarie.
Ruolo Cloud IDS Admin (
roles/ids.admin
). I principal del progetto con questo ruolo possono creare endpoint IDS. Se sei il proprietario di un progetto, disponi già di questa autorizzazione e non hai bisogno di un ruoloids.admin
esplicito per creare endpoint IDS.gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/ids.admin \ --member=user:USER_NAME ;
Questo ruolo consente le seguenti operazioni:
- Crea endpoint
- Elimina endpoint
- Ricevi endpoint
- Endpoint di elenco
Ruolo Visualizzatore Cloud IDS (
roles/ids.viewer
). I visualizzatori di progetti e i principal con questo ruolo hanno accesso di sola lettura agli endpoint IDS. Se sei il proprietario, l'editor o il visualizzatore di un progetto, disponi già di questa autorizzazione.gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/ids.viewer \ --member=user:USER_NAME ;
Ruolo Utente mirroring pacchetto Compute (
roles/compute.packetMirroringUser
). Un ruolo necessario per collegare un criterio di mirroring pacchetto all'endpoint IDS. Se disponi del ruolocompute.securityAdmin
ocontainer.serviceAgent
, hai già questa autorizzazione. Per saperne di più su questo ruolo, consulta il riferimento ai ruoli di base e predefiniti di IAM.gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/compute.packetMirroringUser \ --member=user:USER_NAME ;
Ruolo Visualizzatore log (
roles/logging.viewer
). Un ruolo aggiuntivo necessario per visualizzare le minacce recenti, una funzionalità di base fondamentale di Cloud IDS. Per saperne di più su questo ruolo, consulta la guida al controllo dell'accesso.gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/logging.viewer \ --member=user:USER_NAME ;
Inoltre, devi disporre delle seguenti autorizzazioni varie:
compute.regions.list
compute.zones.list
Configura l'accesso privato ai servizi
Per creare endpoint IDS, devi abilitare l'API Service Networking e configurare il peering di rete per la rete Virtual Private Cloud (VPC). Questa operazione
deve essere eseguita una sola volta per progetto cliente e può essere eseguita utilizzando la
consoleGoogle Cloud o Google Cloud CLI. Quando allochi un intervallo di indirizzi IP,
deve essere un intervallo di indirizzi IP privati conforme a RFC 1918 (10.0.0.0/8
,
172.16.0.0/12
o 192.168.0.0/16
), altrimenti la creazione dell'endpoint non va a buon fine.
Per configurare l'accesso privato ai servizi:
Abilita l'API Service Networking utilizzando il comando seguente. Sostituisci
PROJECT_ID
con l'ID progetto.gcloud services enable servicenetworking.googleapis.com \ --project=PROJECT_ID
Se non hai ancora allocato un intervallo di indirizzi IP nella tua rete, devi allocare un intervallo IP per i servizi Google nella tua rete VPC. Nel comando seguente, puoi omettere il campo
addresses
e Google Cloud seleziona un intervallo di indirizzi inutilizzato nella tua rete VPC:gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Sostituisci quanto segue:
RESERVED_RANGE_NAME
: un nome per l'intervallo allocato, ad esempiomy-allocated-range
DESCRIPTION
: una descrizione dell'intervallo, ad esempioallocated for my-service
VPC_NETWORK
: il nome della tua rete VPC, ad esempiomy-vpc-network
Crea una connessione privata a un producer di servizi. La connessione privata stabilisce una connessione di peering di rete VPC tra la tua rete VPC e la rete del producer di servizi.
Se hai già una connessione privata esistente, utilizza il comando
gcloud services vpc-peerings update
per aggiornarla:gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
Se non hai ancora una connessione privata, utilizza il comando
gcloud services vpc-peerings connect
. Questo comando avvia un'operazione a lunga esecuzione che restituisce un nome di operazione.gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
Sostituisci quanto segue:
RESERVED_RANGE_NAME
: il nome di uno o più intervalli allocatiVPC_NETWORK
: il nome della tua rete VPCPROJECT_ID
: l'ID del progetto che contiene la tua rete VPC
Per verificare se l'operazione è andata a buon fine, utilizza il comando
gcloud services vpc-peerings operations describe
:gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
Sostituisci
OPERATION_NAME
con il nome dell'operazione restituito dal passaggio precedente.
Ripeti i passaggi 2 e 3 per ogni rete VPC che vuoi monitorare.
(Facoltativo) Abilita i Controlli di servizio VPC
Dopo aver attivato l'accesso privato ai servizi, puoi facoltativamente attivare i controlli di servizio VPC su Cloud IDS.
Se abilitato, esegui il comando services vpc-peerings enable-vpc-service-controls
per abilitare i Controlli di servizio VPC per tutte le connessioni di peering:
gcloud services vpc-peerings enable-vpc-service-controls \ --service=servicenetworking.googleapis.com \ --network=VPC_NETWORK \ --project=PROJECT_ID
Sostituisci quanto segue:
VPC_NETWORK
: il nome della tua rete VPCPROJECT_ID
: l'ID del progetto che contiene la tua rete VPC
Comprendere le best practice
Ti consigliamo di comprendere le best practice prima di configurare Cloud IDS. Per saperne di più, consulta le best practice per Cloud IDS.
Configura gli endpoint Cloud IDS
Le sezioni seguenti spiegano come creare endpoint Cloud IDS, collegarli a un criterio di Mirroring pacchetto, visualizzare gli endpoint Cloud IDS, eliminare gli endpoint Cloud IDS e come configurare le eccezioni alle minacce.
Crea un endpoint Cloud IDS
Ti consigliamo di creare un endpoint IDS per ogni regione in cui hai eseguito il deployment dei carichi di lavoro. Puoi anche creare più endpoint IDS per regione. Segui questi passaggi per creare un endpoint IDS e assegnargli un profilo di servizio IDS.
Console
Nella console Google Cloud , vai a Endpoint IDS.
Configura l'endpoint:
- Fai clic su Crea endpoint.
- Inserisci un nome nel campo Nome endpoint.
- (Facoltativo) Inserisci una descrizione nel campo Descrizione.
- Fai clic sull'elenco a discesa Rete e seleziona la rete che vuoi che Cloud IDS ispezioni.
- Scegli la regione e la zona della rete o della subnet dagli elenchi a discesa Regione e Zona.
- Fai clic su Continua.
Seleziona il profilo di servizio Cloud IDS:
- Fai clic su Seleziona profilo di servizio IDS.
- In Livello di gravità minima delle minacce, seleziona il livello di avviso corretto.
- Fai clic su Crea. Il processo di creazione può richiedere 10-15 minuti.
gcloud
Flag facoltativi
I comandi in questa sezione potrebbero avere alcuni o tutti i seguenti flag facoltativi:
--no-async
--filter=EXPRESSION
--flatten
, --sort-by
, --filter
,
--limit
.
--limit=LIMIT
--flatten
, --sort-by
, --filter
,
--limit
.
--page-size=PAGE_SIZE
--filter
e --limit
, a seconda del servizio.
--sort-by=[FIELD,…]
~
) a un campo per ordinare i dati in ordine decrescente in base a quel campo. Questo flag interagisce con altri flag che vengono applicati in questo ordine:
--flatten
, --sort-by
, --filter
,
--limit
.
--uri
--threat-exceptions
Istruzioni
Per creare un nuovo endpoint IDS:
Utilizza il comando
gcloud ids endpoints create
. SostituisciENDPOINT_NAME
,VPC_NETWORK
,ZONE
eSEVERITY
con informazioni che corrispondono alla tua applicazione.gcloud ids endpoints create ENDPOINT_NAME \ --network=VPC_NETWORK \ --zone=ZONE \ --severity=SEVERITY \ [--no-async] \ [GCLOUD_WIDE_FLAG...]
Il flag di gravità è obbligatorio e assume uno dei seguenti valori:
- INFORMATIVA
- BASSO
- MEDIO
- ALTO
- CRITICO
API
Le risorse endpoint Cloud IDS hanno i seguenti campi:
Campo | Tipo | Descrizione del campo |
---|---|---|
Ora di creazione | string | [Solo output] Timestamp di creazione in formato di testo RFC 3339. |
updateTime | string | [Solo output] Timestamp dell'ultimo aggiornamento nel formato di testo RFC 3339. |
nome | string | [Solo output] Nome dell'endpoint nel formato projects/{project_id}/locations/{locationId}/endpoints/{endpointId} . |
rete | string | Nome della rete VPC connessa all'endpoint IDS. Può contenere il nome della rete VPC (ad esempio "src-net" ) o l'URL completo della rete
(ad esempio "projects/{project_id}/global/networks/src-net" ).
Questo campo è obbligatorio durante la creazione dell'endpoint. |
gravità | string | Il livello di gravità minimo dell'avviso segnalato dall'endpoint. I valori possibili sono:
Questo campo è obbligatorio durante la creazione dell'endpoint. |
descrizione | string | Una descrizione facoltativa dell'endpoint. |
endpoint_forwarding_rule | string | [Solo output] URL dell'indirizzo di rete dell'endpoint a cui il traffico deve essere inviato dal Mirroring pacchetto. |
endpoint | string | [Solo output] Indirizzo IP interno del punto di ingresso di rete dell'endpoint. |
Per creare un endpoint Cloud IDS, utilizza una richiesta POST HTTP come la
seguente, sostituendo le variabili in modo appropriato. Il
ENDPOINT_NAME
deve contenere da 1 a 63 caratteri, solo lettere minuscole, cifre e trattini, deve iniziare con una lettera minuscola e non può terminare con un trattino.
POST https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME { "network": "NETWORK_NAME", "severity": "SEVERITY_LEVEL", }
Collega una policy di mirroring pacchetto a un endpoint Cloud IDS
Per collegare una policy di mirroring pacchetto all'endpoint IDS, segui questi passaggi.
Console
Dopo aver creato l'endpoint IDS, collega un criterio Mirroring pacchetto all'endpoint IDS:
Nella console Google Cloud , vai a Endpoint IDS.
Accanto all'endpoint IDS, fai clic su Allega.
Nel campo Nome policy, inserisci un nome per la policy di Mirroring pacchetto.
Fai clic su Avanti.
Scegli la subnet o le istanze di cui eseguire il mirroring. Puoi selezionare più subnet e istanze.
Fai clic su Avanti.
Determina se vuoi eseguire il mirroring di tutto il traffico o filtrare il traffico:
- Se vuoi eseguire il mirroring di tutto il traffico, assicurati che l'opzione Esegui il mirroring di tutto il traffico sia selezionata.
- Se vuoi filtrare il traffico in base al protocollo, all'intervallo di indirizzi IP o al traffico in entrata o in uscita, seleziona Esegui il mirroring del traffico filtrato:
- Seleziona Consenti tutti i protocolli o Consenti protocolli specifici.
- Seleziona Consenti tutti gli intervalli IP o Consenti intervalli IP specifici.
Fai clic su Invia. L'endpoint è stato creato.
gcloud
Dopo aver creato l'endpoint, collegalo a una policy di mirroring pacchetto. Innanzitutto, ottieni l'URL dal campo
endpoint_forwarding_rule
utilizzando il seguente comando:gcloud ids endpoints describe ENDPOINT_NAME
Crea il criterio di mirroring pacchetto utilizzando il seguente comando:
gcloud compute packet-mirrorings create POLICY_NAME \ --region=REGION \ --collector-ilb=ENDPOINT_FORWARDING_RULE \ --network=VPC_NETWORK \ --mirrored-subnets=SUBNET
Mirroring pacchetto ha diversi flag facoltativi, inclusi quelli che puoi utilizzare per filtrare il traffico in base al protocollo, all'intervallo di indirizzi IP o al traffico in entrata o in uscita. Per saperne di più su questi flag facoltativi, consulta la documentazione di riferimento sul mirroring dei pacchetti.
Descrivere un endpoint Cloud IDS
Segui questa procedura per descrivere un endpoint IDS.
Console
Nella console Google Cloud , vai a Endpoint IDS.
Nella pagina Endpoint IDS, fai clic sul nome dell'endpoint IDS. Viene visualizzata la pagina Dettagli endpoint.
gcloud
Per descrivere un endpoint IDS, utilizza il comando gcloud ids endpoints
describe
. Sostituisci ENDPOINT_NAME
, PROJECT_ID
e ZONE
con le informazioni che corrispondono alla tua applicazione:
gcloud ids endpoints describe ENDPOINT_NAME \ [--project=PROJECT_ID] \ [--zone=ZONE] \ [GCLOUD_WIDE_FLAG...]
API
Per ottenere un endpoint Cloud IDS, utilizza una richiesta HTTP GET
come la seguente, sostituendo le variabili in modo appropriato:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
Elenca gli endpoint Cloud IDS
Segui questi passaggi per elencare tutti gli endpoint IDS.
Console
Nella console Google Cloud , vai a Endpoint IDS.
gcloud
Per elencare gli endpoint IDS, utilizza il comando
gcloud ids endpoints list
:
gcloud ids endpoints list \ [--filter=EXPRESSION] \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE] \ [--sort-by=[FIELD,...]] \ [--uri] \ [GCLOUD_WIDE_FLAG...]
Sostituisci quanto segue:
EXPRESSION
: applica un filtro booleano a ogni elemento della risorsa da elencare. Se l'espressione restituisce True, l'elemento viene elencato.LIMIT
: il numero massimo di risorse da elencare.PAGE_SIZE
: il numero massimo di risorse per pagina.FIELD
: un elenco separato da virgole dei nomi delle chiavi dei campi delle risorse in base a cui eseguire l'ordinamento.
API
Per elencare tutti gli endpoint Cloud IDS in una zona, utilizza una richiesta HTTP GET
come
la seguente, sostituendo le variabili in base alle esigenze:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints
In alternativa, per elencare tutti gli endpoint Cloud IDS in tutte le zone, puoi
sostituire ZONE
con un trattino come segue:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/-/endpoints
Eliminare un endpoint Cloud IDS
Segui questi passaggi per eliminare un endpoint IDS.
Console
Nella console Google Cloud , vai a Endpoint IDS.
Nella pagina Endpoint IDS, fai clic sul nome dell'endpoint IDS. Viene visualizzata la pagina Dettagli endpoint.
Fai clic su
Elimina endpoint.
gcloud
Per eliminare un endpoint IDS, utilizza il comando gcloud ids endpoints
delete
. Sostituisci ENDPOINT_NAME
, PROJECT_ID
e ZONE
con le informazioni che corrispondono alla tua applicazione:
gcloud ids endpoints delete ENDPOINT_NAME \ [--project=PROJECT_ID] \ [--zone=ZONE] \ [--no-async] \ [GCLOUD_WIDE_FLAG...]
API
Per eliminare un endpoint Cloud IDS, utilizza una richiesta HTTP DELETE
come la
seguente, sostituendo le variabili in base alle esigenze:
DELETE https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
(Facoltativo) Configurare le eccezioni minacce
Puoi disattivare gli ID minaccia rumorosi o altrimenti non necessari utilizzando il flag --threat-exceptions
quando crei o aggiorni l'endpoint Cloud IDS. L'esempio seguente aggiorna un endpoint Cloud IDS esistente
ENDPOINT_NAME
per escludere gli ID minaccia
THREAT_ID1
e THREAT_ID2
:
gcloud ids endpoints update ENDPOINT_NAME \ --threat-exceptions=THREAT_ID1,THREAT_ID2
Visualizza i log delle minacce
Segui questi passaggi per verificare se sono stati generati log delle minacce.
Nella console Google Cloud , vai a Minacce IDS.
Fai clic sul nome di una minaccia per visualizzare la pagina Dettagli minaccia.
Torna alla scheda Minacce.
Fai clic sul
menu a destra dell'endpoint IDS e seleziona Visualizza log delle minacce.