Visão geral das políticas hierárquicas de firewall

As políticas hierárquicas de firewall permitem criar e aplicar uma política de firewall consistente em toda a organização. É possível atribuir políticas hierárquicas de firewall à organização como um todo ou a pastas individuais. Essas políticas contêm regras que podem negar ou permitir conexões explicitamente, assim como as regras de firewall da nuvem privada virtual (VPC). Além disso, as regras das políticas hierárquicas de firewall delegam a avaliação a políticas de nível inferior ou de firewall de rede VPC com uma ação goto_next.

As regras de nível inferior não substituem uma regra de um lugar mais alto na hierarquia de recursos. Isso permite que os administradores de toda a organização gerenciem regras de firewall importantes em um só lugar.

Especificações

  • As políticas de firewall hierárquicas são criadas nos nós da organização e da pasta. Criar uma política não aplica automaticamente as regras ao nó.
  • Depois de criadas, as políticas podem ser aplicadas a qualquer nó (associado) da organização.
  • As políticas hierárquicas de firewall são contêineres para regras de firewall. Quando você associa uma política à organização ou a uma pasta, todas as regras são aplicadas imediatamente. É possível trocar políticas para um nó, que troca todas as regras de firewall aplicadas às instâncias de máquina virtual (VM) nesse nó.
  • A avaliação da regra é hierárquica e baseada na hierarquia de recursos. Todas as regras associadas ao nó da organização são avaliadas, seguidas pelas regras do primeiro nível de pastas e assim por diante.
  • As regras hierárquicas da política de firewall têm uma nova ação goto_next que pode ser usada para delegar a avaliação de conexão a níveis mais baixos da hierarquia.
  • As regras da política hierárquica de firewall podem ser segmentadas para redes VPC e VMs específicas usando recursos de destino para redes e contas de serviço de destino para VMs. Isso permite criar exceções para grupos de VMs. As regras da política hierárquica de firewall não são compatíveis com o direcionamento por tags de instância.
  • Cada regra de política hierárquica de firewall pode incluir intervalos IPv4 ou IPv6, mas não ambos.
  • Para ajudar na conformidade e na depuração, as regras de firewall aplicadas a uma instância de VM podem ser auditadas usando a página de detalhes da rede VPC e a página de detalhes da interface de rede da instância de VM.

Hierarquia de recursos

As regras de firewall são criadas e aplicadas em etapas separadas. É possível criar e aplicar políticas de firewall nos nós da organização ou da pasta da hierarquia de recursos. Uma regra de política de firewall pode bloquear conexões, permitir conexões ou adiar a avaliação de regras de firewall para pastas de nível inferior ou regras de firewall VPC definidas em redes VPC.

  • Organização é o nó de nível superior na hierarquia de recursos no Google Cloud em que é possível criar ou associar políticas hierárquicas de firewall. Todas as pastas e redes VPC na organização herdam essa política.

  • As pastas são nós de nível médio na hierarquia de recursos do Google Cloud, entre a organização e os projetos, em que é possível criar ou atribuir políticas hierárquicas de firewall. Todas as pastas e redes VPC em uma pasta herdam a política associada.

  • Um projeto fica em uma pasta ou na organização. É possível mover projetos entre nós em uma organização. Os projetos contêm redes VPC. Não é possível atribuir as políticas hierárquicas de firewall a projetos, apenas à organização ou a pastas.

  • Uma rede VPC é a partição do Google Cloud para comunicação de espaço IP interno isolado. Esse é o nível em que as rotas e as regras de firewall VPC tradicionais são especificadas e aplicadas. As regras da política hierárquica de firewall modificam as regras de firewall de rede ou delegam a avaliação de conexão a elas.

Por padrão, todas as regras de política hierárquica de firewall se aplicam a todas as VMs em todos os projetos na organização ou na pasta em que a política estiver associada. No entanto, é possível restringir quais VMs receberão uma determinada regra especificando redes de destino ou contas de serviço de destino.

Os níveis da hierarquia em que as regras de firewall agora são aplicadas estão representados no diagrama a seguir. Os quadros amarelos representam políticas hierárquicas de firewall que contêm regras de firewall, enquanto o quadros brancos representam regras de firewall da VPC.

Políticas hierárquicas de firewall contendo regras (quadros amarelos) nos níveis da organização e da pasta e regras do firewall da VPC no nível da rede VPC
Políticas de firewall hierárquicas que contêm regras (caixas amarelas) são aplicadas nos níveis da organização e da pasta. As regras de firewall da VPC são aplicadas no nível da rede VPC.

Avaliação de regras

As regras da política hierárquica de firewall são aplicadas no nível da VM, assim como as regras de firewall da VPC. Ou seja, elas não são aplicadas na borda da rede, como firewalls tradicionais.

O Google Cloud avalia regras da política hierárquica de firewall e regras de firewall da VPC nesta ordem:

  1. Se uma política de firewall estiver associada a uma organização, o Google Cloud avaliará as regras dessa política aplicadas à VM. Cada regra resulta em conexões permitidas ou negadas, ou a regra instrui a avaliação do firewall a chegar ao próximo nível da hierarquia, que é uma pasta ou uma rede VPC.
  2. O Google Cloud avalia as regras de política associadas a cada pasta, começando pela pasta superior na organização e trabalhando nas pastas filhas, se houver.

    A avaliação de cada regra resulta na permissão ou negação das conexões, ou a regra instrui a avaliação do firewall a chegar ao próximo nível da hierarquia, que é outra pasta ou rede VPC.

  3. Por fim, as regras de firewall da VPC são avaliadas. As regras de firewall da VPC permitem ou negam conexões.

Fluxo de resolução de regras de firewall
Fluxo de resolução de regras de firewall

Detalhes da política hierárquica de firewall

As regras da política hierárquica de firewall são definidas em um recurso de política de firewall que atua como contêiner para regras de firewall. As regras definidas em uma política de firewall não são aplicadas até que a política seja associada a um nó (uma organização ou uma pasta).

É possível associar uma única política a vários nós. Se você modificar uma regra em uma política, a alteração será aplicada a todos os nós associados no momento.

Só é possível associar uma política de firewall a um nó. As regras hierárquicas da política de firewall e as regras de firewall da VPC são avaliadas em uma ordem bem definida.

Uma política de firewall que não está associada a nenhum nó é uma política de firewall hierárquica não associada.

Nomes de políticas

Ao criar uma nova política, o Google Cloud gera automaticamente um ID para a política. Além disso, um nome curto para a política também é especificado. Ao usar a interface gcloud para atualizar uma política, é possível referenciar o ID gerado pelo sistema ou uma combinação do nome curto e do ID da organização. Ao usar a API para atualizar a política, é necessário fornecer o ID gerado pelo sistema.

Detalhes da regra da política hierárquica de firewall

As políticas hierárquicas de firewall contêm regras que geralmente funcionam da mesma maneira que as regras de firewall da VPC, mas há algumas diferenças.

Prioridade

  • Ao contrário das regras de firewall da VPC, em que várias regras podem ter a mesma prioridade, é necessário que as regras da política hierárquica de firewall tenham uma prioridade especificada, bem como que cada prioridade seja exclusiva em uma política de firewall.

  • As regras da política hierárquica de firewall não têm nomes. Em vez disso, a política de firewall em si tem um ID e um nome, e cada regra tem um número de prioridade exclusivo.

  • Em uma política hierárquica de firewall, as regras de firewall são avaliadas em ordem de prioridade, começando com a regra de prioridade mais alta (menor número). Assim, uma regra com prioridade 0 em uma política atribuída ao nó da organização substitui qualquer outra regra na organização. Uma prática recomendada é dar números de prioridade às regras que permitam a inserção posterior (como 100, 200, 300).

Action on match

  • allow
    Uma regra allow da política hierárquica de firewall modifica qualquer regra deny com uma prioridade mais baixa ou em um nível mais baixo na hierarquia. Use regras allow em uma política da organização ou da pasta para permitir sem restrições determinados tipos de conexões com todas as VMs nesse nó na hierarquia.

    Por exemplo, se você tiver sondas com gerenciamento centralizado que monitoram todas as VMs na sua organização, será possível criar uma regra allow no nível da organização para garantir que as solicitações dos endereços IP das sondas não sejam bloqueadas por qualquer rede em qualquer projeto.

  • deny
    Uma regra deny da política hierárquica de firewall modifica qualquer regra allow com uma prioridade mais baixa ou em um nível mais baixo na hierarquia.

    Por exemplo, se você quiser impossibilitar que as VMs na sua organização sejam acessadas de um intervalo de IP específico, crie uma regra deny para esse intervalo.

  • goto_next
    Direciona o firewall para mover a avaliação do firewall para o próximo nível inferior da hierarquia. É possível usá-lo para delegar tipos específicos de conexões para níveis mais baixos a serem gerenciados.

Destinos

É possível especificar para quais redes e contas de serviço de destino se aplica uma regra de política hierárquica de firewall.

Redes de destino (recursos de destino)

É possível especificar redes de destino para restringir uma regra da política hierárquica de firewall às VMs nas redes especificadas. A especificação de redes VPC na regra permite que você controle quais redes são configuradas com essa regra.

Em combinação com goto_next ou allow, a especificação de redes de destino permite criar exceções para redes específicas quando você quiser definir uma política restritiva.

Segmentar contas de serviço

Especifique as contas de serviço de destino para restringir uma regra de política hierárquica de firewall às VMs que estão sendo executadas com acesso às contas de serviço especificadas.

A direção da regra determina se os destinos da regra são instâncias de origem ou de destino. As instâncias incluem instâncias de VM, clusters do GKE e instâncias do ambiente flexível do App Engine.

  • Se a direção da regra for de entrada, o destino definirá as instâncias de destino.

  • Se a direção da regra for de saída, o destino definirá as instâncias de origem.

Especificar redes de destino e contas de serviço de destino é opcional:

  • Se nenhuma rede de destino for especificada, a regra será aplicada a todas as redes VPC no nó ao qual a política está associada.

  • Se nenhuma conta de serviço de destino for especificada, a regra será aplicada a todas as instâncias de VM no nó ao qual a política está associada.

  • Se as redes de destino e as contas de serviço de destino forem especificadas, a regra será aplicada somente a instâncias de VM que atenderem aos dois critérios de destino.

Protocolos e portas

Assim como nas regras de firewall da VPC, é necessário especificar uma ou mais restrições de protocolo e porta ao criar uma regra. Ao especificar o TCP ou o UDP em uma regra, é possível especificar o protocolo, o protocolo e uma porta de destino ou o protocolo e um intervalo de portas de destino. Não é possível especificar apenas uma porta ou intervalo de portas. Além disso, só é possível especificar portas de destino. Regras com base em portas de origem não são compatíveis.

Para IPv4 ICMP, especifique icmp. As regras de firewall não são compatíveis com a especificação de códigos e tipos ICMP.

É possível usar os seguintes nomes de protocolo em regras de firewall: tcp, udp, icmp (para IPv4 ICMP), esp, ah, sctp e ipip. Para todos os outros protocolos, use os números do protocolo IANA.

Muitos protocolos usam o mesmo nome e número no IPv4 e no IPv6, mas alguns protocolos, como o ICMP, não.

O protocolo IPv6 Hop-by-Hop não é compatível com regras de firewall.

Logging

A geração de registros para regras da política hierárquica de firewall funciona da mesma forma que a geração de registros de regras de firewall da VPC, exceto:

  • O campo de referência inclui o ID da política de firewall e um número que indica o nível hierárquico do nó a que a política está anexada. Por exemplo, 0 significa que a política é aplicada a uma organização, e 1 significa que a política é aplicada a uma pasta de nível superior na organização.

  • Os registros das regras da política hierárquica de firewall incluem um campo target_resource que identifica as redes VPC às quais a regra se aplica.

A geração de registros pode ser ativada somente para as regras allow e deny. Não é possível ativá-la para regras goto_next.

Regras predefinidas

Todas as políticas hierárquicas de firewall têm duas regras goto_next predefinidas com prioridade mais baixa. Essas regras são aplicadas a todas as conexões que não correspondem a uma regra definida explicitamente na política, fazendo com que essas conexões sejam transmitidas para políticas de nível inferior ou regras de rede.

Regras IPv4:

  • Uma regra de saída que tem 0.0.0.0/0 como destino, com prioridade muito baixa (2147483646), que envia o processamento da conexão para o próximo nível mais baixo de avaliação (goto_next).

  • Uma regra de entrada com origem 0.0.0.0/0, com prioridade muito baixa (2147483647), que envia o processamento da conexão para o próximo nível mais baixo de avaliação (goto_next).

Regras IPv6:

  • Uma regra de saída cujo destino é ::/0, com prioridade muito baixa (2147483644), que envia o processamento da conexão para o próximo nível mais baixo de avaliação (goto_next).

  • Uma regra de entrada com origem ::/0, com prioridade muito baixa (2147483645), que envia o processamento da conexão para o próximo nível mais baixo de avaliação (goto_next).

Essas regras predefinidas são visíveis, mas não é possível modificá-las nem excluí-las. Elas são diferentes das regras implícitas e pré-preenchidas de uma rede VPC.

Papéis de gerenciamento de identidade e acesso (IAM)

Os papéis do IAM regem as seguintes ações em relação a políticas de firewall hierárquicas:

  • Como criar uma política que reside em um nó específico
  • Como associar uma política a um nó específico
  • Como modificar uma política atual
  • Como visualizar as regras de firewall efetivas para uma rede ou VM específica

A tabela a seguir descreve quais papéis são necessários para cada etapa:

Habilidade Papel necessário
Criar uma nova política de firewall hierárquica compute.orgFirewallPolicyAdmin no nó em que a política residirá
Associar uma política a um nó compute.orgSecurityResourceAdmin no nó de destino e compute.orgFirewallPolicyAdmin ou compute.orgFirewallPolicyUser na própria política ou no nó em que a política reside.
Modifique a política adicionando, atualizando ou excluindo regras de firewall. compute.orgFirewallPolicyAdmin no nó em que a política reside ou na própria política
Exclua a política: compute.orgFirewallPolicyAdmin no nó em que a política reside ou na própria política
Veja as regras de firewall efetivas de uma rede VPC Qualquer um dos seguintes papéis para a rede:
compute.networkAdmin
compute.networkViewer
compute.securityAdmin
compute.securityReadOnly
compute.viewer
Veja as regras de firewall efetivas de uma VM em uma rede Qualquer um dos seguintes papéis da VM:
compute.instanceAdmin
compute.securityAdmin
compute.securityReadOnly
compute.viewer

Os papéis a seguir são relevantes para políticas hierárquicas de firewall.

Nome do papel Descrição
compute.orgFirewallPolicyAdmin Pode ser concedido em um nó ou em uma política individual. Se concedido em um nó, permite que os usuários criem, atualizem e excluam políticas de firewall hierárquicas e suas regras. Se concedida em uma política individual, permite que o usuário atualize as regras, mas não crie ou exclua a política. Esse papel também permite que o usuário associe uma política a um nó se também tiver o papel compute.orgSecurityResourceAdmin nesse nó.
compute.orgSecurityResourceAdmin Concedido no nível da organização ou a uma pasta, permite que os administradores no nível da pasta associem uma política a esse nó. Os administradores também precisam ter o papel compute.orgFirewallPolicyUser ou compute.orgFirewallPolicyAdmim no nó que é proprietário da política ou na própria política para usá-la.
compute.orgFirewallPolicyUser Concedido em um nó ou em uma política individual, permite que os administradores usem a política individual ou as políticas associadas ao nó. É necessário que os usuários também tenham o papel compute.orgSecurityResourceAdmin no nó de destino para associar uma política a esse nó.
compute.securityAdmin
compute.viewer
compute.networkUser
compute.networkViewer
Permite que os usuários visualizem as regras de firewall aplicadas à rede ou à instância.
Inclui a permissão compute.networks.getEffectiveFirewalls para redes e compute.instances.getEffectiveFirewalls para instâncias.

No exemplo a seguir, João pode criar, modificar e excluir qualquer política hierárquica de firewall na pasta policies, mas não pode anexar a política hierárquica de firewall a uma pasta porque não tem o papel orgSecurityResourceAdmin em nenhuma pasta.

No entanto, como João concedeu a Maria permissões para usar policy-1, ela pode listar e associar essa política hierárquica de firewall à pasta dev-projects ou a qualquer um dos descendentes dela. O papel orgFirewallPolicyUser não concede permissão para associar as políticas a nenhuma pasta. Também é preciso que o usuário tenha o papel orgSecurityResourceAdmin na pasta de destino.

Exemplo de policy-1
Exemplo de policy-1

Como gerenciar recursos da política hierárquica de firewall

Como uma política hierárquica de firewall define apenas um conjunto de regras de firewall e não onde elas são aplicadas, é possível criar esses recursos em uma parte diferente da hierarquia dos nós a que se aplicam. Isso permite associar um único recurso da política hierárquica de firewall a várias pastas na organização.

No exemplo a seguir, policy-1 é aplicado às pastas dev-projects e corp-projects e, portanto, vale para todos os projetos nessas pastas.

Localização e associação da política
Localização e associação da política

Como modificar as regras de uma política

É possível adicionar, remover e modificar regras em uma política. Cada alteração é feita individualmente. Não há mecanismo para regras de atualização em lote em uma política. As alterações são aplicadas aproximadamente na ordem em que os comandos são executados, embora isso não seja garantido.

Se você estiver fazendo alterações abrangentes em uma política hierárquica de firewall e precisar garantir que elas sejam aplicadas ao mesmo tempo, clone a política a uma política temporária e atribua a política temporária aos mesmos nós. Faça as alterações no original e, então, o atribua novamente aos nós. As etapas para fazer isso estão disponíveis em Como copiar regras de uma política para outra.

No exemplo a seguir, policy-1 está anexado à pasta dev-projects, e você quer fazer várias alterações que se aplicam atomicamente. Crie uma nova política chamada scratch-policy e copie todas as regras existentes de policy-1 para scratch-policy para editá-las. Depois de concluir a edição, copie todas as regras de scratch-policy de volta para policy-1.

Modificar uma política
Modificar uma política

Como mover uma política

As políticas hierárquicas de firewall, como projetos, são compartilhadas por uma pasta ou um recurso da organização. À medida que o esquema da pasta evolui, talvez seja necessário mover uma política hierárquica de firewall para uma nova pasta antes excluir uma pasta. As políticas de propriedade de uma pasta são excluídas se a pasta for excluída.

O diagrama a seguir ilustra como mover uma política entre as associações de nós ou a avaliação de regras na política.

Mover uma política
Mover uma política

Como associar uma política hierárquica de firewall a uma pasta

Uma política hierárquica de firewall não é aplicada, a menos que esteja associada a um nó da organização ou da pasta. Depois de associada, ela será aplicada a todas as VMs em todas as redes dessa organização ou pasta.

Associar uma política
Associar uma política

Alterações na hierarquia de recursos

Talvez leve algum tempo até que as alterações na hierarquia de recursos sejam propagadas pelo sistema. É recomendável evitar atualizações simultâneas nos anexos da política hierárquica de firewall e na hierarquia de recursos, porque as redes talvez não herdem imediatamente a política hierárquica de firewall definida no novo local na hierarquia.

Como mover uma política
Como mover uma política

Por exemplo, se você mover a pasta dept-A da pasta dev-projects para a pasta eng-projects e alterar a associação de policy-1 para eng-projects em vez de dev-projects, não desassocie policy-1 de dev-projects ao mesmo tempo. Se a pasta dev-projects perder a associação de política hierárquica de firewall antes que todas as redes VPC dela tenham a ancestralidade atualizada, por um curto período, essas redes VPC não estarão protegidas por policy-1.

Como usar políticas hierárquicas de firewall com a VPC compartilhada

Em cenários de VPC compartilhada, uma interface de VM conectada a uma rede de projetos host é regida pelas regras da política hierárquica de firewall do projeto host, não do projeto de serviço.

VM na VPC compartilhada
VM na VPC compartilhada

Mesmo que os projetos de serviço estejam em uma pasta diferente do projeto host, as interfaces de VM na rede compartilhada ainda herdam as regras de pastas do projeto host.

VMs do projeto de serviço herdam as regras do projeto host
VMs do projeto de serviço herdam as regras do projeto host

Como usar políticas hierárquicas de firewall com peering de rede VPC

Em cenários de peering de rede VPC, a interface de VM associada a cada uma das redes VPC herda as políticas na hierarquia nas respectivas redes VPC. Veja a seguir um exemplo de peering de rede VPC em que as redes com peering de VPC pertencem a diferentes organizações.

VMs herdam das respectivas redes
VMs herdam das respectivas redes

Regras de firewall eficazes

Como as conexões são regidas pelas regras da política hierárquica de firewall e de VPC, é útil ver todas as regras de firewall que afetam uma rede individual ou uma interface de VM individual.

Os administradores de nível do talvez não tenham permissão para visualizar regras em políticas hierárquicas de firewall que afetam as VMs. No entanto, se um usuário tiver permissões para ver as regras de firewall de uma rede, ele poderá ver todas as regras aplicáveis à rede, mesmo que elas sejam herdadas de uma pasta ou organização.

Política de firewall efetiva da rede

É possível visualizar todas as regras de firewall aplicadas a uma rede VPC. A lista inclui todas as regras herdadas de políticas hierárquicas de firewall e todas as regras aplicadas da rede VPC.

Regras de firewall efetivas da instância

É possível ver todas as regras de firewall aplicadas à interface de rede de uma VM. A lista inclui todas as regras herdadas de políticas hierárquicas de firewall e todas as regras aplicadas da rede VPC da interface.

As regras são ordenadas do nível da organização até as regras da VPC. Somente as regras que se aplicam à interface da VM são mostradas. As regras em outras políticas não são exibidas. Portanto, um usuário não consegue ver a política de segurança geral da organização.

A seguir