Configurazione di Cloud IDS

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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.

Configurare le autorizzazioni IAM per Cloud IDS

Cloud IDS ha tre ruoli IAM. Puoi utilizzare i comandi di esempio per concedere a un'entità le autorizzazioni IAM necessarie.

  • roles/ids.admin: le entità del progetto con il ruolo Amministratore Cloud IDS (roles/ids.admin) possono creare endpoint IDS. Se sei il proprietario o l'editor di un progetto, hai già questa autorizzazione e non hai bisogno di un ruolo ids.admin esplicito per creare endpoint IDS.

    gcloud projects add-iam-policy-binding PROJECT_ID --role=roles/ids.admin --member=user:USER_NAME ;
    

    Questo ruolo abilita le seguenti operazioni:

    • Crea endpoint
    • Elimina endpoint
    • Ricevi endpoint
    • Elenco endpoint
  • roles/ids.viewer: i visualizzatori e le entità del progetto con il ruolo Visualizzatore Cloud IDS (roles/ids.viewer) hanno accesso in sola lettura agli endpoint IDS. Se sei il proprietario, l'editor o il visualizzatore di un progetto, hai già questa autorizzazione.

    gcloud projects add-iam-policy-binding PROJECT_ID --role=roles/ids.viewer --member=user:USER_NAME ;
    
  • roles/compute.packetMirroringUser: un'autorizzazione necessaria per attaccare un criterio di mirroring pacchetto all'endpoint IDS. Se hai il ruolo compute.securityAdmin o container.serviceAgent, disponi già di questa autorizzazione.

    gcloud projects add-iam-policy-binding PROJECT_ID --role=roles/compute.packetMirroringUser --member=user:USER_NAME ;
    
  • roles/logging.viewer: è necessaria un'autorizzazione aggiuntiva per visualizzare le minacce recenti, una funzionalità chiave di Cloud IDS. Per ulteriori informazioni 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 ;
    

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 del cliente e può essere eseguita utilizzando Google Cloud Console o Google Cloud CLI.

Segui questi passaggi per configurare l'accesso privato ai servizi:

  1. Attiva l'API Service Networking utilizzando il comando seguente. Sostituisci PROJECT_ID con l'ID progetto.

    gcloud services enable servicenetworking.googleapis.com \
     --project=PROJECT_ID
    
  2. Se non hai già allocato un intervallo di indirizzi IP nella tua rete, devi allocare un intervallo di indirizzi IP per i servizi Google nella tua rete VPC. Puoi omettere il campo addresses nel seguente comando, nel qual caso Google Cloud selezionerà un intervallo di indirizzi non utilizzato nella rete VPC. Utilizza il comando seguente:

    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 esempio my-allocated-range

    • DESCRIPTION: una descrizione dell'intervallo, ad esempio allocated for my-service

    • VPC_NETWORK: il nome della rete VPC, ad esempio my-vpc-network

  3. 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. Utilizza il comando seguente. Il comando avvia un'operazione a lunga esecuzione, restituisce un nome 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 allocati

    • VPC_NETWORK: il nome della rete VPC

    • PROJECT_ID: l'ID del progetto che contiene la rete VPC

    Puoi controllare se l'operazione è riuscita utilizzando il comando seguente. Sostituisci OPERATION_NAME con il nome dell'operazione restituito dal passaggio precedente:

    gcloud services vpc-peerings operations describe \
        --name=OPERATION_NAME
    

Ripeti i passaggi 2 e 3 per ogni rete VPC da monitorare.

Crea un endpoint Cloud IDS

Ti consigliamo di creare un endpoint IDS per ogni area geografica 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

  1. In Google Cloud Console, vai alla pagina Sicurezza di rete.

    Vai a Sicurezza della rete

  2. Nella pagina Cloud IDS, seleziona la scheda Endpoint.

Configura l'endpoint:

  1. Fai clic su Crea endpoint.
  2. Inserisci un nome nel campo Nome endpoint.
  3. (Facoltativo) Inserisci una descrizione nel campo Descrizione.
  4. Fai clic sull'elenco a discesa Rete e seleziona la rete che vuoi venga esaminata da Cloud IDS.
  5. Scegli l'area geografica e la zona della tua rete o della tua subnet dagli elenchi a discesa Area geografica e Zona.
  6. Fai clic su Continua.

Seleziona il profilo di servizio Cloud IDS:

  1. Fai clic su Seleziona il profilo del servizio IDS.
  2. In Livello di gravità minima della minaccia, seleziona il livello di avviso corretto.
  3. Fai clic su Crea. Il processo di creazione può richiedere 10-15 minuti.

Dopo aver creato l'endpoint IDS, collega un criterio di mirroring pacchetto all'endpoint IDS:

  1. Seleziona la scheda Endpoint.
  2. Accanto all'endpoint IDS, fai clic su Allega.
  3. Nel campo Nome criterio, inserisci un nome per il criterio Mirroring pacchetto.
  4. Tocca Avanti.
  5. Scegli la subnet o le istanze di cui eseguire il mirroring. Puoi selezionare più subnet e istanze.
  6. Tocca Avanti.
  7. Determina se vuoi eseguire il mirroring di tutto il traffico o filtrare il traffico:
    1. Se vuoi eseguire il mirroring di tutto il traffico, assicurati che l'opzione Esegui il mirroring di tutto il traffico sia selezionata.
    2. Se vuoi filtrare il traffico in base a protocollo, intervallo di indirizzi IP o traffico in entrata o in uscita, seleziona Esegui il mirroring del traffico filtrato:
      1. Seleziona Consenti tutti i protocolli o Consenti protocolli specifici.
      2. Seleziona Consenti tutti gli intervalli IP o Consenti intervalli IP specifici.
      3. Seleziona Consenti traffico in entrata e in uscita, Consenti solo traffico in entrata o Consenti solo traffico in uscita.
  8. Fai clic su Invia. L'endpoint viene creato.

Ora puoi controllare se sono stati generati log delle minacce. I seguenti passaggi sono facoltativi:

  1. Fai clic sulla scheda Minacce.
  2. Fai clic sul nome di una minaccia per visualizzare la pagina Dettagli minaccia.
  3. Torna alla scheda Minacce.
  4. Fai clic sul Menu a destra dell'endpoint IDS e seleziona Visualizza i log delle minacce.

gcloud

Contrassegni facoltativi

I comandi in questa sezione potrebbero avere alcuni o tutti i seguenti flag facoltativi:

--no-async
Attendi il completamento dell'operazione, anziché ritornare immediatamente.
--filter=EXPRESSION
Applica un filtro booleano EXPRESSION a ogni elemento della risorsa da elencare. Se l'espressione valuta True, l'elemento viene elencato. Per ulteriori dettagli ed esempi di espressioni di filtro, esegui i filtri per argomento $ gcloud. Il flag interagisce con altri flag applicati in questo ordine: --flatten, --sort-by, --filter, --limit.
--limit=LIMIT
Numero massimo di risorse da elencare. L'impostazione predefinita è illimitata. Il flag interagisce con altri flag applicati in questo ordine: --flatten, --sort-by, --filter, --limit.
--page-size=PAGE_SIZE
Cloud IDS raggruppa l'output degli elenchi di risorse in pagine. Questo flag specifica il numero massimo di risorse per pagina. Il valore predefinito è determinato dal servizio se supporta il paging, altrimenti è illimitato (nessun paging). La pagina può essere applicata prima o dopo le ore --filter e --limit a seconda del servizio.
--sort-by=[FIELD,…]
Elenco separato da virgole di nomi delle chiavi dei campi delle risorse in base a cui ordinare. L'ordine predefinito è crescente. Fai precedere un campo da "~" per ordinare in ordine decrescente. Il flag interagisce con altri flag applicati in questo ordine: --flatten, --sort-by, --filter, --limit.
--uri
Stampa un elenco di URI della risorsa invece dell'output predefinito.

Istruzioni

Per creare un nuovo endpoint IDS, segui questi passaggi:

  1. Utilizza il comando gcloud ids endpoints create. Sostituisci ENDPOINT_NAME, VPC_NETWORK, ZONE e SEVERITY con informazioni corrispondenti alla tua applicazione.

    gcloud ids endpoints create ENDPOINT_NAME \
      --network=VPC_NETWORK \
      --zone=ZONE \
      --severity=SEVERITY \
     [--no-async] \
     [GCLOUD_WIDE_FLAG...]
    
  2. Il flag della gravità è obbligatorio e richiede uno dei seguenti valori:

    • INFORMAZIONI
    • BASSO
    • MEDIO
    • ALTO
    • CRITICO
  3. Dopo aver creato l'endpoint, allega un criterio di mirroring pacchetto. Innanzitutto, recupera l'URL dal campo endpoint_forwarding_rule utilizzando il seguente comando:

    gcloud ids endpoints describe ENDPOINT_NAME
    
  4. Crea il criterio Mirroring pacchetto utilizzando il comando seguente:

    gcloud compute packet-mirrorings create POLICY_NAME \
    --region=REGION --collector-ilb=ENDPOINT_FORWARDING_RULE \
    --network=VPC_NETWORK --mirrored-subnets=SUBNET
    
  5. Mirroring pacchetto include diversi flag facoltativi, inclusi quelli che puoi utilizzare per filtrare il traffico in base a protocollo, intervallo di indirizzi IP o traffico in entrata o in uscita. Per ulteriori informazioni su questi flag facoltativi, consulta il riferimento Mirroring pacchetto.

Per eliminare un endpoint IDS, utilizza il comando gcloud ids endpoints delete. Sostituisci ENDPOINT_NAME, PROJECT_ID e ZONE con informazioni che corrispondono alla tua applicazione:

gcloud ids endpoints delete ENDPOINT_NAME \
   [--project=PROJECT_ID] \
   [--zone=ZONE] \
   [--no-async] \
   [GCLOUD_WIDE_FLAG...]

Per descrivere un endpoint IDS, utilizza il comando gcloud ids endpoints describe. Sostituisci ENDPOINT_NAME, PROJECT_ID e ZONE con informazioni che corrispondono alla tua applicazione:

gcloud ids endpoints describe ENDPOINT_NAME \
   [--project=PROJECT_ID] \
   [--zone=ZONE] \
   [GCLOUD_WIDE_FLAG...]

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...]

Server

Le risorse endpoint Cloud IDS hanno i seguenti campi:

Campo Tipo Descrizione del campo
createTime string [Output Only] Timestamp della creazione in formato di testo RFC 3339.
data/ora aggiornamento string [Solo output] Timestamp dell'ultimo aggiornamento in formato di testo RFC 3339.
name 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 per la creazione dell'endpoint.
gravità string

Il livello minimo di gravità dell'avviso segnalato dall'endpoint. I valori possibili sono i seguenti:

  • INFORMAZIONI
  • BASSO
  • MEDIO
  • ALTO
  • CRITICO

Questo campo è obbligatorio durante la creazione dell'endpoint.

description string Una descrizione facoltativa dell'endpoint.
regola_inoltro_endpoint string [Solo output] L'URL di rete dell'endpoint a cui il traffico deve essere inviato dal 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 a seconda dei casi. L'elemento ENDPOINT_NAME deve contenere da 1 a 63 caratteri, deve contenere solo lettere minuscole, cifre e trattini, deve iniziare con una lettera minuscola e non può terminare con un trattino.

POST projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
{
    "network": "NETWORK_NAME",
    "severity": "SEVERITY_LEVEL",
}

Per eliminare un endpoint Cloud IDS, utilizza una richiesta HTTP DELETE come la seguente, sostituendo le variabili a seconda dei casi:

DELETE projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME

Per ottenere un endpoint Cloud IDS, utilizza una richiesta HTTP GET come la seguente, sostituendo le variabili a seconda dei casi:

GET projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME

Per elencare tutti gli endpoint Cloud IDS in una zona, utilizza una richiesta HTTP GET come la seguente, sostituendo le variabili in base alle tue esigenze:

GET 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 projects/PROJECT_NAME/locations/-/endpoints

Passaggi successivi