Nesta página, explicamos como criar e gerenciar perfis de segurança do tipo url-filtering
usando o console Google Cloud e a Google Cloud CLI.
Antes de começar
- É necessário ativar a API Network Security no projeto.
- Instale a CLI gcloud se você quiser executar os exemplos de linhas de comando
gcloud
neste guia.
Papéis
Para receber as permissões necessárias de criação, visualização, atualização ou exclusão de perfis de segurança, solicite ao administrador que conceda a você os papéis do IAM necessários na sua organização. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Criar um perfil de segurança de filtragem de URL
Ao criar um perfil de segurança de filtragem de URL (perfil de segurança do tipo
url-filtering
), é possível especificar o nome dele como uma string ou um identificador de URL exclusivo. O URL exclusivo de um perfil de segurança com escopo da organização pode ser criado no seguinte formato:
organization/ORGANIZATION_ID/locations/LOCATION/securityProfiles/SECURITY_PROFILE_NAME
Se você usar um identificador de URL exclusivo para o nome do perfil de segurança, a organização e o local do perfil de segurança já estarão incluídos no identificador de URL. No entanto, se você usar apenas o nome do perfil de segurança, será necessário especificar a organização e o local separadamente. Para mais informações sobre identificadores exclusivos de URL, consulte as especificações do perfil de segurança.
Console
No Google Cloud console, acesse a página Perfis de segurança.
No menu do seletor de projetos, selecione sua organização.
Selecione a guia Perfis de segurança.
Clique em Create profile.
Digite um nome no campo Nome.
.Opcional: insira uma descrição no campo Descrição.
Para criar um perfil de segurança do Cloud Next Generation Firewall Enterprise, na seção Finalidade, selecione Cloud NGFW Enterprise.
Para criar um perfil de segurança de filtragem de URL, na seção Tipo, selecione Filtragem de URL.
Na seçã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 realiza no tráfego.
- Permitir: permite as conexões que correspondem a um URL.
- Negar: nega as conexões que correspondem a um URL.
- Lista de URLs: especifique uma lista de URLs ou strings de correspondência. Cada URL ou entrada de string de correspondência precisa aparecer na própria linha sem espaços ou delimitadores. Cada entrada pode consistir em apenas um domínio. Para mais informações sobre as strings de correspondência, consulte Strings de correspondência para URLs.
Clique em Criar.
gcloud
Crie um arquivo YAML com o seguinte conteúdo:
name: NAME type: PROFILE_TYPE urlFilteringProfile: urlFilters: - filteringAction: ACTION priority: PRIORITY urls: URL[,URL,...]
Substitua:
.NAME
: o nome do perfil de segurança de filtragem de URL; é possível especificar o nome como uma string ou um identificador de URL exclusivo.PROFILE_TYPE
: o tipo de perfil de segurança,url-filtering
outhreat-prevention
.ACTION
: especifique uma das seguintes ações:allow
: permite conexões que correspondem a um URLdeny
: nega conexões que correspondem 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 URL, execute o comando
gcloud network-security security-profiles import
:gcloud network-security security-profiles import NAME \ --location LOCATION \ --source FILE_NAME \ --organization = ORGANIZATION_ID
Como alternativa, é possível criar um perfil de segurança de filtragem de URL sem um arquivo YAML usando o 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
Substitua:
.NAME
: o nome do perfil de segurança de filtragem de URL; é possível especificar o nome como uma string ou um identificador de URL exclusivo.Se você usar um identificador de URL exclusivo para a flag
NAME
, será possível omitir as flagsLOCATION
eORGANIZATION
.LOCATION
: o local do perfil de segurança de filtragem de URL.O local está sempre definido como
global
. Se você usar um identificador de URL exclusivo para a sinalizaçãoNAME
, omita a sinalizaçãoLOCATION
.FILE_NAME
: o nome do arquivo YAML. Por exemplo,url-filtering-sp.yaml
.ORGANIZATION_ID
: a organização em que o perfil de segurança de filtragem de URL é criado. Se você usar um identificador de URL exclusivo para a sinalizaçãoname
, será possível omitir a sinalizaçãoORGANIZATION_ID
.DESCRIPTION
: uma descrição opcional para o perfil de segurança de filtragem de URL.
Por exemplo, o snippet de código a seguir mostra um perfil de segurança de filtragem de URL que permite solicitações para
www.example.com
ewww.altostrat.com
, mas nega solicitações 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 negação implícita
O perfil de segurança de filtragem de URL sempre inclui um filtro de URL padrão com a menor prioridade (2147483647), que nega todas as conexões que não correspondem aos filtros de URL de maior prioridade. O snippet de código a seguir mostra um exemplo do filtro de URL de negação 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: ['*']
É possível ver o filtro de URL de negação implícita ao visualizar ou exportar um perfil de segurança de filtro de URL. Não é possível modificar ou remover o filtro implícito. Por exemplo, se você quiser mudar a ação padrão de um perfil de DENY
(aplicada por um filtro implícito) para ALLOW
, adicione um filtro explícito que o Cloud NGFW processe 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 especificados no campo urls
de um filtro de URL. É possível especificar uma ou mais strings de correspondência em um filtro de URL.
Caracteres curinga
Cada string de correspondência de uma lista de URLs aceita um caractere curinga (*) de forma limitada.
- Cada string de correspondência pode aceitar apenas um asterisco (*), que pode ser o primeiro ou o único caractere.
O asterisco (*) pode ter as seguintes interpretações:
Um asterisco (*) antes de um ponto (.) 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 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, o Cloud NGFW permite o tráfego para os subdomínios de
example.com
, mas nega o restante do tráfego de saída.Um asterisco (*) antes de um rótulo 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
e os subdomínios deexample.com
, mas nega o restante do tráfego de saída.O Cloud NGFW não interpreta o asterisco (*) como um caractere curinga de expressão regular.
Por exemplo,
*example.test
não corresponde anewexample.test
oua.newexample.test
. Ela só corresponde aexample.test
e aos subdomínios deexample.test
.Um único asterisco (*) sem outros caracteres indica uma correspondência para todas as solicitações.
Por exemplo, a string de correspondência no filtro de permissão explícita de URL de menor prioridade contém apenas um asterisco (*) e tem uma ação
ALLOW
que substitui a ação padrão deDENY
. Isso acontece porque o filtro de URL de negação implícita aplica oDENY
padrão a todas as solicitações que não correspondem a filtros de URL de prioridade mais alta.O filtro de URL de maior prioridade, que é um
ALLOW
explícito ou umDENY
implícito, determina se o Cloud NGFW permite ou nega conexões quando não tem informações de SNI ou domínio. Isso pode acontecer com tráfego HTTP não criptografado ou quando a inspeção TLS está desativada para cabeçalhos de mensagens criptografadas.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 são compatíveis com o caractere de barra (/). Por exemplo:
www.example.com/images
. - As strings de correspondência não são compatíveis com esquemas ou nomes de protocolo. Por exemplo,
http://www.example.com
. - As strings de correspondência não aceitam números de porta. Por exemplo,
www.example.com:80
. - As strings de correspondência só aceitam letras ASCII, números e caracteres especiais: hífen (-), ponto (.) e asterisco (*).
Use o Punycode para converter nomes de domínio que contenham caracteres diferentes de letras ASCII, números, hifens (-), pontos (.) ou asteriscos (*). O Punycode é um padrão de codificação que transforma nomes de domínio Unicode em um formato compatível com ASCII.
Se você tiver dois ou mais rótulos, use pontos (.) para separá-los. Um rótulo pode conter um ou mais hífens (-), mas não pode começar ou terminar com um hífen. Cada rótulo pode incluir no máximo 63 caracteres.
Um filtro de URL não aceita o uso de um ponto no início de um nome de domínio ou pontos consecutivos em uma string de correspondência. Um filtro de URL permite pontos finais, mas o Cloud NGFW os remove antes de salvar um filtro de URL.
O Cloud NGFW converte as strings de correspondência em letras minúsculas antes de salvar o filtro de URL. O Cloud NGFW não realiza nenhuma outra normalização.
Cada nome de domínio pode incluir no máximo 255 caracteres.
Conferir um perfil de segurança de filtragem de URL
É possível conferir os detalhes de um perfil de segurança de filtragem de URL específico em uma organização.
Console
No Google Cloud console, acesse a página Perfis de segurança.
Selecione a guia Perfis de segurança. A guia mostra uma lista de perfis de segurança configurados.
Clique em um perfil de segurança do tipo Filtragem de URL para conferir os detalhes.
gcloud
Para conferir os detalhes de um perfil de segurança de filtragem de URL, use o
comando gcloud network-security security-profiles url-filtering describe
:
gcloud network-security security-profiles url-filtering describe NAME \ --organization ORGANIZATION_ID \ --location LOCATION \
Substitua:
NAME
: o nome do perfil de segurança do tipourl-filtering
que você quer descrever. É possível especificar o nome como uma string ou um identificador de URL exclusivo.ORGANIZATION_ID
: a organização em que o perfil de segurança de filtragem de URL é criado. Se você usar um identificador de URL exclusivo para a sinalizaçãoNAME
, omita a sinalizaçãoORGANIZATION_ID
.LOCATION
: o local do perfil de segurança de filtragem de URL. O local está sempre definido comoglobal
. Se você usar um identificador de URL exclusivo para a flagNAME
, omita a flagLOCATION
.
Listar perfis de segurança de filtragem de URL
É possível listar todos os perfis de segurança de filtragem de URL em uma organização.
Console
No Google Cloud console, acesse a página Perfis de segurança.
Selecione a guia Perfis de segurança. A guia mostra uma lista de perfis de segurança configurados.
gcloud
Para listar todos os perfis de segurança de filtragem de URL, use o
comando gcloud network-security security-profiles url-filtering list
:
gcloud network-security security-profiles url-filtering list \ --organization ORGANIZATION_ID \ --location LOCATION
Substitua:
ORGANIZATION_ID
: a organização em que os perfis de segurança de filtragem de URL são criados.LOCATION
: o local dos perfis de segurança de filtragem de URL. O local está sempre definido comoglobal
.
Excluir um perfil de segurança de filtragem de URL
É possível excluir um perfil de segurança de filtragem de URL especificando o nome, o local e a organização dele. No entanto, se um perfil de segurança for referenciado por um grupo de perfis de segurança, ele não poderá ser excluído.
Console
No Google Cloud console, acesse a página Perfis de segurança.
Selecione a guia Perfis de segurança. A guia mostra uma lista de perfis de segurança configurados.
Selecione o perfil de segurança que você quer excluir e clique em Excluir.
Clique em Excluir novamente para confirmar.
gcloud
Para excluir um perfil de segurança de filtragem de URL, use o
comando gcloud network-security security-profiles url-filtering delete
:
gcloud network-security security-profiles url-filtering delete NAME \ --organization ORGANIZATION_ID \ --location LOCATION
Substitua:
NAME
: o nome do perfil de segurança de filtragem de URL que você quer excluir. É possível especificar o nome como uma string ou um identificador de URL exclusivo.ORGANIZATION_ID
: a organização em que o perfil de segurança de filtragem de URL é criado. Se você usar um identificador de URL exclusivo para a sinalizaçãoNAME
, será possível omitir a sinalizaçãoORGANIZATION_ID
.LOCATION
: o local do perfil de segurança de filtragem de URL.O local está sempre definido como
global
. Se você usar um identificador de URL exclusivo para a sinalizaçãoNAME
, omita a sinalizaçãoLOCATION
.
Importar um perfil de segurança de filtragem de URL
É possível importar um perfil de segurança de filtragem de URL (criado de forma personalizada ou exportado anteriormente) de um arquivo YAML. Ao importar um perfil de segurança de filtragem de URL, se já existir um perfil com o mesmo nome, o Cloud NGFW vai atualizar o perfil atual.
gcloud
Para importar um perfil de segurança de filtragem de URL de um arquivo YAML, use o comando
gcloud network-security security-profiles import
:
gcloud network-security security-profiles import NAME \ --organization ORGANIZATION_ID \ --location LOCATION \ --source FILE_NAME
Substitua:
NAME
: o nome do perfil de segurança do tipourl-filtering
que você quer importar. É possível especificar o nome como uma string ou um identificador de URL exclusivo.Se você usar um identificador de URL exclusivo para a flag
NAME
, será possível omitir as flagsORGANIZATION_ID
eLOCATION
.ORGANIZATION_ID
: a organização em que o perfil de segurança de filtragem de URL é criado. Se você usar um identificador de URL exclusivo para a sinalizaçãoNAME
, omita a sinalizaçãoORGANIZATION_ID
.LOCATION
: o local do perfil de segurança de filtragem de URL. O local está sempre definido comoglobal
. Se você usar um identificador de URL exclusivo para a flagNAME
, omita a flagLOCATION
.FILE_NAME
: o caminho para o arquivo YAML que contém os dados de exportação de configuração do perfil de segurança de filtragem de URL. Por exemplo,url-filtering-sp.yaml
.O arquivo YAML não pode conter campos somente saída. Como alternativa, omita a flag
source
para ler da entrada padrão.
Exportar um perfil de segurança de filtragem de URL
É possível exportar um perfil de segurança de filtragem de URL para um arquivo YAML. Por exemplo, em vez de usar a interface do usuário para modificar um perfil de segurança grande, é possível usar essa funcionalidade para exportar, modificar rapidamente e importar de volta o perfil.
gcloud
Para exportar um perfil de segurança de filtragem de URL para um arquivo YAML, use o comando
gcloud network-security security-profiles export
:
gcloud network-security security-profiles export NAME \ --organization ORGANIZATION_ID \ --location LOCATION \ --destination FILE_NAME
Substitua:
NAME
: o nome do perfil de segurança do tipourl-filtering
que você quer exportar. É possível especificar o nome como uma string ou um identificador de URL exclusivo.Se você usar um identificador de URL exclusivo para a flag
NAME
, será possível omitir as flagsORGANIZATION_ID
eLOCATION
.ORGANIZATION_ID
: a organização em que o perfil de segurança de filtragem de URL é criado. Se você usar um identificador de URL exclusivo para a sinalizaçãoNAME
, omita a sinalizaçãoORGANIZATION_ID
.LOCATION
: o local do perfil de segurança de filtragem de URL. O local está sempre definido comoglobal
. Se você usar um identificador de URL exclusivo para a flagNAME
, omita a flagLOCATION
.FILE_NAME
: o caminho para o arquivo YAML em que o Cloud NGFW vai exportar a configuração do perfil de segurança de filtragem de URL. Por exemplo,url-filtering-sp.yaml
.Os dados de configuração exportados não contêm campos somente de saída. Como alternativa, omita a flag
destination
para gravar na saída padrão.