Crie e faça a gestão de perfis de segurança de filtragem de URLs

Esta página explica como criar e gerir perfis de segurança do tipo url-filtering através da Google Cloud consola e da Google Cloud CLI.

Antes de começar

Funções

Para receber as autorizações necessárias para criar, ver, atualizar ou eliminar perfis de segurança, peça ao seu administrador que lhe conceda as funções de IAM necessárias na sua organização. Para mais informações sobre a concessão de funções, consulte o artigo Gerir acesso.

Crie um perfil de segurança de filtragem de URLs

Quando cria um perfil de segurança de filtragem de URLs (perfil de segurança do tipo url-filtering), pode especificar o nome do perfil de segurança como uma string ou um identificador de URL único. O URL exclusivo de um perfil de segurança ao nível da organização pode ser criado no seguinte formato:

organization/ORGANIZATION_ID/locations/LOCATION/securityProfiles/SECURITY_PROFILE_NAME

Se usar um identificador de URL exclusivo para o nome do perfil de segurança, a organização e a localização do perfil de segurança já estão incluídas no identificador de URL. No entanto, se usar apenas o nome do perfil de segurança, tem de especificar a organização e a localização separadamente. Para mais informações acerca dos identificadores de URL únicos, consulte as especificações do perfil de segurança.

Consola

  1. Na Google Cloud consola, aceda à página Perfis de segurança.

    Aceda a Perfis de segurança

  2. No menu do seletor de projetos, selecione a sua organização.

  3. Selecione o separador Perfis de segurança.

  4. Clique em Criar perfil.

  5. Introduza um nome no campo Nome.

  6. Opcional: introduza uma descrição no campo Descrição.

  7. Para criar um perfil de segurança empresarial da firewall de nova geração da nuvem, na secção Finalidade, selecione Cloud NGFW Enterprise.

  8. Para criar um perfil de segurança de filtragem de URLs, na secção Tipo, selecione Filtragem de URLs.

  9. Na secção Filtros de URL, clique no botão Criar filtro de URL.

  10. No painel Criar um filtro de URL, especifique os seguintes detalhes:

    • Prioridade: especifique a prioridade do filtro de URL.
    • Ação: especifique a ação que o Cloud NGFW executa no tráfego.
      • Permitir: permite as ligações que correspondem a um URL.
      • Recusar: recusa as associações que correspondem a um URL.
    • Lista de URLs: especifique uma lista de URLs ou strings de correspondência. Cada entrada de string de URL ou de correspondência tem de aparecer na sua própria linha sem espaços nem delimitadores. Cada entrada pode consistir apenas num domínio. Para mais informações sobre as strings de correspondência, consulte o artigo Strings de correspondência para URLs.
  11. Clique em Criar.

gcloud

  1. Crie um ficheiro YAML com o seguinte conteúdo:

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

    Substitua o seguinte:

    • NAME: o nome do perfil de segurança de filtragem de URLs; pode especificar o nome como uma string ou como um identificador de URL exclusivo.

    • PROFILE_TYPE: o tipo do perfil de segurança, url-filtering ou threat-prevention.

    • ACTION: especifique uma das seguintes ações:

      • allow: permite ligações que correspondem a um URL
      • deny: nega ligações que correspondam a um URL
    • PRIORITY: prioridade de um filtro de URL que varia de 0 a 2147483647.

    • URLs: uma lista separada por vírgulas de strings de correspondência. Por exemplo, www.example.com e www.altostrat.com.

  2. Para criar o perfil de segurança de filtragem de URLs, execute o comando gcloud beta network-security security-profiles import:

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

    Em alternativa, pode criar um perfil de segurança de filtragem de URLs sem um ficheiro YAML através do comando gcloud beta network-security security-profiles url-filtering create:

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

    Substitua o seguinte:

    • NAME: o nome do perfil de segurança de filtragem de URLs; pode especificar o nome como uma string ou como um identificador de URL exclusivo.

      Se usar um identificador de URL exclusivo para a flag NAME, pode omitir as flags LOCATION e ORGANIZATION.

    • LOCATION: a localização do perfil de segurança de filtragem de URLs.

      A localização está sempre definida como global. Se usar um identificador de URL exclusivo para a flag NAME, pode omitir a flag LOCATION.

    • FILE_NAME: o nome do ficheiro YAML. Por exemplo, url-filtering-sp.yaml.

    • ORGANIZATION_ID: a organização onde o perfil de segurança de filtragem de URLs é criado. Se usar um identificador de URL exclusivo para a flag name, pode omitir a flag ORGANIZATION_ID.

    • DESCRIPTION: uma descrição opcional para o perfil de segurança de filtragem de URLs.

    Por exemplo, o seguinte fragmento do código mostra um exemplo de um perfil de segurança de filtragem de URLs que permite pedidos para www.example.com e www.altostrat.com, mas nega pedidos para todos os outros domínios:

    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 de URL de recusa implícita

O perfil de segurança de filtragem de URLs inclui sempre um filtro de URLs predefinido com a prioridade mais baixa (2147483647) que nega todas as ligações que não correspondem aos filtros de URLs de prioridade mais alta. O fragmento de código seguinte mostra um exemplo do filtro de URL de recusa implícita:

  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: ['*']
  

Pode ver o filtro de URLs de recusa implícita quando vê ou exporta um perfil de segurança do filtro de URLs. Não pode modificar nem remover o filtro implícito. Por exemplo, se quiser alterar a ação predefinida de um perfil de DENY (aplicada por um filtro implícito) para ALLOW, tem de adicionar um filtro explícito que o Cloud NGFW processa antes do filtro implícito.

  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: ['*']
  

Strings de correspondência para URLs

As strings de correspondência são os valores que especifica no campo urls de um filtro de URL. Pode especificar uma ou mais strings de correspondência num filtro de URL.

Carateres universais

Cada string de correspondência numa lista de URLs suporta um caráter universal (*) de forma limitada.

  • Cada string de correspondência só pode suportar um único asterisco (*), de modo que o asterisco seja o primeiro ou o único caráter.
  • O asterisco (*) pode ter as seguintes interpretações:

    • Um asterisco (*) antes de um ponto final (.) indica todos os subdomínios do domínio.

      Por exemplo, a string de correspondência *.example.com corresponde a a.example.com e a.b.c.example.com, mas não corresponde 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: ['*']
      

      No exemplo anterior, a firewall de nova geração do Google Cloud permite o tráfego para os subdomínios de example.com, mas nega o resto do tráfego de saída.

    • Um asterisco (*) antes de uma etiqueta indica o domínio e todos os subdomínios.

      Por exemplo, a string de correspondência *example.com corresponde 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: ['*']
      

      No exemplo anterior, o Cloud NGFW permite o tráfego para example.com, bem como os subdomínios de example.com, mas nega o resto do tráfego de saída.

    • O NGFW da nuvem não interpreta o asterisco (*) como um caráter universal de expressão regular.

      Por exemplo, *example.test não corresponde a newexample.test nem a a.newexample.test. Só corresponde a example.test e aos subdomínios de example.test.

    • Um único asterisco (*) sem outros carateres indica uma correspondência para todos os pedidos.

      Por exemplo, a string de correspondência no filtro de URL de permissão explícita de prioridade mais baixa contém apenas um asterisco (*) e tem uma ação ALLOW que substitui a ação predefinida de DENY. Isto acontece porque o filtro de URL de rejeição implícita aplica o DENY predefinido a todos os pedidos que não correspondem a filtros de URL de prioridade mais elevada.

      O filtro de URL de prioridade mais elevada, que é explícito ALLOW ou implícito DENY, determina se o Cloud NGFW permite ou recusa ligações quando não tem informações de SNI ou de domínio. Isto pode acontecer com tráfego HTTP não encriptado ou quando a inspeção de TLS está desativada para cabeçalhos de mensagens encriptados.

      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: ['*']
      

Limitações

  • As strings de correspondência representam domínios ou subdomínios.
  • As strings de correspondência não suportam o caráter de barra (/). Por exemplo: www.example.com/images.
  • As strings de correspondência não suportam esquemas nem nomes de protocolos. Por exemplo: http://www.example.com.
  • As strings de correspondência não suportam números de porta. Por exemplo: www.example.com:80.
  • As strings de correspondência só suportam letras, números e carateres especiais ASCII: hífen (-), ponto (.) e asterisco (*).

Tem de usar o Punycode para converter nomes de domínios que contenham carateres diferentes de letras ASCII, números, hífenes (-), pontos finais (.) ou asteriscos (*). O Punycode é um padrão de codificação que transforma nomes de domínios Unicode num formato compatível com ASCII.

  • Se tiver duas ou mais etiquetas, use pontos (.) para as separar. Uma etiqueta pode conter um ou mais hífenes (-); no entanto, a etiqueta não pode começar nem terminar com um hífen. Cada etiqueta pode incluir um máximo de 63 carateres.

  • Um filtro de URL não suporta a utilização de um ponto no início de um nome de domínio nem pontos consecutivos numa string de correspondência. Um filtro de URL permite pontos finais, mas o Cloud NGFW remove-os antes de guardar um filtro de URL.

  • O NGFW na nuvem converte as strings de correspondência em minúsculas antes de guardar o filtro de URL. O NGFW da nuvem não realiza nenhuma outra normalização.

  • Cada nome de domínio pode incluir um máximo de 255 carateres.

Veja um perfil de segurança de filtragem de URLs

Pode ver os detalhes de um perfil de segurança de filtragem de URLs específico numa organização.

Consola

  1. Na Google Cloud consola, aceda à página Perfis de segurança.

    Aceda a Perfis de segurança

  2. Selecione o separador Perfis de segurança. O separador mostra uma lista de perfis de segurança configurados.

  3. Clique num perfil de segurança do tipo Filtragem de URLs para ver os detalhes do perfil.

gcloud

Para ver os detalhes de um perfil de segurança de filtragem de URLs, use o comando gcloud beta network-security security-profiles url-filtering describe:

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

Substitua o seguinte:

  • NAME: o nome do perfil de segurança do tipo url-filtering que quer descrever. Pode especificar o nome como uma string ou como um identificador de URL exclusivo.

  • ORGANIZATION_ID: a organização onde o perfil de segurança de filtragem de URLs é criado. Se usar um identificador de URL exclusivo para a flag NAME, pode omitir a flag ORGANIZATION_ID.

  • LOCATION: a localização do perfil de segurança da filtragem de URLs. A localização está sempre definida como global. Se usar um identificador de URL exclusivo para a flag NAME, pode omitir a flag LOCATION.

Liste os perfis de segurança de filtragem de URLs

Pode listar todos os perfis de segurança de filtragem de URLs numa organização.

Consola

  1. Na Google Cloud consola, aceda à página Perfis de segurança.

    Aceda a Perfis de segurança

  2. Selecione o separador Perfis de segurança. O separador mostra uma lista de perfis de segurança configurados.

gcloud

Para apresentar uma lista de todos os perfis de segurança de filtragem de URLs, use o comando gcloud beta network-security security-profiles url-filtering list:

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

Substitua o seguinte:

  • ORGANIZATION_ID: a organização onde os perfis de segurança da filtragem de URLs são criados.

  • LOCATION: a localização dos perfis de segurança de filtragem de URLs. A localização está sempre definida como global.

Elimine um perfil de segurança de filtragem de URLs

Pode eliminar um perfil de segurança de filtragem de URLs especificando o respetivo nome, localização e organização. No entanto, se um perfil de segurança for referenciado por um grupo de perfis de segurança, esse perfil de segurança não pode ser eliminado.

Consola

  1. Na Google Cloud consola, aceda à página Perfis de segurança.

    Aceda a Perfis de segurança

  2. Selecione o separador Perfis de segurança. O separador mostra uma lista de perfis de segurança configurados.

  3. Selecione o perfil de segurança que quer eliminar e, de seguida, clique em Eliminar.

  4. Clique novamente em Eliminar para confirmar.

gcloud

Para eliminar um perfil de segurança de filtragem de URLs, use o comando gcloud beta network-security security-profiles url-filtering delete:

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

Substitua o seguinte:

  • NAME: o nome do perfil de segurança de filtragem de URLs que quer eliminar. Pode especificar o nome como uma string ou como um identificador de URL exclusivo.

  • ORGANIZATION_ID: a organização onde o perfil de segurança de filtragem de URLs é criado. Se usar um identificador de URL exclusivo para a flag NAME, pode omitir a flag ORGANIZATION_ID.

  • LOCATION: a localização do perfil de segurança de filtragem de URLs.

    A localização está sempre definida como global. Se usar um identificador de URL exclusivo para a flag NAME, pode omitir a flag LOCATION.

Importe um perfil de segurança de filtragem de URLs

Pode importar um perfil de segurança de filtragem de URLs (criado de forma personalizada ou exportado anteriormente) a partir de um ficheiro YAML. Quando importa um perfil de segurança de filtragem de URLs, se já existir um perfil com o mesmo nome, o Cloud NGFW atualiza o perfil existente.

gcloud

Para importar um perfil de segurança de filtragem de URLs a partir de um ficheiro YAML, use o comando gcloud beta network-security security-profiles import:

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

Substitua o seguinte:

  • NAME: o nome do perfil de segurança do tipo url-filtering que quer importar. Pode especificar o nome como uma string ou como um identificador de URL exclusivo.

    Se usar um identificador de URL exclusivo para a flag NAME, pode omitir as flags ORGANIZATION_ID e LOCATION.

  • ORGANIZATION_ID: a organização onde o perfil de segurança de filtragem de URLs é criado. Se usar um identificador de URL exclusivo para a flag NAME, pode omitir a flag ORGANIZATION_ID.

  • LOCATION: a localização do perfil de segurança da filtragem de URLs. A localização está sempre definida como global. Se usar um identificador de URL exclusivo para a flag NAME, pode omitir a flag LOCATION.

  • FILE_NAME: o caminho para o ficheiro YAML que contém os dados de exportação da configuração do perfil de segurança da filtragem de URLs. Por exemplo,url-filtering-sp.yaml.

    O ficheiro YAML não pode conter campos apenas de saída. Em alternativa, pode omitir a flag source para ler a partir da entrada padrão.

Exporte um perfil de segurança de filtragem de URLs

Pode exportar um perfil de segurança de filtragem de URLs para um ficheiro YAML. Por exemplo, em vez de usar a interface do utilizador para modificar um perfil de segurança grande, pode usar esta funcionalidade para exportar o perfil de segurança, modificá-lo rapidamente e importá-lo novamente.

gcloud

Para exportar um perfil de segurança de filtragem de URLs para um ficheiro YAML, use o comando gcloud beta network-security security-profiles export:

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

Substitua o seguinte:

  • NAME: o nome do perfil de segurança do tipo url-filtering que quer exportar. Pode especificar o nome como uma string ou como um identificador de URL exclusivo.

    Se usar um identificador de URL exclusivo para a flag NAME, pode omitir as flags ORGANIZATION_ID e LOCATION.

  • ORGANIZATION_ID: a organização onde o perfil de segurança de filtragem de URLs é criado. Se usar um identificador de URL exclusivo para a flag NAME, pode omitir a flag ORGANIZATION_ID.

  • LOCATION: a localização do perfil de segurança da filtragem de URLs. A localização está sempre definida como global. Se usar um identificador de URL exclusivo para a flag NAME, pode omitir a flag LOCATION.

  • FILE_NAME: o caminho para o ficheiro YAML para o qual o Cloud NGFW exporta a configuração do perfil de segurança de filtragem de URLs. Por exemplo,url-filtering-sp.yaml.

    Os dados de configuração exportados não contêm campos apenas de saída. Em alternativa, pode omitir a flag destination para escrever no resultado padrão.

O que se segue?