Como usar políticas de firewall hierárquicas

Nesta página, consideramos que você esteja familiarizado com os conceitos descritos na Visão geral das políticas de firewall hierárquicas. Para ver exemplos de implementações de políticas hierárquicas de firewall, consulte Exemplos de políticas hierárquicas de firewall.

Limitações

  • As regras da política hierárquica de firewall só podem usar intervalos IP para definir origens para regras de entrada. As tags e contas de serviço de origem são compatíveis apenas com regras de firewall da VPC.
  • As regras de política hierárquica de firewall não permitem o uso de tags de rede para definir metas. Em vez disso, use uma rede VPC de destino ou uma conta de serviço de destino.
  • As políticas de firewall podem ser aplicadas no nível da pasta e da organização, mas não no nível da rede VPC. As regras de firewall da VPC regulares são compatíveis com redes VPC.
  • Somente uma política de firewall pode ser associada a um nó (pasta ou organização), embora as instâncias de máquina virtual (VM) em uma pasta possam herdar regras de toda a hierarquia de nós acima da VM.
  • A geração de registros de regras de firewall é compatível com regras allow e deny, mas não com regras goto_next.
  • Os endereços IPv6 não são aceitos.

Tarefas de política de firewall

Como criar uma política de firewall

É possível criar uma política em qualquer nó, organização ou pasta da hierarquia da organização. Depois de criar uma política, é possível associá-la a qualquer nó da sua organização. Depois que a política é associada, suas regras ficam ativas para as VMs no nó associado na hierarquia.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou uma pasta na organização.

  3. Clique em Criar política de firewall.

  4. Dê um Nome à política.

  5. Se você quiser criar regras para a política, clique em Continuar e em Adicionar regra.

    Para mais detalhes, consulte Como criar regras de firewall.

  6. Se quiser associar a política a um nó, clique em Continuar e em Associar.

    Para mais detalhes, consulte Como associar uma política à organização ou a uma pasta.

  7. Clique em Criar.

gcloud

gcloud beta compute org-security-policies create \
    [--organization ORG_ID] | --folder FOLDER_ID] \
    --display-name DISPLAY_NAME

Substitua:

  • ORG_ID: ID da sua organização
    Especifique esse ID se você estiver criando a política no nível da organização. Esse ID indica apenas em que local a política está. Ele não associa automaticamente a política ao nó da organização.
  • FOLDER_ID: o ID de uma pasta
    Especifique esse ID se estiver criando a política em uma determinada pasta. Esse ID indica apenas em que local a política está. Ele não associa automaticamente a política a essa pasta.
  • DISPLAY_NAME: um nome para a política
    Uma política criada usando a interface de linha de comando gcloud tem dois nomes: um nome gerado pelo sistema e um nome de exibição fornecido por você. Ao usar a interface gcloud para atualizar uma política existente, informe o nome gerado pelo sistema ou o nome de exibição e o ID da organização. Ao usar a API para atualizar a política, é preciso informar o nome gerado pelo sistema.

Como criar regras de firewall

As regras de política de firewall hierárquicas precisam ser criadas em uma política de firewall hierárquica. As regras não estarão ativas até que você associe a política a um nó.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique no nome da sua política.

  4. Clique em Adicionar regra.

  5. Preencha os campos da regra:

    1. Prioridade: a ordem de avaliação numérica da regra. Uma regra com prioridade 1 é avaliada primeiro. As prioridades precisam ser exclusivas para cada regra. Uma prática recomendada é dar números de prioridade às regras que permitam a inserção posterior (como 100, 200, 300).
    2. Defina a coleção Registros como Ativado ou Desativado.
    3. Em Direção do tráfego, especifique se essa regra é de Entrada ou Saída.
    4. Em Ação se houver correspondência, especifique se as conexões que correspondem à regra são permitidas (Permitir), negadas (Negar) ou se a avaliação da conexão é passada para a próxima regra de firewall inferior na hierarquia (Ir para a próxima).
    5. Opcional: é possível restringir a regra a determinadas redes especificando-as no campo Rede de destino.
    6. Opcional: é possível restringir a regra a VMs em execução como uma conta de serviço especificada definindo as contas de serviço no campo Conta de serviço de destino.
    7. Se você estiver criando uma regra de Entrada, especifique a quais intervalos de IP de origem essa regra será aplicada. Se você estiver criando uma regra de Saída, especifique a quais intervalos de IP de destino essa regra será aplicada. Em ambos os casos, especifique 0.0.0.0/0 para todos os endereços IP.
    8. Em Protocolos e portas, especifique se a regra será aplicada a todos os protocolos e portas ou especifique a quais protocolos e portas ela será aplicada.
    9. Clique em Criar.
  6. Clique em Adicionar regra para adicionar outra regra. Clique em Continuar > Associar para associar a política a um nó ou clique em Criar para criar a política.

gcloud

gcloud beta compute org-security-policies rules create PRIORITY \
    --organization ORG_ID \
    --security-policy POLICY_NAME \
    --direction DIRECTION \
    --action ACTION \
    --layer4-configs PROTOCOL_PORT \
    --src-ip-ranges IP_RANGES \
    [--enable-logging | --no-enable-logging]

Substitua:

  • PRIORITY: a ordem de avaliação numérica da regra
    Uma regra com prioridade 1 é avaliada primeiro. As prioridades precisam ser exclusivas para cada regra. Uma prática recomendada é dar números de prioridade às regras que permitam a inserção posterior (como 100, 200, 300).
  • ORG_ID: ID da sua organização
  • POLICY_NAME: o nome de exibição ou o nome gerado pelo sistema da política
  • DIRECTION: indica se a regra é ingress ou egress. O padrão é ingress
  • ACTION é um destes:
    • allow: permite conexões que correspondem à regra
    • deny: nega conexões que correspondem à regra
    • goto_next: transmite a avaliação da conexão para o próximo nível da hierarquia, seja uma pasta ou a rede
  • PROTOCOL_PORT: uma lista separada por vírgulas de protocolos de destino (tcp, udp, icmp, esp, ah, sctp), protocolos e portas (tcp:80) ou protocolos e intervalos de portas (tcp:5000-6000)
    Não é possível especificar uma porta ou um intervalo de portas sem um protocolo. Para icmp, não é possível especificar uma porta ou intervalo de portas. Exemplo:
    --layer4-configs tcp:80, tcp:443, udp:4000-5000, icmp
  • IP_RANGES: uma lista separada por vírgulas de intervalos de IP em formato CIDR. Exemplo:
    --src-ip-ranges 10.100.0.1/32, 10.200.0.0/24

Como associar uma política à organização ou pasta

Associe uma política a um nó para ativar as regras de política para VMs no nó na hierarquia.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na sua política.

  4. Clique na guia Associados a.

  5. Clique em Associar.

  6. Selecione a raiz da organização ou as pastas da organização.

  7. Clique em Associar.

gcloud

gcloud beta compute org-security-policies associations create \
    --security-policy POLICY_NAME \
    --organization ORG_ID \
    [ --folder FOLDER_ID ] \
    [ --name ASSOCIATION_NAME ] \
    [ --replace-association-on-target ]

Substitua:

  • POLICY_NAME: o nome de exibição ou o nome gerado pelo sistema da política
  • ORG_ID: ID da sua organização
  • FOLDER_ID: se você estiver associando a política a uma pasta, especifique-a aqui. Omita se você estiver associando a política ao nível da organização
  • ASSOCIATION_NAME: um nome opcional para a associação. Se não for especificado, o nome será definido como "organização ORG_ID" ou "pasta FOLDER_ID"
  • --replace-association-on-target
    Por padrão, se você tentar inserir uma associação a um nó de organização ou pasta que já tenha uma associação, o método falhará. Se você especificar essa sinalização, a associação existente será excluída ao mesmo tempo que a nova associação for criada. Isso impede que o nó não tenha uma política durante a transição.

Como mover uma política de um nó para outro

Mover uma política altera qual nó é o proprietário da política. Para mover uma política, é preciso ter permissões move nos nós antigos e novos.

Mover uma política não afeta nenhuma associação de política existente ou a avaliação das regras existentes, mas pode afetar quem tem permissões para modificar ou associar a política após a movimentação.

Console

Use o comando gcloud para este procedimento.

gcloud

gcloud beta compute org-security-policies move POLICY_NAME \
    --organization ORG_ID \
    [--folder FOLDER_ID]

Substitua:

  • POLICY_NAME: o nome de exibição ou o nome gerado pelo sistema da política que você está movendo
  • ORG_ID: o ID da sua organização. Se você estiver movendo a política para o nó da organização, especifique esse ID, mas não especifique uma pasta
  • FOLDER_ID: se você estiver associando a política a uma pasta, especifique-a aqui. Omita se você estiver associando a política ao nó da organização

Como atualizar uma descrição da política

O único campo de política que pode ser atualizado é Descrição.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique em Editar.

  4. Modifique a Descrição.

  5. Clique em Salvar.

gcloud

gcloud beta compute org-security-policies list-rules POLICY_NAME \
    --organization ORG_ID

Como listar políticas

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

    A seção Políticas de firewall associadas a este nó ou herdadas pelo nó mostra quais políticas estão associadas a esse nó na hierarquia de recursos.

    A seção Políticas de firewall localizadas neste nó lista as políticas que são propriedade desse nó na hierarquia de recursos. Essas políticas podem não estar associadas a esse nó, mas estão disponíveis para serem associadas a esse ou outros nós.

gcloud

gcloud beta compute org-security-policies list \
    [--organization ORG_ID | --folder FOLDER_ID]

Como descrever uma política

É possível ver todos os detalhes de uma política, incluindo todas as regras de firewall. Além disso, é possível ver muitos atributos que estão em todas as regras da política. Esses atributos contam para um limite por política.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na sua política.

gcloud

gcloud beta compute org-security-policies describe POLICY_NAME \
    --organization ORG_ID

Como excluir uma política

É necessário excluir todas as associações em uma política de firewall da organização antes de excluí-la.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na política que você quer excluir.

  4. Clique na guia Associados a.

  5. Selecione todas as associações.

  6. Clique em Remover.

  7. Depois que todas as associações forem removidas, clique em Excluir.

gcloud

  1. Liste todos os nós associados a uma política de firewall:

    gcloud beta compute org-security-policies describe
        --security-policy POLICY_NAME \
        --organization ORG_ID
    
  2. Exclua associações individuais. Para remover a associação, é necessário ter o papel compute.orgSecurityResourceAdmin no nó associado ou no ancestral desse nó.

    gcloud beta compute org-security-policies associations delete NODE_NAME \
        --organization ORG_ID \
        --security-policy POLICY_NAME
    
  3. Exclua a política:

    gcloud beta compute org-security-policies delete POLICY_NAME \
        --organization ORG_ID
    

Como listar associações para um nó

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. As políticas associadas e herdadas são listadas em Políticas de firewall associadas a este nó ou herdadas pelo nó.

gcloud

gcloud beta compute org-security-policies associations list \
  [--organization ORG_ID | --folder FOLDER_ID]

Como listar associações de uma política

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na sua política.

  4. Clique na guia Associações.

  5. As associações são listadas na tabela.

gcloud

gcloud beta compute org-security-policies describe POLICY_ID

Como excluir uma associação

Para interromper a aplicação de uma política de segurança na organização ou em uma pasta, exclua a associação.

No entanto, se você pretende trocar uma política de segurança por outra, não é necessário excluir a associação existente primeiro. Isso deixaria um período em que nenhuma política é aplicada. Em vez disso, substitua a política existente ao associar uma nova política.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na sua política.

  4. Clique na guia Associações.

  5. Selecione a associação que você quer excluir.

  6. Clique em Remover.

gcloud

gcloud beta compute org-security-policies associations delete ASSOCIATION_NAME \
    --security-policy POLICY_NAME \
    --organization ORG_ID

Tarefas de regra

Como criar uma regra em uma política de firewall existente

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na sua política.

  4. Clique em Adicionar regra.

  5. Preencha os campos da regra:

    1. Prioridade: a ordem de avaliação numérica da regra. Uma regra com prioridade 1 é avaliada primeiro. As prioridades precisam ser exclusivas para cada regra. Uma prática recomendada é dar números de prioridade às regras que permitam a inserção posterior (como 100, 200, 300).
    2. Defina a coleção Registros como Ativado ou Desativado.
    3. Em Direção do tráfego, especifique se essa regra é de Entrada ou Saída.
    4. Em Ação se houver correspondência, especifique se as conexões que correspondem à regra são permitidas (Permitir), negadas (Negar) ou se a avaliação da conexão é passada para a próxima regra de firewall inferior na hierarquia (Ir para a próxima).
    5. Opcional: é possível restringir a regra a determinadas redes especificando-as no campo Rede de destino.
    6. Opcional: é possível restringir a regra a VMs em execução como uma conta de serviço especificada definindo as contas de serviço no campo Conta de serviço de destino.
    7. Se você estiver criando uma regra de Entrada, especifique a quais intervalos de IP de origem essa regra será aplicada. Se você estiver criando uma regra de Saída, especifique a quais intervalos de IP de destino essa regra será aplicada. Em ambos os casos, especifique 0.0.0.0/0 para todos.
    8. Em Protocolos e portas, especifique se a regra será aplicada a todos os protocolos e portas ou especifique a quais protocolos e portas ela será aplicada.
  6. Clique em Criar.

gcloud

gcloud beta compute org-security-policies rules create PRIORITY \
    --organization ORG_ID \
    --security-policy POLICY_NAME \
    [--description DESCRIPTION \
    [--action ACTION] \
    [--dest-ip-ranges DEST_RANGES] \
    [--layer4-configs PROTOCOL_PORT] \
    [--direction DIRECTION] \
    [--disabled] \
    [--src-ip-ranges SRC_RANGES] \
    [--target-resources NETWORKS] \
    [--target-service-accounts SERVICE_ACCOUNTS] \
    [--enable-logging | --no-enable-logging]

Substitua:

  • PRIORITY: a ordem de avaliação numérica da regra
    Uma regra com prioridade 1 é avaliada primeiro. As prioridades precisam ser exclusivas para cada regra. Uma prática recomendada é dar números de prioridade às regras que permitam a inserção posterior (como 100, 200, 300).
  • ORG_ID: ID da sua organização
  • POLICY_NAME: o nome da política que deve conter a regra
  • DESCRIPTION: a descrição do texto da regra
  • ACTION é um destes:
    • allow: permite conexões que correspondem à regra
    • deny: nega conexões que correspondem à regra
    • goto_next: transmite a avaliação da conexão para o próximo nível da hierarquia, seja uma pasta ou a rede
  • DEST_RANGES: apenas para regras egress, uma lista separada por vírgulas de intervalos de IP em formato CIDR que indica quais endereços IP de destino são afetados pela regra. Exemplo:
    --dest-ip-ranges 10.100.0.1/32, 10.200.0.0/24
  • PROTOCOL_PORT: uma lista separada por vírgulas de protocolos de destino (tcp, udp, icmp, esp, ah, sctp), protocolos e portas (tcp:80) ou protocolos e intervalos de portas (tcp:5000-6000)
    TCP e UDP precisam incluir uma porta ou um intervalo de portas. Não é possível especificar uma porta ou um intervalo de portas sem um protocolo. Para icmp, não é possível especificar uma porta ou intervalo de portas. Exemplo:
    --layer4-configs tcp:80, tcp:443, udp:4000-5000, icmp
  • DIRECTION: indica se a regra é ingress ou egress. O padrão é ingress
    Os intervalos de destino são compatíveis apenas com conexões egress. Os intervalos de origem são compatíveis apenas com conexões ingress.
  • --disabled: indica que a regra de firewall, embora ela exista, não deve ser considerada ao processar conexões. Remover essa sinalização ativa a regra. Também é possível especificar --no-disabled.
  • SRC_RANGES: apenas para regras ingress, uma lista separada por vírgulas de intervalos de IP em formato CIDR que indica quais endereços IP de origem são afetados pela regra. Exemplo:
    --src-ip-ranges 10.100.0.1/32, 10.200.0.0/24
  • NETWORKS: uma lista de redes separadas por vírgulas em que essa regra é aplicada. Se omitida, a regra será aplicada a todas as redes no nó
  • SERVICE_ACCOUNTS: uma lista separada por vírgulas de contas de serviço. A regra é aplicada apenas a VMs dessa conta de serviço
  • --enable-logging e --no-enable-logging: ativam ou desativam a geração de registros de regras de firewall para a regra especificada

Como listar todas as regras em uma política

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na sua política. As regras são listadas na guia Regras de firewall.

gcloud

gcloud beta compute org-security-policies list-rules POLICY_NAME \
    --organization ORG_ID

Como descrever uma regra

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na sua política.

  4. Clique na prioridade da regra.

gcloud

gcloud beta compute org-security-policies rules describe PRIORITY \
    --organization ORG_ID \
    --security-policy POLICY_NAME

Substitua:

  • PRIORITY: a prioridade da regra que você quer visualizar. Como cada regra precisa ter uma prioridade única, essa configuração identifica exclusivamente uma regra
  • ORG_ID: ID da sua organização
  • POLICY_NAME: o nome de exibição ou o nome gerado pelo sistema da política que contém a regra

Como atualizar uma regra

Para descrições de campos, consulte Como criar regras de firewall.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na sua política.

  4. Clique na prioridade da regra.

  5. Clique em Editar.

  6. Modifique os campos que você quer alterar.

  7. Clique em Salvar.

gcloud

gcloud beta compute org-security-policies rules update RULE_NAME \
    --security-policy POLICY_NAME \
    --organization ORG_ID \
    [...fields you want to modify...]

Como copiar regras de uma política para outra

Remova todas as regras da política de destino e as substitua pelas regras da política de origem.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na política da qual você quer copiar as regras.

  4. Clique em Clonar na parte superior da tela.

  5. Informe o nome de uma política de destino.

  6. Clique em Continuar para associar a nova política imediatamente.

  7. Clique em Clonar.

gcloud

gcloud beta compute org-security-policies copy-rules POLICY_NAME \
    --organization ORG_ID \
    --source-security-policy SOURCE_POLICY

Substitua:

  • POLICY_NAME: a política que deve receber as regras copiadas
  • ORG_ID: ID da sua organização
  • SOURCE_POLICY: a política da qual copiar as regras. Precisa ser o URL do recurso

Como excluir uma regra de uma política

A exclusão de uma regra de uma política remove a regra de todas as VMs que herdam a regra.

Console

  1. No Console do Google Cloud, acesse a página Firewall.

    Acessar a página "Firewall"

  2. No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique na sua política.

  4. Selecione a regra que você quer excluir.

  5. Clique em Excluir.

gcloud

gcloud beta compute org-security-policies rules delete PRIORITY \
    --organization ORG_ID \
    --security-policy POLICY_NAME

Substitua:

  • PRIORITY: a prioridade da regra que você quer excluir da política
  • ORG_ID: ID da sua organização
  • POLICY_NAME: a política que contém a regra

Receber regras de firewall eficazes para uma rede

Exibe todas as regras de política de firewall hierárquica e de VPC aplicadas a uma rede VPC especificada.

Console

Use o comando gcloud para este procedimento.

gcloud

gcloud beta compute networks get-effective-firewalls NETWORK_NAME

Substitua:

  • NETWORK_NAME: a rede que deve receber regras em vigor

Receber regras de firewall em vigor para uma interface de VM

Exibe todas as regras de política de firewall hierárquica e de VPC aplicadas a uma interface de VM especificada do Compute Engine.

Console

  1. No Console do Google Cloud, acesse a página "Instâncias de VM".

    Acessar a página "Instâncias de VM"

  2. No menu suspenso do seletor de projetos, selecione o projeto que contém a VM.

  3. Clique na VM.

  4. Em Interfaces de rede, clique na interface.

  5. As regras de firewall em vigor aparecem em Detalhes de firewall e rotas.

gcloud

gcloud beta compute instances network-interfaces get-effective-firewalls INSTANCE_NAME \
    [--network-interface INTERFACE \
    [--zone ZONE]

Substitua:

  • INSTANCE_NAME: a VM que deve receber regras em vigor. Se nenhuma interface for especificada, retornará regras da interface principal (nic0)
  • INTERFACE: a interface da VM que deve receber regras em vigor. O padrão é nic0
  • ZONE: a zona da VM. Opcional se a zona desejada já estiver definida como padrão

A seguir