Usar a geração de registros de regras da política de firewall

A geração de registros de regras da política de firewall permite auditar, verificar e analisar os efeitos das suas regras de firewall. Por exemplo, você pode determinar se uma regra de firewall criada para negar tráfego está funcionando conforme o esperado. A geração de registros também é útil quando é preciso determinar quantas conexões são afetadas por uma determinada regra de firewall.

Saiba como ativar e desativar a geração de registros de regras de política de firewall para regras de firewall da nuvem privada virtual (VPC). Veja instruções sobre a geração de registros de regras de política de firewall em Usar políticas e regras de firewall hierárquicas.

Você também pode aprender a visualizar registros gerados. Para mais informações sobre o que é registrado, exemplos de geração de registros e formatos de registro, consulte a visão geral da geração de registros de regras da política de firewall.

Se a geração de registros for ativada em uma regra de firewall, será possível ter acesso a insights e recomendações relacionadas no Firewall Insights. Para mais informações, consulte Firewall Insights na documentação do Network Intelligence Center.

Permissões

Para modificar regras de firewall ou registros de acesso, os membros do IAM precisam de um dos papéis a seguir.

Tarefa Papel necessário
Criar, excluir ou atualizar regras de firewall Proprietário ou editor do projeto ou papel de administrador de segurança (roles/compute.securityAdmin)
Como visualizar registros Proprietário, editor ou visualizador do projeto ou papel de visualizador de registros (roles/logging.viewer)
Para mais detalhes sobre papéis e permissões do IAM do Logging, consulte o Guia de controle de acesso do Logging.

Ativar e desativar a geração de registros de regras da política de firewall

Ao criar uma regra de firewall, é possível ativar a geração de registros dela. Para mais informações, consulte Criar regras de firewall.

Para ativar ou desativar a geração de registros de regras de política de firewall para uma regra de firewall atual, siga estas instruções. Ao ativar a geração de registros, é possível controlar se os campos de metadados serão incluídos. Se omiti-los, você economiza custos de armazenamento.

Ativar a geração de registros de regras da política de firewall

Console

  1. No console do Google Cloud , acesse a página Políticas de firewall.

    Acesse as políticas de firewall

  2. Na coluna Registros, determine se a geração de registros de firewall está ativada ou desativada para cada regra de firewall.

  3. Para ativar a geração de registros de uma ou mais regras de firewall, marque a caixa de seleção ao lado de cada regra que você quer atualizar.

  4. Na barra de ações Regras de firewall da VPC, clique em Configurar registros.

  5. Na caixa de diálogo Configurar registros, selecione Ativado.

  6. Para omitir os campos de metadados, expanda Mostrar detalhes de registros e desmarque a caixa de seleção Incluir metadados.

  7. Clique em Salvar configuração.

gcloud

gcloud compute firewall-rules update RULE_NAME \
    --enable-logging \
    --logging-metadata=LOGGING_METADATA

Substitua:

  • RULE_NAME: o nome da regra de firewall.
  • LOGGING_METADATA: especifica se o registro de regras de política de firewall inclui campos de metadados nos registros de regra de firewall. Só é possível configurar esse campo se a geração de registros estiver ativada. O valor precisa ser exclude-all ou include-all. Por padrão, os campos de metadados são incluídos.

Para mais informações, consulte a documentação de referência do SDK.

Terraform

Use o recurso Terraform para criar uma regra de firewall com a geração de registros ativada.

resource "google_compute_firewall" "rules" {
  project     = var.project_id # Replace this with your project ID in quotes
  name        = "my-firewall-rule"
  network     = "default"
  description = "Creates firewall rule targeting tagged instances"

  log_config {
    metadata = "INCLUDE_ALL_METADATA"
  }

  allow {
    protocol = "tcp"
    ports    = ["80", "8080", "1000-2000"]
  }
  target_tags = ["web"]
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

API

Ative a geração de registros de regras da política de firewall para uma regra de firewall existente.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
{
  "name": "RULE_NAME",
  "logConfig": {
    "enable": true,
    "metadata": "LOGGING_METADATA"
  }
}

Substitua os marcadores por valores válidos:

  • PROJECT_ID: o ID do projeto em que a regra de firewall está localizada.
  • RULE_NAME: o nome da regra de firewall.
  • LOGGING_METADATA: especifica se o registro de regras de política de firewall inclui campos de metadados nos registros de regra de firewall. Só é possível configurar esse campo se a geração de registros estiver ativada. O valor precisa ser exclude-all ou include-all. Por padrão, os campos de metadados são incluídos.

Para mais informações, consulte o método firewalls.patch.

Desativar a geração de registros de regras da política de firewall

Console

  1. No console do Google Cloud , acesse a página Políticas de firewall.

    Acesse as políticas de firewall

  2. Na coluna Registros, determine se a geração de registros de firewall está ativada ou desativada para cada regra de firewall.

  3. Para desativar a geração de registros de uma ou mais regras de firewall, marque a caixa de seleção ao lado de cada regra que você quer atualizar.

  4. Na barra de ações Regras de firewall da VPC, clique em Configurar registros.

  5. Na caixa de diálogo Configurar registros, selecione Desativado e clique em Salvar configuração.

gcloud

gcloud compute firewall-rules update RULE_NAME \
    --no-enable-logging

Substitua RULE_NAME pelo nome da regra de firewall.

API

Desative a geração de registros de regras da política de firewall para uma regra de firewall existente.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
{
  "name": "RULE_NAME",
  "logConfig": {
    "enable": false
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a regra de firewall está localizada.
  • RULE_NAME: o nome da regra de firewall.

Para mais informações, consulte o método firewalls.patch.

Ver registros

Os registros de regras de firewall são criados no projeto que hospeda a rede contendo as instâncias de VM e as regras de firewall. Com a VPC compartilhada, as instâncias de VM são criadas em projetos de serviço, mas usam uma rede VPC compartilhada localizada no projeto host. Os registros de regras de firewall são armazenados nesse projeto host.

Para ver os registros de regras de firewall, use a seção Explorador de registros do console Google Cloud .

As consultas a seguir demonstram como pesquisar eventos de firewall específicos.

Ver todos os registros de firewall

Para ver os registros de firewall, escolha a opção 1 ou 2.

Opção 1

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros

  2. Clique em Recurso.

  3. Na lista Selecionar recurso, clique em Sub-rede e em Aplicar.

  4. Clique em Nome do registro e selecione firewall na lista.

  5. Clique em Aplicar.

Opção 2

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros

  2. Clique em Consulta.

  3. Se você não vir o campo do editor de consultas no painel Consulta, clique no botão de alternância Mostrar consulta.

  4. Cole o seguinte no campo do editor de consultas no painel Query. Substitua PROJECT_ID pelo ID do projeto.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall"
    
  5. Clique em Executar consulta.

Ver registros de sub-redes específicas

Para conferir os registros de firewall de sub-redes específicas, faça a opção 1 ou 2.

Opção 1

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros

  2. Clique em Recurso.

  3. Na lista Selecionar recurso, clique em Sub-rede.

  4. Selecione a sub-rede em que você quer ver os registros e clique em Aplicar.

  5. Clique em Nome do registro e selecione firewall na lista.

  6. Clique em Aplicar.

Opção 2

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros

  2. Clique em Consulta.

  3. Se você não vir o campo do editor de consultas no painel Consulta, clique no botão de alternância Mostrar consulta.

  4. Cole o seguinte no campo do editor de consultas no painel Query. Substitua PROJECT_ID pelo ID do projeto e SUBNET_NAME pela sub-rede.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall"
    resource.labels.subnetwork_name="SUBNET_NAME"
    
  5. Clique em Executar consulta.

Ver registros de VMs específicas

Para conferir os registros de firewall de VMs específicas, faça a opção 1 ou 2.

Opção 1

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros

  2. Clique em Recurso.

  3. Na lista Selecionar recurso, clique em Instância de VM.

  4. Selecione a instância em que você quer ver os registros e clique em Aplicar.

  5. Clique em Nome do registro e selecione firewall na lista.

  6. Clique em Aplicar.

Opção 2

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros

  2. Clique em Consulta.

  3. Se você não vir o campo do editor de consultas no painel Consulta, clique no botão de alternância Mostrar consulta.

  4. Cole o seguinte no campo do editor de consultas no painel Query. Substitua PROJECT_ID pelo ID do projeto e INSTANCE_ID pelo ID da VM com os registros que você quer ver.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall"
    jsonPayload.instance.vm_name="INSTANCE_ID"
    
  5. Clique em Executar consulta.

Ver registros de conexões de um país específico

Para conferir os registros de firewall de um país específico, faça o seguinte:

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros

  2. Clique em Consulta.

  3. Se você não vir o campo do editor de consultas no painel Consulta, clique no botão de alternância Mostrar consulta.

  4. Cole o seguinte no campo do editor de consultas no painel Query. Substitua PROJECT_ID pelo ID do projeto e COUNTRY pelo código ISO 3166-1alpha-3.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall"
    jsonPayload.remote_location.country=COUNTRY
    

Exportar registros

Para exportar os registros de regras de firewall, consulte Configurar e gerenciar coletores.

Use as consultas de exemplo para restringir os registros exportados.

Tabela de interações

  • No caso de comunicação de VM para VM, os registros podem ser gerados pelas duas VMs, dependendo das regras de firewall de cada uma.
  • A conexão registrada inclui pacotes fluindo nos dois sentidos caso o pacote inicial tenha obtido permissão do firewall.
  • Para uma determinada VM, as conexões de entrada são correspondidas às regras de firewall configuradas nessas VMs e as conexões de saída são correspondidas à regra de firewall de saída configurada nessa VM.
  • Uma conexão permitida que corresponde a uma regra de firewall com “permitir e gerar registros” é registrada apenas uma vez. A entrada de registro não é repetida a cada cinco segundos, mesmo que a conexão persista.
  • Uma conexão negada que corresponde a uma regra de firewall com “negado e gerando registros” repete a entrada de registro a cada cinco segundos enquanto houver pacotes observados nessa conexão negada.
  • Se você ativar a geração de registros em uma regra de firewall que corresponda a uma conexão TCP ou UDP já ativa, uma nova entrada de registro não será gerada. Uma entrada de registro só é criada se a conexão permanecer inativa por pelo menos 10 minutos e um novo pacote for enviado na mesma conexão. Para tráfego contínuo com períodos de inatividade menores que 10 minutos, apenas uma entrada de registro é gerada para a conexão.

Esta tabela mostra o comportamento de geração de registros de firewall pela perspectiva de uma única VM.

Em um cenário em que uma VM1 tem uma regra de entrada R1 que corresponde aos pacotes e uma regra de saída R2 que também corresponde aos pacotes, o comportamento de geração de registros de firewall é o seguinte:

A VM1 tem a regra de entrada R1 (pacotes correspondentes) A VM1 tem a regra de saída R2 (pacotes correspondentes) Direção da conexão Ação Registro
Permitir + gerar registros Permitir Entrada Permitir Uma entrada de registro:
disposição=permitir, regra=R1
Negar
Permitir + gerar registros
Negar + gerar registros
Permitir Permitir Entrada Permitir Sem geração de registros
Negar
Permitir + gerar registros
Negar + gerar registros
Negar + gerar registros N/A Entrada Negar Uma entrada de registro a cada 5 segundos:
disposição=negar, regra=R1
Negar N/A Entrada Negar Sem geração de registros
Permitir Permitir + gerar registros Saída Permitir Uma entrada de registro:
disposição=permitir, regra=R2
Negar
Permitir + gerar registros
Negar + gerar registros
Permitir Permitir Saída Permitir Sem geração de registros
Negar
Permitir + gerar registros
Negar + gerar registros
N/A Negar + gerar registros Saída Negar Uma entrada de registro a cada 5 segundos:
disposição=negar, regra=R2
N/A Negar Saída Negar Sem geração de registros

Observe que a entrada e a saída são simétricas.

Esta é a descrição detalhada da semântica dos registros de firewall:

  • Permitir + gerar registros (a geração de registros é compatível com TCP e UDP)

    • A conexão iniciada na direção à qual a regra se aplica faz com que um único registro seja criado.
    • O tráfego de resposta é permitido devido ao rastreamento de conexão. O tráfego de resposta não faz com que a geração de registros ocorra, independentemente das regras de firewall nessa direção.
    • Se a conexão expirar a partir do firewall (inativa por 10 minutos ou TCP RST recebido), outro pacote em qualquer direção poderá acionar a geração de registros.
    • A geração de registros é baseada em cinco tuplas. Os flags TCP não afetam o comportamento de geração de registros.
  • Negar + gerar registros (a geração de registros é compatível com TCP e UDP)

    • Os pacotes são descartados (não é iniciada nenhuma conexão).
    • Cada pacote que corresponde a um hash de cinco tuplas único é registrado como uma tentativa de conexão com falha.
    • O mesmo hash de cinco tuplas é registrado novamente a cada cinco segundos caso continue recebendo pacotes.

A seguir