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
- Tem de ativar a API Network Security no seu projeto.
- Instale a CLI gcloud se quiser executar os exemplos de linha de comandos neste guia.
gcloud
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
Na Google Cloud consola, aceda à página Perfis de segurança.
No menu do seletor de projetos, selecione a sua organização.
Selecione o separador Perfis de segurança.
Clique em Criar perfil.
Introduza um nome no campo Nome.
Opcional: introduza uma descrição no campo Descrição.
Para criar um perfil de segurança empresarial da firewall de nova geração da nuvem, na secção Finalidade, selecione Cloud NGFW Enterprise.
Para criar um perfil de segurança de filtragem de URLs, na secção Tipo, selecione Filtragem de URLs.
Na secção Filtros de URL, clique no botão Criar filtro de URL.
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.
Clique em Criar.
gcloud
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
outhreat-prevention
.ACTION
: especifique uma das seguintes ações:allow
: permite ligações que correspondem a um URLdeny
: 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
ewww.altostrat.com
.
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 flagsLOCATION
eORGANIZATION
.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 flagNAME
, pode omitir a flagLOCATION
.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 flagname
, pode omitir a flagORGANIZATION_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
ewww.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 aa.example.com
ea.b.c.example.com
, mas não corresponde aexample.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 aa.example.com
,a.b.c.example.com
eexample.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 deexample.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 anewexample.test
nem aa.newexample.test
. Só corresponde aexample.test
e aos subdomínios deexample.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 deDENY
. Isto acontece porque o filtro de URL de rejeição implícita aplica oDENY
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ícitoDENY
, 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
Na Google Cloud consola, aceda à página Perfis de segurança.
Selecione o separador Perfis de segurança. O separador mostra uma lista de perfis de segurança configurados.
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 tipourl-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 flagNAME
, pode omitir a flagORGANIZATION_ID
.LOCATION
: a localização do perfil de segurança da filtragem de URLs. A localização está sempre definida comoglobal
. Se usar um identificador de URL exclusivo para a flagNAME
, pode omitir a flagLOCATION
.
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
Na Google Cloud consola, aceda à página Perfis de segurança.
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 comoglobal
.
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
Na Google Cloud consola, aceda à página Perfis de segurança.
Selecione o separador Perfis de segurança. O separador mostra uma lista de perfis de segurança configurados.
Selecione o perfil de segurança que quer eliminar e, de seguida, clique em Eliminar.
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 flagNAME
, pode omitir a flagORGANIZATION_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 flagNAME
, pode omitir a flagLOCATION
.
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 tipourl-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 flagsORGANIZATION_ID
eLOCATION
.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 flagNAME
, pode omitir a flagORGANIZATION_ID
.LOCATION
: a localização do perfil de segurança da filtragem de URLs. A localização está sempre definida comoglobal
. Se usar um identificador de URL exclusivo para a flagNAME
, pode omitir a flagLOCATION
.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 tipourl-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 flagsORGANIZATION_ID
eLOCATION
.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 flagNAME
, pode omitir a flagORGANIZATION_ID
.LOCATION
: a localização do perfil de segurança da filtragem de URLs. A localização está sempre definida comoglobal
. Se usar um identificador de URL exclusivo para a flagNAME
, pode omitir a flagLOCATION
.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?
- Crie e faça a gestão de grupos de perfis de segurança
- Crie e faça a gestão de pontos finais de firewall