Creare e gestire profili di sicurezza con filtro degli URL

Questa pagina spiega come creare e gestire i profili di sicurezza di tipo url-filtering utilizzando la console Google Cloud e Google Cloud CLI.

Prima di iniziare

Ruoli

Per ottenere le autorizzazioni necessarie per creare, visualizzare, aggiornare o eliminare i profili di sicurezza, chiedi all'amministratore di concederti i ruoli IAM necessari nella tua organizzazione. Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.

Crea un profilo di sicurezza per il filtro degli URL

Quando crei un profilo di sicurezza del filtro degli URL (profilo di sicurezza di tipo url-filtering), puoi specificare il nome del profilo di sicurezza come stringa o come identificatore URL univoco. L'URL univoco per un profilo di sicurezza con ambito organizzazione può essere creato nel seguente formato:

organization/ORGANIZATION_ID/locations/LOCATION/securityProfiles/SECURITY_PROFILE_NAME

Se utilizzi un identificatore URL univoco per il nome del profilo di sicurezza, l'organizzazione e la posizione del profilo di sicurezza sono già incluse nell'identificatore URL. Tuttavia, se utilizzi solo il nome del profilo di sicurezza, devi specificare l'organizzazione e la località separatamente. Per ulteriori informazioni sugli identificatori URL unici, consulta le specifiche del profilo di sicurezza.

Console

  1. Nella console Google Cloud , vai alla pagina Profili di sicurezza.

    Vai a Profili di sicurezza

  2. Nel menu del selettore di progetti, seleziona la tua organizzazione.

  3. Seleziona la scheda Profili di sicurezza.

  4. Fai clic su Crea profilo.

  5. Inserisci un nome nel campo Nome.

  6. (Facoltativo) Inserisci una descrizione nel campo Descrizione.

  7. Per creare un profilo di sicurezza Cloud Next Generation Firewall Enterprise, nella sezione Scopo, seleziona Cloud NGFW Enterprise.

  8. Per creare un profilo di sicurezza con filtro URL, nella sezione Tipo, seleziona Filtro URL.

  9. Nella sezione Filtri URL, fai clic sul pulsante Crea filtro URL.

  10. Nel riquadro Crea un filtro URL, specifica i seguenti dettagli:

    • Priorità: specifica la priorità del filtro URL.
    • Azione: specifica l'azione che Cloud NGFW esegue sul traffico.
      • Consenti: consente le connessioni che corrispondono a un URL.
      • Nega: nega le connessioni che corrispondono a un URL.
    • Elenco di URL: specifica un elenco di URL o stringhe di corrispondenza. Ogni voce di URL o stringa di corrispondenza deve apparire su una riga separata, senza spazi o delimitatori. Ogni voce può essere costituita solo da un dominio. Per saperne di più sulle stringhe di corrispondenza, vedi Stringhe di corrispondenza per gli URL.
  11. Fai clic su Crea.

gcloud

  1. Crea un file YAML con i seguenti contenuti:

    name: NAME
    type: PROFILE_TYPE
    urlFilteringProfile:
    urlFilters:
      - filteringAction: ACTION
        priority: PRIORITY
        urls: URL[,URL,...]
    

    Sostituisci quanto segue:

    • NAME: il nome del profilo di sicurezza per il filtro degli URL; puoi specificare il nome come stringa o come identificatore URL univoco.

    • PROFILE_TYPE: il tipo di profilo di sicurezza, url-filtering o threat-prevention.

    • ACTION: specifica una delle seguenti azioni:

      • allow: consente connessioni che corrispondono a un URL
      • deny: nega le connessioni che corrispondono a un URL
    • PRIORITY: priorità di un filtro URL compresa tra 0 e 2147483647.

    • URLs: un elenco separato da virgole di stringhe di corrispondenza. Ad esempio, www.example.com e www.altostrat.com.

  2. Per creare il profilo di sicurezza del filtro degli URL, esegui il comando gcloud network-security security-profiles import:

    gcloud network-security security-profiles import NAME \
        --location LOCATION \
        --source FILE_NAME \
        --organization = ORGANIZATION_ID
    

    In alternativa, puoi creare un profilo di sicurezza del filtro degli URL senza un file YAML utilizzando il comando gcloud network-security security-profiles url-filtering create:

    gcloud network-security security-profiles url-filtering create NAME \
        --location LOCATION \
        --organization ORGANIZATION_ID \
        --description DESCRIPTION
    

    Sostituisci quanto segue:

    • NAME: il nome del profilo di sicurezza per il filtro degli URL; puoi specificare il nome come stringa o come identificatore URL univoco.

      Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere i flag LOCATION e ORGANIZATION.

    • LOCATION: la posizione del profilo di sicurezza del filtro degli URL.

      La posizione è sempre impostata su global. Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere il flag LOCATION.

    • FILE_NAME: il nome del file YAML. Ad esempio, url-filtering-sp.yaml.

    • ORGANIZATION_ID: l'organizzazione in cui viene creato il profilo di sicurezza con filtro URL. Se utilizzi un identificatore URL univoco per il flag name, puoi omettere il flag ORGANIZATION_ID.

    • DESCRIPTION: una descrizione facoltativa per il profilo di sicurezza del filtro URL.

    Ad esempio, il seguente snippet di codice mostra un esempio di profilo di sicurezza con filtro URL che consente le richieste a www.example.com e www.altostrat.com, ma nega le richieste a tutti gli altri domini:

    url_filtering_profile:
    url_filters:
      - filtering_action: ALLOW
        priority: 1000
        urls: ['www.example.com', 'www.altostrat.com']
      # the following URL filter is implicit and will be processed last
      - filtering_action: DENY
        priority: 2147483647
        urls: ['*']
    

Filtro URL di negazione implicita

Il profilo di sicurezza del filtro degli URL include sempre un filtro URL predefinito con la priorità più bassa (2147483647), che nega tutte le connessioni che non corrispondono ai filtri URL con priorità più elevata. Il seguente snippet di codice mostra un esempio del filtro URL di negazione implicita:

  url_filtering_profile:
  url_filters:
    # user-specified URL filters
    - filtering_action: DENY
      priority: 1000
      urls: ['www.example.com','www.altostrat.com']
    - filtering_action: ALLOW
      priority: 2000
      urls: ['www.example.org','www.example.net']
    # implicit deny URL filter that will be processed last
    - filtering_action: DENY
      priority: 2147483647
      urls: ['*']
  

Puoi visualizzare il filtro URL di negazione implicita quando visualizzi o esporti un profilo di sicurezza del filtro URL. Non puoi modificare o rimuovere il filtro implicito. Ad esempio, se vuoi modificare l'azione predefinita di un profilo da DENY (applicata dal filtro implicito) a ALLOW, devi aggiungere un filtro esplicito che Cloud NGFW elabora prima del filtro implicito.

  url_filtering_profile:
  url_filters:
    # user-specified filters
    - filtering_action: DENY
      priority: 1000
      urls: ['www.example.com','www.altostrat.com']
    # explicit allow URL filter that you can add
    - filtering_action: ALLOW
      priority: 2000
      urls: ['*']
    # implicit deny URL filter that will be processed last
    - filtering_action: DENY
      priority: 2147483647
      urls: ['*']
  

Stringhe di corrispondenza per gli URL

Le stringhe di corrispondenza sono i valori che specifichi nel campo urls di un filtro URL. Puoi specificare una o più stringhe di corrispondenza all'interno di un filtro URL.

Caratteri jolly

Ogni stringa di corrispondenza in un elenco di URL supporta un carattere jolly (*) in modo limitato.

  • Ogni stringa di corrispondenza può supportare un solo asterisco (*), che deve essere il primo o l'unico carattere.
  • L'asterisco (*) può avere le seguenti interpretazioni:

    • Un asterisco (*) prima di un punto (.) indica tutti i sottodomini del dominio.

      Ad esempio, la stringa di corrispondenza *.example.com corrisponde a a.example.com e a.b.c.example.com, ma non a example.com.

      url_filtering_profile:
      url_filters:
        # user-specified filters
        - filtering_action: ALLOW
          priority: 1000
          urls: ['*.example.com']
        # implicit deny URL filter that will be processed last
        - filtering_action: DENY
          priority: 2147483647
          urls: ['*']
      

      Nell'esempio precedente, Cloud NGFW consente il traffico verso i sottodomini di example.com, ma nega il resto del traffico in uscita.

    • Un asterisco (*) prima di un'etichetta indica il dominio e tutti i sottodomini.

      Ad esempio, la stringa di corrispondenza *example.com corrisponde a a.example.com, a.b.c.example.com e example.com.

      url_filtering_profile:
      url_filters:
        # user-specified filters
        - filtering_action: ALLOW
          priority: 1000
          urls: ['*example.com']
        # implicit deny URL filter that will be processed last
        - filtering_action: DENY
          priority: 2147483647
          urls: ['*']
      

      Nell'esempio precedente, Cloud NGFW consente il traffico verso example.com e i sottodomini di example.com, ma nega il resto del traffico in uscita.

    • Cloud NGFW non interpreta l'asterisco (*) come carattere jolly di un'espressione regolare.

      Ad esempio, *example.test non corrisponde a newexample.test o a.newexample.test. ma corrisponde solo a example.test e ai sottodomini di example.test.

    • Un singolo asterisco (*) senza altri caratteri indica una corrispondenza per tutte le richieste.

      Ad esempio, la stringa di corrispondenza nel filtro URL di autorizzazione esplicita con priorità più bassa contiene solo un asterisco (*) e ha un'azione ALLOW che sostituisce l'azione predefinita DENY. Ciò accade perché il filtro URL di negazione implicita applica il valore predefinito DENY a qualsiasi richiesta che non corrisponde a filtri URL con priorità più elevata.

      Il filtro URL con la priorità più alta, ovvero un ALLOW esplicito o un DENY implicito, determina se Cloud NGFW consente o nega le connessioni quando mancano informazioni SNI o di dominio. Ciò può accadere con il traffico HTTP non criptato o quando l'ispezione TLS è disattivata per le intestazioni dei messaggi criptate.

      url_filtering_profile:
      url_filters:
        # user-specified filters
        - filtering_action: DENY
          priority: 1000
          urls: ['www.example.com','www.altostrat.com']
        # explicit allow URL filter that you can add
        - filtering_action: ALLOW
          priority: 2000
          urls: ['*']
        # implicit deny URL filter that will be processed last
        - filtering_action: DENY
          priority: 2147483647
          urls: ['*']
      

Limitazioni

  • Le stringhe di corrispondenza rappresentano domini o sottodomini.
  • Le stringhe di corrispondenza non supportano il carattere della barra (/), ad esempio www.example.com/images.
  • Le stringhe di corrispondenza non supportano schemi o nomi di protocolli. Ad esempio: http://www.example.com.
  • Le stringhe di corrispondenza non supportano i numeri di porta. Ad esempio: www.example.com:80.
  • Le stringhe di corrispondenza supportano solo lettere ASCII, numeri e caratteri speciali: trattino (-), punto (.) e asterisco (*).

Devi utilizzare Punycode per convertire i nomi di dominio che contengono caratteri diversi da lettere ASCII, numeri, trattini (-), punti (.) o asterischi (*). Punycode è uno standard di codifica che trasforma i nomi di dominio Unicode in un formato compatibile con ASCII.

  • Se hai due o più etichette, utilizza i punti (.) per separarle. Un'etichetta può contenere uno o più trattini (-), ma non deve iniziare o terminare con un trattino. Ogni etichetta può includere un massimo di 63 caratteri.

  • Un filtro URL non supporta l'utilizzo di un punto all'inizio di un nome di dominio o di punti consecutivi all'interno di una stringa di corrispondenza. Un filtro URL consente punti finali, ma Cloud NGFW li rimuove prima di salvare un filtro URL.

  • Cloud NGFW converte le stringhe di corrispondenza in minuscolo prima di salvare il filtro URL. Cloud NGFW non esegue altre normalizzazioni.

  • Ogni nome di dominio può includere un massimo di 255 caratteri.

Visualizzare un profilo di sicurezza del filtro degli URL

Puoi visualizzare i dettagli di un profilo di sicurezza con filtro URL specifico in un'organizzazione.

Console

  1. Nella console Google Cloud , vai alla pagina Profili di sicurezza.

    Vai a Profili di sicurezza

  2. Seleziona la scheda Profili di sicurezza. La scheda mostra un elenco di profili di sicurezza configurati.

  3. Fai clic su un profilo di sicurezza di tipo Filtro URL per visualizzare i dettagli del profilo.

gcloud

Per visualizzare i dettagli di un profilo di sicurezza del filtro degli URL, utilizza il comando gcloud network-security security-profiles url-filtering describe:

gcloud network-security security-profiles url-filtering describe NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION \

Sostituisci quanto segue:

  • NAME: il nome del profilo di sicurezza di tipo url-filtering che vuoi descrivere. Puoi specificare il nome come stringa o come identificatore URL univoco.

  • ORGANIZATION_ID: l'organizzazione in cui viene creato il profilo di sicurezza per il filtraggio degli URL. Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere il flag ORGANIZATION_ID.

  • LOCATION: la posizione del profilo di sicurezza del filtro URL. La posizione è sempre impostata su global. Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere il flag LOCATION.

Elenca i profili di sicurezza del filtro degli URL

Puoi elencare tutti i profili di sicurezza con filtro URL in un'organizzazione.

Console

  1. Nella console Google Cloud , vai alla pagina Profili di sicurezza.

    Vai a Profili di sicurezza

  2. Seleziona la scheda Profili di sicurezza. La scheda mostra un elenco di profili di sicurezza configurati.

gcloud

Per elencare tutti i profili di sicurezza del filtro degli URL, utilizza il comando gcloud network-security security-profiles url-filtering list:

gcloud network-security security-profiles url-filtering list \
    --organization ORGANIZATION_ID \
    --location LOCATION

Sostituisci quanto segue:

  • ORGANIZATION_ID: l'organizzazione in cui vengono creati i profili di sicurezza con filtro URL.

  • LOCATION: la posizione dei profili di sicurezza del filtro degli URL. La posizione è sempre impostata su global.

Eliminare un profilo di sicurezza di filtro degli URL

Puoi eliminare un profilo di sicurezza per il filtro URL specificandone nome, posizione e organizzazione. Tuttavia, se un profilo di sicurezza viene referenziato da un gruppo di profili di sicurezza, non può essere eliminato.

Console

  1. Nella console Google Cloud , vai alla pagina Profili di sicurezza.

    Vai a Profili di sicurezza

  2. Seleziona la scheda Profili di sicurezza. La scheda mostra un elenco di profili di sicurezza configurati.

  3. Seleziona il profilo di sicurezza che vuoi eliminare, quindi fai clic su Elimina.

  4. Fai di nuovo clic su Elimina per confermare.

gcloud

Per eliminare un profilo di sicurezza del filtro degli URL, utilizza il comando gcloud network-security security-profiles url-filtering delete:

gcloud network-security security-profiles url-filtering delete NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION

Sostituisci quanto segue:

  • NAME: il nome del profilo di sicurezza del filtro degli URL che vuoi eliminare. Puoi specificare il nome come stringa o come identificatore univoco dell'URL.

  • ORGANIZATION_ID: l'organizzazione in cui viene creato il profilo di sicurezza con filtro URL. Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere il flag ORGANIZATION_ID.

  • LOCATION: la posizione del profilo di sicurezza del filtro degli URL.

    La posizione è sempre impostata su global. Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere il flag LOCATION.

Importare un profilo di sicurezza del filtro degli URL

Puoi importare un profilo di sicurezza con filtro URL (creato personalizzato o esportato in precedenza) da un file YAML. Quando importi un profilo di sicurezza del filtro degli URL, se esiste già un profilo con lo stesso nome, Cloud NGFW aggiorna il profilo esistente.

gcloud

Per importare un profilo di sicurezza del filtro degli URL da un file YAML, utilizza il comando gcloud network-security security-profiles import:

gcloud network-security security-profiles import NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION \
    --source FILE_NAME

Sostituisci quanto segue:

  • NAME: il nome del profilo di sicurezza di tipo url-filtering che vuoi importare. Puoi specificare il nome come stringa o come identificatore URL univoco.

    Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere i flag ORGANIZATION_ID e LOCATION.

  • ORGANIZATION_ID: l'organizzazione in cui viene creato il profilo di sicurezza per il filtraggio degli URL. Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere il flag ORGANIZATION_ID.

  • LOCATION: la posizione del profilo di sicurezza del filtro URL. La posizione è sempre impostata su global. Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere il flag LOCATION.

  • FILE_NAME: il percorso del file YAML contenente i dati di esportazione della configurazione per il profilo di sicurezza del filtro URL. Ad esempio,url-filtering-sp.yaml.

    Il file YAML non deve contenere campi di sola output. In alternativa, puoi omettere il flag source per leggere dall'input standard.

Esportare un profilo di sicurezza del filtro degli URL

Puoi esportare un profilo di sicurezza di filtraggio URL in un file YAML. Ad esempio, invece di utilizzare l'interfaccia utente per modificare un profilo di sicurezza di grandi dimensioni, puoi utilizzare questa funzionalità per esportare il profilo di sicurezza, modificarlo rapidamente e importarlo di nuovo.

gcloud

Per esportare un profilo di sicurezza del filtro degli URL in un file YAML, utilizza il comando gcloud network-security security-profiles export:

gcloud network-security security-profiles export NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION \
    --destination FILE_NAME

Sostituisci quanto segue:

  • NAME: il nome del profilo di sicurezza di tipo url-filtering che vuoi esportare. Puoi specificare il nome come stringa o come identificatore URL univoco.

    Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere i flag ORGANIZATION_ID e LOCATION.

  • ORGANIZATION_ID: l'organizzazione in cui viene creato il profilo di sicurezza per il filtraggio degli URL. Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere il flag ORGANIZATION_ID.

  • LOCATION: la posizione del profilo di sicurezza del filtro URL. La posizione è sempre impostata su global. Se utilizzi un identificatore URL univoco per il flag NAME, puoi omettere il flag LOCATION.

  • FILE_NAME: il percorso del file YAML in cui Cloud NGFW esporterà la configurazione per il profilo di sicurezza del filtro URL. Ad esempio,url-filtering-sp.yaml.

    I dati di configurazione esportati non contengono campi di sola visualizzazione. In alternativa, puoi omettere il flag destination per scrivere nell'output standard.

Passaggi successivi