Use o registo de regras de firewall

O registo de regras de firewall permite-lhe auditar, validar e analisar os efeitos das suas regras de firewall. Por exemplo, pode determinar se uma regra de firewall concebida para recusar tráfego está a funcionar como previsto. O registo também é útil se precisar de determinar quantas ligações são afetadas por uma determinada regra de firewall.

Esta página mostra-lhe como ativar e desativar o registo de regras de firewall da nuvem virtual privada. Para obter instruções sobre o registo de regras de políticas de firewall, consulte o artigo Use políticas e regras de firewall hierárquicas.

Esta página também mostra como ver os registos gerados. Para mais informações sobre o que é registado, exemplos de registos e formatos de registos, consulte o artigo Registo de regras de firewall.

Se ativar o registo numa regra de firewall, pode ver estatísticas e recomendações para a mesma a partir das Estatísticas da firewall. Para mais informações, consulte o artigo Firewall Insights na documentação do Network Intelligence Center.

Autorizações

Para modificar regras de firewall ou registos de acesso, os principais da IAM precisam de uma das seguintes funções.

Tarefa Função necessária
Crie, elimine ou atualize regras de firewall Projeto proprietário ou editor ou administrador de segurança
Ver registos Proprietário, editor ou leitor do projeto ou leitor de registos
Consulte o guia de controlo de acesso do Logging para ver detalhes sobre as funções e as autorizações do IAM do Logging.

Ative e desative o registo de regras de firewall

Quando cria uma regra de firewall, pode optar por ativar o registo das regras de firewall. Para mais informações, consulte o artigo Crie regras de firewall.

Para ativar ou desativar o registo de regras de firewall para uma regra de firewall existente, siga estas instruções. Quando ativa o registo, pode controlar se os campos de metadados são incluídos. Se os omitir, pode poupar nos custos de armazenamento.

Ative o registo de regras de firewall

Consola

  1. Na Trusted Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  2. Na coluna Registos, determine se o registo da firewall está ativado ou desativado para cada regra de firewall.

  3. Para ativar o registo de uma ou mais regras de firewall, selecione a caixa de verificação junto a cada regra que quer atualizar.

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

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

  6. Para omitir os campos de metadados, expanda Mostrar detalhes dos registos e, de seguida, desmarque a caixa de verificação Incluir metadados.

  7. Clique em Guardar configuração.

gcloud

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

Substitua o seguinte:

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

Terraform

Pode usar o recurso Terraform para criar uma regra de firewall com o registo ativado.

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 os comandos básicos do Terraform.

API

Ative o registo de regras 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 de posição por valores válidos:

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

Desative o registo das regras de firewall

Consola

  1. Na Trusted Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  2. Na coluna Registos, determine se o registo da firewall está ativado ou desativado para cada regra de firewall.

  3. Para desativar o registo de uma ou mais regras de firewall, selecione a caixa de verificação junto a cada regra que quer atualizar.

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

  5. Na caixa de diálogo Configurar registos, selecione Desativado e, de seguida, clique em Guardar configuração.

gcloud

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

Substitua RULE_NAME pelo nome da regra de firewall.

API

Desativar o registo de regras 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 o seguinte:

  • PROJECT_ID: o ID do projeto onde 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 registos

Os registos de regras de firewall são criados no projeto que aloja a rede que contém as instâncias de VM e as regras de firewall. Com a VPC partilhada, as instâncias de VM são criadas em projetos de serviço, mas usam uma rede de VPC partilhada localizada no projeto anfitrião. Os registos das regras de firewall são armazenados nesse projeto anfitrião.

Para ver os registos das regras da firewall, use a secção Logs Explorer da Trusted Cloud consola.

As consultas seguintes demonstram como pode pesquisar eventos de firewall específicos.

Veja todos os registos da firewall

  1. Na Trusted Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique em Recurso.

  3. Na lista Selecionar recurso, clique em Subnetwork e, de seguida, em Aplicar.

  4. Clique em Nome do registo e, de seguida, na lista, selecione firewall.

  5. Clique em Aplicar.

Em alternativa:

  1. Na Trusted Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique em Consulta.

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

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

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

Veja registos de sub-redes específicas

  1. Na Trusted Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique em Recurso.

  3. Na lista Selecionar recurso, clique em Subnetwork.

  4. Selecione a sub-rede para a qual quer ver os registos e, de seguida, clique em Aplicar.

  5. Clique em Nome do registo e, de seguida, na lista, selecione firewall.

  6. Clique em Aplicar.

Em alternativa:

  1. Na Trusted Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique em Consulta.

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

  4. Cole o seguinte no campo do editor de consultas no painel Consulta. 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.

Veja registos em VMs específicas

  1. Na Trusted Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique em Recurso.

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

  4. Selecione a instância para a qual quer ver os registos e, de seguida, clique em Aplicar.

  5. Clique em Nome do registo e, de seguida, na lista, selecione firewall.

  6. Clique em Aplicar.

Em alternativa:

  1. Na Trusted Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique em Consulta.

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

  4. Cole o seguinte no campo do editor de consultas no painel Consulta. Substitua PROJECT_ID pelo ID do projeto e INSTANCE_ID pelo ID da VM para a qual quer ver os registos.

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

Veja registos de ligações de um país específico

  1. Na Trusted Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique em Consulta.

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

  4. Cole o seguinte no campo do editor de consultas no painel Consulta. 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 registos

Para exportar registos de regras de firewall, consulte o artigo Configure e faça a gestão de destinos.

Pode usar as consultas de exemplo para restringir os registos que exporta.

Tabela de interações

  • No caso da comunicação entre VMs, os registos de registos podem ser gerados por ambas as VMs, consoante as respetivas regras de firewall.
  • A ligação registada inclui pacotes que fluem em ambos os sentidos se o pacote inicial tiver sido permitido pela firewall.
  • Para uma determinada VM, as ligações recebidas são comparadas com as regras de firewall configuradas nessa VM, e as ligações feitas são comparadas com a regra de firewall de saída configurada nessa VM.
  • Uma ligação permitida que corresponda a uma regra de firewall com "permitir e registo" é registada apenas uma vez. A entrada de registo não é repetida a cada 5 segundos, mesmo que a ligação se mantenha.
  • Uma ligação recusada que corresponda a uma regra de firewall com "recusada e registada" repete a entrada de registo a cada 5 segundos enquanto existirem pacotes observados nessa ligação recusada.

Esta tabela mostra o comportamento de registo da firewall na perspetiva de uma única VM.

Num cenário em que uma VM1 tem uma regra de entrada R1 que corresponde a pacotes e uma regra de saída R2 que também corresponde a pacotes, o comportamento do registo do 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 ligação Ação Registo
Permitir + registar Permitir Entrada Permitir Uma entrada de registo:
disposition=allow, rule=R1
Recusar
Permitir + registar
Recusar + registar
Permitir Permitir Entrada Permitir Sem registo
Recusar
Permitir + registar
Recusar + registar
Recusar + registar N/A Entrada Recusar Uma entrada de registo a cada 5 segundos:
disposition=deny, rule=R1
Recusar N/A Entrada Recusar Sem registo
Permitir Permitir + registar Saída Permitir Uma entrada de registo:
disposition=allow, rule=R2
Recusar
Permitir + registar
Recusar + registar
Permitir Permitir Saída Permitir Sem registo
Recusar
Permitir + registar
Recusar + registar
N/A Recusar + registar Saída Recusar Uma entrada de registo a cada 5 segundos:
disposition=deny, rule=R2
N/A Recusar Saída Recusar Sem registo

Tenha em atenção que a entrada e a saída são simétricas.

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

  • Permitir + Registo (o registo é suportado para TCP e UDP)

    • A ligação iniciada na direção à qual a regra se aplica faz com que seja criado um único registo.
    • O tráfego de respostas é permitido devido ao acompanhamento de ligações. O tráfego de resposta não provoca o registo, independentemente das regras de firewall nessa direção.
    • Se a ligação expirar na firewall (inativa durante 10 minutos ou TCP RST recebido), outro pacote em qualquer direção pode acionar o registo.
    • O registo baseia-se em 5 tuplos. As flags TCP não afetam o comportamento de registo.
  • Recusar + registar (o registo é suportado para TCP e UDP)

    • Os pacotes são rejeitados (não é iniciada nenhuma ligação).
    • Cada pacote que corresponde a uma tupla de 5 elementos única é registado como uma tentativa de ligação falhada.
    • A mesma tupla de 5 elementos é registada novamente a cada 5 segundos se continuar a receber pacotes.

Resolução de problemas

Não é possível ver registos

Se não conseguir ver os registos de regras de firewall na secção Logs Explorer da Trusted Cloud consola, verifique o seguinte:

Causa possível: permissões insuficientes

Peça ao proprietário do projeto para se certificar de que o seu principal do IAM tem, pelo menos, a função de Leitor de registos para o projeto. Consulte as autorizações para mais informações.
Causa possível: redes antigas não suportadas
Não pode usar o registo de regras de firewall numa rede antiga. Apenas são suportadas redes VPC.
Possível causa: certifique-se de que está a procurar no projeto correto
Uma vez que os registos de regras de firewall são armazenados com o projeto que contém a rede, é importante certificar-se de que está a procurar registos no projeto correto. Com a VPC partilhada, as instâncias de VM são criadas em projetos de serviço, mas usam uma rede VPC partilhada localizada no projeto anfitrião. Nos cenários de VPC partilhada, os registos das regras de firewall são armazenados nesse projeto anfitrião.

Se a VPC partilhada estiver envolvida, precisa das autorizações adequadas para o projeto anfitrião para ver os registos das regras de firewall. Embora as instâncias de VM estejam localizadas em projetos de serviço, os registos das regras de firewall para estas instâncias estão localizados no projeto anfitrião.

Entradas do registo em falta

Causa possível: as ligações podem não corresponder à regra de firewall esperada

Confirme se a regra de firewall esperada está na lista de regras de firewall aplicáveis a uma instância. Use a Trusted Cloud consola para ver os detalhes da instância relevante e, de seguida, clique no botão Ver detalhes na secção Interfaces de rede na respetiva página Detalhes da instância de VM. Inspeccione as regras de firewall aplicáveis na secção Detalhes da firewall e das rotas da página Detalhes da interface de rede da VM.

Para se certificar de que cria as regras de firewall corretamente, reveja as regras de firewall de VPC.

Pode usar o tcpdump na VM para determinar se as ligações que envia ou recebe têm endereços, portas e protocolos que correspondem à firewall esperada.

Causa possível: pode ser aplicada uma regra de prioridade mais elevada com o registo de regras de firewall desativado

As regras de firewall são avaliadas de acordo com as respetivas prioridades. Do ponto de vista de uma instância de VM, apenas uma regra de firewall se aplica ao tráfego.

Uma regra que considera que seria a regra aplicável de prioridade mais elevada pode não ser, na verdade, a regra aplicável de prioridade mais elevada. Em alternativa, pode ser aplicada uma regra de prioridade mais elevada que não tenha o registo ativado.

Para resolver problemas, pode ativar temporariamente o registo de todas as regras de firewall possíveis aplicáveis a uma VM. Use a Trusted Cloud consola para ver os detalhes da VM relevante e, de seguida, clique no botão Ver detalhes na secção Interfaces de rede na respetiva página Detalhes da instância de VM. Inspeccione as regras de firewall aplicáveis na secção Detalhes da firewall e das rotas da página Detalhes da interface de rede da VM e identifique as suas regras personalizadas nessa lista. Ative temporariamente o registo para todas essas regras de firewall personalizadas.

Com o registo ativado, pode identificar a regra aplicável. Depois de identificadas, certifique-se de que desativa o registo para todas as regras que não precisam efetivamente dele.

Metadados em falta para algumas entradas do registo

Causa possível: atraso na propagação da configuração

Se atualizar uma regra de firewall com o registo da firewall ativado, pode demorar alguns minutos até que Trusted Cloud a propagação das alterações necessárias para registar o tráfego que corresponde aos componentes atualizados da regra seja concluída.

O que se segue?