Uso da geração de registros de regras de firewall

O recurso de geração de registros de regras 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 você precisa determinar quantas conexões são afetadas por uma determinada regra de firewall.

Esta página mostra como ativar e desativar a geração de registros e como exibir os registros gerados. Para ver mais informações sobre o que é registrado, exemplos de criação e formatos de geração de registro, consulte a Visão geral da geração de registros de regras de firewall (em inglês).

Permissões

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


Consulte o Guia de controle de acesso do Stackdriver para ver detalhes sobre papéis e permissões do IAM no Stackdriver.

Tarefa Papel obrigatório
Criar, excluir ou atualizar regras de firewall Proprietário ou editor do projeto ou administrador de segurança
Ver registros do Stackdriver Proprietário, editor ou leitor do projeto ou visualizador de registros

Como ativar e desativar a geração de registros de regras de firewall

Quando você cria uma regra de firewall, pode optar por ativar a geração de registros das regras. Consulte como criar regras de firewall para ver mais informações.

Para ativar ou desativar a geração de registros de regras de firewall para uma regra de firewall existente, siga as instruções a seguir.

Como ativar a geração de registros de regras de firewall

Console

  1. Acesse a página "Regras de firewall" no Console do Google Cloud Platform.
    Ir para a página "Regras de firewall".
  2. Marque a caixa de seleção ao lado das regras de firewall que você quer atualizar.
  3. Clique em Registros > Ativado.
  4. Clique em Ativar.

gcloud

gcloud beta compute firewall-rules update [NAME] \
    --enable-logging

Como desativar a geração de registros de regras de firewall

Console

  1. Acesse a página "Regras de firewall" no Console do Google Cloud Platform.
    Ir para a página "Regras de firewall".
  2. Marque a caixa de seleção ao lado das regras de firewall que você quer atualizar.
  3. Clique em Desativar.

gcloud

gcloud beta compute firewall-rules update [NAME] \
    --no-enable-logging

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.

Use a seção “Registros” do Console do GCP para visualizar os registros de regras de firewall.

Os seguintes filtros avançados do Stackdriver demonstram como você pode pesquisar eventos de firewall específicos. Em cada filtro, substitua [PROJECT_ID] pelo seu código do projeto.

Todos os registros de firewall

resource.type="gce_subnetwork"
logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Ffirewall"

Sub-redes específicas

resource.type="gce_subnetwork"
logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Ffirewall"
resource.labels.subnetwork_name="[SUBNET_NAME]"

Substitua [SUBNET_NAME] pelo nome da sub-rede específica.

VMs específicas

resource.type="gce_subnetwork"
logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Ffirewall"
jsonPayload.instance.vm_name="[INSTANCE_NAME]"

Substitua [INSTANCE_NAME] pelo nome da instância da VM específica.

Conexões de um país específico

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

em que [COUNTRY] é o código alfa-3 da ISO 3166-1.

Como exportar registros

Para exportar registros de regras de firewall, siga estas instruções do Stackdriver: Como exportar com o visualizador de registros.

Você pode usar os filtros avançados 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 se a conexão persistir.
  • 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.

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:
disposition=allow, rule=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:
disposition=deny, rule=R1
Negar N/A Entrada Negar Sem geração de registros
Permitir Permitir + gerar registros Saída Permitir Uma entrada de registro:
disposition=allow, rule=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:
disposition=deny, rule=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 na versão Beta:

  • Permitir + gerar registros (a geração de registros é compatível somente 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. Sinalizadores TCP não afetam o comportamento de geração de registros.
  • Negar + gerar registros (a geração de registros é compatível somente com TCP e UDP)

    • Pacotes são descartados (nenhuma conexão é iniciada).
    • 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.

Solução de problemas

Não é possível ver registros

Se você não conseguir visualizar os registros de regras de firewall na seção “Registros” do Console do GCP, verifique o seguinte:

Possível causa: permissões insuficientes

Peça ao proprietário do projeto para verificar se o seu membro do IAM tem pelo menos o papel visualizador de registros do projeto. Consulte as permissões para ver mais informações.
Possível causa: os registros da sub-rede podem ter sido excluídos do Stackdriver
No Console do GCP, navegue até Registros > Utilização de recursos e verifique se Sub-rede do GCE não foi excluída. Caso tenha sido parcialmente excluída, o filtro de exclusão não se aplica aos registros de firewall.
Possível causa: redes legadas não compatíveis
Não é possível usar a geração de registros de regras de firewall em uma rede legada. Apenas redes VPC são compatíveis.
Possível causa: verifique se você está procurando no projeto correto
Como os registros de regra de firewall são armazenados com o projeto que contém a rede, é importante verificar se você está procurando registros no projeto correto. 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. Para cenários com VPC compartilhada, os registros de regras de firewall são armazenados nesse projeto host.

Se a VPC compartilhada estiver envolvida, você precisará das permissões apropriadas ao projeto host para exibir os registros de regras do firewall. Embora as próprias instâncias de VM estejam localizadas em projetos de serviço, os registros de regras de firewall para elas estão localizados no projeto host.

Entradas de registro ausentes

Possível causa: as conexões podem não corresponder à regra de firewall que você espera

Verifique se a regra de firewall que você espera está na lista de regras de firewall aplicáveis a uma instância. Use o Console do GCP para visualizar detalhes da instância relevante e, em seguida, na página de Detalhes da instância de VM, vá até a seção Interfaces de rede e clique no botão Ver detalhes. Inspecione as regras de firewall aplicáveis na seção Regras de firewall e detalhes das rotas da página Detalhes da interface de rede.

Consulte a Visão geral das regras de firewall para verificar se você criou suas regras de firewall corretamente.

Você pode usar o tcpdump na VM para determinar se as conexões que ele envia ou recebe têm endereços, portas e protocolos que correspondem ao firewall que você espera.

Possível causa: uma regra de prioridade mais alta com a geração de registros de regras de firewall desativado pode se aplicar

As regras de firewall são avaliadas de acordo com as prioridades delas. Na perspectiva de uma instância de VM, apenas uma regra de firewall se aplica ao tráfego.

Uma regra que você acha que seria a regra aplicável de prioridade mais alta pode não ser a regra aplicável de maior prioridade. Uma regra de prioridade mais alta que não tenha a geração de registros ativada pode ser aplicada em vez disso.

Para solucionar problemas, você pode habilitar temporariamente a geração de registros para todas as possíveis regras de firewall aplicáveis a uma VM. Use o Console do GCP para visualizar detalhes da VM relevante e, em seguida, clique no botão Ver detalhes na seção Interfaces de rede na página Detalhes da instância de VM. Inspecione as regras de firewall aplicáveis na seção Regras de firewall e detalhes das rotas da página Detalhes da interface de rede e identifique suas regras personalizadas nessa lista. Ative temporariamente a geração de registros para todas essas regras de firewall personalizadas.

Com a geração de registros ativada, você pode identificar a regra aplicável. Depois de identificada, desative a geração de registros para todas as regras que não precisam desse recurso.

Metadados ausentes de algumas entradas de registro

Possível causa: atraso de propagação de configuração

Se você atualizar uma regra de firewall que tenha a geração de registros de firewall ativada, poderá levar alguns minutos até que o GCP conclua a propagação das alterações necessárias para registrar o tráfego que corresponde aos componentes atualizados da regra.

A seguir

Esta página foi útil? Conte sua opinião sobre: