As regras de firewall da nuvem privada virtual (VPC) se aplicam a um determinado projeto e r
ede. Se você quiser aplicar regras de firewall a várias redes VPC em uma
organização, consulte Políticas de firewall. O restante desta página abrange apenas as regras de firewall da VPC.
As regras de firewall da VPC possibilitam permitir ou negar conexões de instâncias de máquina virtual (VM, na sigla em inglês) com base em uma configuração especificada. As regras de firewall da VPC que estão ativadas sempre são aplicadas. Isso garante a proteção das instâncias independentemente da configuração e do sistema operacional, mesmo que elas não tenham sido inicializadas.
Toda rede VPC funciona como um firewall distribuído. Enquanto as regras de firewall são definidas no nível da rede, as conexões são permitidas ou negadas por instância. Pense nas regras de firewall da VPC como existentes não apenas entre suas instâncias e outras redes, mas também entre instâncias individuais dentro da mesma rede.
Observação: esta página apresenta uma visão geral das regras de firewall. Se você estiver procurando informações sobre como criar e trabalhar com regras de firewall, consulte Usar regras de firewall.
Para obter mais informações de firewalls, consulte Firewall
Regras de firewall no Google Cloud
Ao criar uma regra de firewall da VPC, você especifica uma rede VPC e um conjunto de componentes que definem as atribuições da regra. Com os componentes, é possível especificar determinados tipos de tráfego com base no protocolo, portas, origens e destinos. Para mais informações, consulte Componentes de regra de firewall.
Crie ou modifique regras de firewall da VPC usando o Console do Google Cloud, a Google Cloud CLI e a API REST. Quando você cria ou modifica uma regra de firewall, é possível especificar as instâncias às quais ela precisa ser aplicada usando o componente de meta da regra
Além das regras de firewall criadas, o Google Cloud tem outras regras que podem afetar as conexões de entrada (saída) ou de saída (saída):
-
O Google Cloud bloqueia ou limita determinado tráfego. Para mais informações, consulte Tráfego bloqueado e limitado.
-
O Google Cloud sempre permite a comunicação entre uma instância de VM e o servidor de metadados correspondente em 169.254.169.254. Para mais informações, consulte a seção Tráfego sempre permitido.
-
Cada rede tem duas regras de firewall implícitas que permitem conexões de saída e bloqueiam conexões de entrada. As regras de firewall criadas por você podem modificar essas regras implícitas.
-
A rede padrão tem regras de firewall predefinidas que podem ser excluídas ou modificadas.
Especificações
As regras de firewall da VPC têm as seguintes características:
-
Cada regra de firewall se aplica à conexão de entrada (recebimento) ou de saída (envio), mas não a ambos. Para mais informações, consulte a direção da conexão.
-
As regras de firewall são compatíveis com conexões IPv4. As conexões IPv6 também são compatíveis com redes VPC que tenham o IPv6 ativado. Ao especificar uma origem para uma regra de entrada ou um destino para uma regra de saída por endereço, é possível especificar endereços IPv4 ou IPv6 ou blocos na notação CIDR.
-
Cada regra de firewall pode conter intervalos IPv4 ou IPv6, mas não ambos.
-
A ação de cada regra de firewall é allow ou deny. A regra é válida para conexões enquanto for aplicada. Por exemplo, é possível desativar uma regra para solucionar problemas.
-
Ao criar uma regra de firewall, é preciso selecionar uma rede VPC. Enquanto a regra é aplicada no nível da instância, a configuração é associada a uma rede VPC. Isso significa que não é possível compartilhar regras de firewall entre redes VPC, incluindo redes conectadas por peering de rede VPC ou usando túneis VPN do Cloud.
-
As regras de firewall da VPC têm estado.
- Quando uma conexão for permitida por meio do firewall em qualquer direção, o tráfego de retorno correspondente a essa conexão também será permitido. Não é possível configurar uma regra de firewall para negar o tráfego de resposta associado.
- O tráfego de retorno precisa corresponder a cinco tuplas (IP de origem, IP de destino, porta de origem, porta de destino, protocolo) do tráfego de solicitação aceito, mas com os endereços de origem e de destino e as portas invertidas.
- O Google Cloud associa os pacotes de entrada aos pacotes de saída correspondentes usando uma tabela de rastreamento de conexão.
- O Google Cloud implementa o rastreamento de conexão independentemente de o protocolo oferecer suporte a conexões. Se for permitida uma conexão entre uma origem e uma meta (para uma regra de entrada) ou entre uma meta e um destino (para uma regra de saída), todo o tráfego de resposta será permitido, desde que o estado de rastreamento de conexão do firewall esteja ativo. O estado de rastreamento de uma regra de firewall será considerado ativo se pelo menos um pacote for enviado a cada 10 minutos.
- O tráfego de resposta ICMP, como "ICMP TYPE 3, DESTINATION UNREACHABLE", gerado em resposta a uma conexão TCP/UDP permitida é permitido por meio do firewall. Esse comportamento é consistente com o RFC 792.
-
As regras de firewall da VPC não reagrupam pacotes TCP fragmentados. Por isso, uma regra de firewall aplicável ao protocolo TCP só pode ser aplicada ao primeiro fragmento, porque ele contém o cabeçalho TCP. As regras de firewall aplicáveis ao protocolo TCP não são aplicadas aos fragmentos TCP subsequentes.
-
O número máximo de conexões rastreadas na tabela de regras de firewall depende do número de conexões com estado compatíveis com o tipo de máquina da instância. Se o número máximo de conexões rastreadas for excedido, o rastreamento será interrompido para as conexões que tiverem o maior intervalo de inatividade para permitir que novas conexões sejam rastreadas.
Tipo de máquina da instância |
Número máximo de conexões com estado |
130.000 |
|
Instâncias com 1 a 8 vCPUs |
130,000 conexiones por CPU virtual |
Instâncias com mais de 8 vCPUs |
1.040.000 (130.000×8) conexões ao total |
Regras implícitas
Toda rede VPC tem duas regras implícitas de firewall IPv4. Se o IPv6 estiver ativado em uma rede VPC, a rede também terá duas regras implícitas de firewall do IPv6. Essas regras não são mostradas no console do Google Cloud.
As regras de firewall implícitas estão presentes em todas as redes VPC, independentemente de como as redes são criadas e se elas são redes VPC de modo automático ou modo personalizado. A rede padrão tem as mesmas regras implícitas.
-
Regra de IPv4 implícita que permite a saída. Uma regra de saída que tem allow como ação, 0.0.0.0/0 como destino e a prioridade mais baixa possível (65535) permite que qualquer instância envie tráfego para qualquer destino, exceto tráfego bloqueado pelo Google Cloud. Uma regra de firewall de prioridade mais alta pode restringir o acesso de saída. O acesso à Internet será permitido se nenhuma outra regra de firewall negar o tráfego de saída e se a instância tiver um endereço IP externo ou usar uma instância do Cloud NAT. Para mais informações, consulte Requisitos de acesso à Internet.
-
Regra de entrada de negação IPv4 implícita. Uma regra de entrada em que a ação é deny, a origem é 0.0.0.0/0 e a prioridade é a mais baixa possível (65535) protege todas as instâncias bloqueando as conexões recebidas. Uma regra de prioridade mais alta pode permitir o acesso de entrada. A rede padrão inclui outras regras que substituem essa, permitindo certos tipos de conexões de entrada.
Se o IPv6 estiver ativado, a rede VPC também terá estas duas regras implícitas:
-
Regra de saída de IPv6 implícita. Uma regra de saída que tem allow como ação, ::/0 como destino e a prioridade mais baixa possível (65535) permite que qualquer instância envie tráfego para qualquer destino, exceto tráfego bloqueado pelo Google Cloud. Uma regra de firewall de prioridade mais alta pode restringir o acesso de saída. O acesso à Internet será permitido se nenhuma outra regra de firewall negar o tráfego de saída e se a instância tiver um endereço IP externo.
-
Regra de entrada de negação IPv6 implícita. Uma regra de entrada em que a ação é deny, a origem é ::/0 e a prioridade é a mais baixa possível (65535) protege todas as instâncias bloqueando as conexões recebidas. Uma regra de prioridade mais alta pode permitir o acesso de entrada.
Regras predefinidas na rede padrão
A rede padrão tem regras de firewall predefinidas que permitem conexões de entrada nas instâncias. Essas regras podem ser excluídas ou modificadas conforme necessário:
- default-allow-internal: Permite conexões de entrada com instâncias de VM de outras instâncias na mesma rede VPC.
- default-allow-ssh: Permite que você se conecte a instâncias com ferramentas como ssh, scp ou sftp.
- default-allow-rdp: Permite a conexão com instâncias usando o Microsoft Remote Desktop Protocol (RDP).
- default-allow-icmp: Permite usar ferramentas como ping.
Observação: É possível criar regras de firewall semelhantes para redes diferentes da rede padrão. Consulte Configurar regras de firewall para casos de uso comuns para mais informações.
Tráfego bloqueado e limitado
Separados das regras de firewall da VPC e das políticas hierárquicas de firewall, o Google Cloud bloqueia ou limita determinado tráfego, conforme descrito na tabela a seguir.
Servidor de metadados do Google Cloud
O Google Cloud executa um servidor de metadados local para cada instância em 169.254.169.254. Esse servidor é essencial para a operação da instância, de modo que a instância possa acessá-lo independentemente das regras de firewall que você configurar. O servidor de metadados fornece à instância os seguintes serviços básicos:
- DHCP
- Resolução DNS, de acordo com a ordem de resolução de nomes da rede VPC.
- Metadados de instância
- Network Time Protocol (NTP)
Observação: Para o balanceamento de carga HTTP(S) externo, HTTP(S) interno, de proxy SSL, de proxy TCP, regras de firewall VPC e políticas hierárquicas de firewall não controlar quais protocolos e portas são aceitos pelo endereço IP da regra de encaminhamento do balanceador de carga de proxy. Apenas a regra de encaminhamento determina quais protocolos e portas são aceitos pelo balanceador de carga do proxy.
Regras de firewall e GKE
O GKE cria regras de firewall automaticamente ao criar os recursos a seguir:
- Clusters do GKE
- Serviços do GKE
- Entradas do GKE
Componentes da regra de firewall
Cada regra de firewall tem os seguintes componentes de configuração:
-
A direção da conexão: as regras de entrada se aplicam a conexões de entrada de origens especificadas para destinos do Google Cloud, e as regras de saída se aplicam a conexões que vão para destinos específicos de metas.
-
Uma prioridade numérica, que determina se a regra é aplicada. Somente a regra de prioridade mais alta (número de prioridade mais baixo) que tem outros componentes correspondentes ao tráfego é aplicada. Regras conflitantes com prioridades mais baixas são ignoradas.
-
Uma ação se houver correspondência, allow ou deny, que determina se a regra permite ou bloqueia as conexões.
-
O status de aplicação da regra de firewall: é possível ativar e desativar regras de firewall sem excluí-las.
-
Uma meta, que define as instâncias (incluindo clusters do GKE e instâncias do ambiente flexível do App Engine) às quais a regra se aplica.
-
Um filtro de origem para regras de entrada ou um filtro de destino para regras de saída.
-
O protocolo (como TCP, UDP ou ICMP) e a porta.
-
Uma opção de registros booleanos que registra conexões que correspondem à regra no Cloud Logging.
Direção do trafego
É possível criar regras de firewall que se apliquem ao tráfego de entrada ou saída. Uma única regra não pode ser aplicada ao tráfego de entrada e saída. No entanto, é possível criar várias regras para definir o tráfego de entrada e saída que você permite ou nega pelo firewall. A direção sempre é definida da perspectiva da VM a que a regra de firewall se aplica (o destino).
-
A direção de entrada descreve as conexões enviadas de uma origem para uma meta. Regras de entrada se aplicam a pacotes de novas sessões em que o destino do pacote é a meta.
-
A direção de saída descreve o tráfego enviado de uma meta para um destino. Regras de saída se aplicam a pacotes de novas sessões em que a origem do pacote é a meta.
-
Se não houver especificação da direção, o Google Cloud usará a entrada.
Considere um exemplo de conexão entre duas VMs na mesma rede. O tráfego da VM1 para a VM2 pode ser controlado usando uma destas regras de firewall:
-
Uma regra de entrada com uma meta de VM2 e uma origem de VM1
-
Uma regra de saída com uma meta de VM1 e um destino de VM2
Prioridade
A prioridade da regra de firewall é um número inteiro de 0 a 65535, incluindo esses dois valores. Os números inteiros mais baixos indicam prioridades mais altas. Se nenhuma prioridade for especificada na criação da regra, será atribuída uma prioridade de 1000.
A prioridade relativa de uma regra de firewall determina se ela é aplicável quando avaliada em relação a outras. A lógica de avaliação funciona desta maneira:
-
A regra de prioridade mais alta aplicável a uma meta para um determinado tipo de tráfego tem precedência. A especificidade da meta não importa. Por exemplo, uma regra de entrada de prioridade mais alta para determinadas portas e protocolos de destino voltados a todas as metas substitui uma regra definida de maneira semelhante com menor prioridade para as mesmas portas e protocolos de destino voltados às metas específicas.
-
A regra de prioridade mais alta aplicável para um determinado protocolo e definição de porta tem precedência, mesmo quando o protocolo e a definição da porta são mais gerais. Por exemplo, uma regra de entrada de prioridade mais alta que permite o tráfego para todos os protocolos e portas voltados a determinadas metas substitui uma regra de entrada de prioridade mais baixa que nega o TCP 22 para as mesmas metas.
-
Uma regra com uma ação deny substitui outra com uma ação allow somente se as duas regras tiverem a mesma prioridade. Usando prioridades relativas, é possível criar regras allow que substituem regras deny e regras deny que substituem regras allow.
-
Regras com a mesma prioridade e ação têm o mesmo resultado. No entanto, não é possível determinar qual regra é usada durante a avaliação. Normalmente, não importa qual regra é usada, exceto quando você ativa a Geração de registros de regras de firewall. Se quiser que seus registros mostrem as regras de firewall que estão sendo avaliadas de maneira consistente e bem definida, atribua prioridades únicas a elas.
Considere o exemplo a seguir onde há duas regras de firewall:
-
Uma regra de entrada de origens 0.0.0.0/0 (qualquer endereço IPv4) aplicável a todas as metas, todos os protocolos e todas as portas, com uma ação deny e uma prioridade de 1000.
-
Uma regra de entrada de origens 0.0.0.0/0 (qualquer endereço IPv4) aplicável a destinos específicos com a tag webserver, para tráfego no TCP 80, com uma ação allow.
A prioridade da segunda regra determina se o tráfego TCP na porta 80 é permitido para as metas de webserver:
-
Se a prioridade da segunda regra for definida como um número maior que 1000, ela terá uma prioridade inferior. Por isso, será aplicada a primeira regra, que nega todo o tráfego.
-
Se a prioridade da segunda regra for definida como 1000, as duas regras terão prioridades idênticas. Por isso, será aplicada a primeira regra, que nega todo o tráfego.
-
Se a prioridade da segunda regra estiver definida como um número inferior a 1000, ela terá uma prioridade mais alta, permitindo o tráfego em TCP 80 para as metas de webserver. Se não houver outras regras, a primeira regra ainda negaria outros tipos de tráfego para as metas webserver e poderia negar também todo o tráfego (incluindo TCP 80) às instâncias sem a tag webserver.
O exemplo anterior demonstra como é possível usar as prioridades para criar regras allow seletivas e regras deny globais para implementar uma prática recomendada de segurança com o menor privilégio.
Observação: cada rede tem duas regras implícitas de firewall, não removíveis e de baixa prioridade, e a rede padrão vem com regras complementares de firewall removíveis. Para mais informações, consulte Regras padrão e implícitas.
Ação se houver correspondência
O componente de ação de uma regra de firewall determina se ele permite ou bloqueia o tráfego, sujeito aos outros componentes da regra:
-
Uma ação allow permite conexões que correspondem a outros componentes especificados.
-
Uma ação deny bloqueia conexões que correspondem a outros componentes especificados.
Observação: uma regra de firewall só pode ter um componente de ação. Os dois elementos allow e deny não podem ser especificados na mesma regra. Para definir a ordem na qual as regras devem ser aplicadas, crie regras de firewall separadas com prioridades diferentes.
Aplicação
É possível alterar a aplicação das regras de firewall definindo o estado como enabled ou disabled. Você define o estado de aplicação ao criar uma regra ou atualizar uma regra.
Se você não definir um estado de aplicação ao criar uma nova regra de firewall, ela será enabled automaticamente.
A ativação e desativação são úteis para solucionar problemas e realizar manutenções. Altere a aplicação de uma regra de firewall nas seguintes situações:
-
Para solucionar problemas: em conjunto com a geração de registros de regras de firewall, é possível desativar temporariamente uma regra de firewall para determinar se ela é responsável por bloquear ou permitir tráfego. Isso é útil para situações em que várias regras de firewall se aplicam ao mesmo tráfego. Desativar e ativar regras é mais útil do que excluir e recriar regras porque nenhum dos outros componentes da regra é perdido.
-
Para manutenção: desativar regras de firewall pode simplificar a manutenção periódica. Por exemplo, é possível ativar uma regra de firewall de entrada que permita o acesso SSH apenas quando você precisar realizar manutenção usando SSH. Quando você não estiver realizando a manutenção, poderá desativar a regra.
Origens e endereços IP
Quando o parâmetro de origem de uma regra de firewall de entrada inclui uma tag de origem ou a conta de serviço de origem, o Google Cloud identifica as VMs que correspondem a uma tag ou conta de serviço e inclui os seguintes endereços IP dessas VMs no conjunto de origens efetivas para a regra de firewall.
-
O endereço IPv4 interno principal da interface de rede da VM na rede VPC
-
Todos os endereços IPv6 atribuídos à NIC da VM na rede VPC
Os intervalos de IP de alias para os endereços IP e NIC das regras de encaminhamento associadas não são incluídos ao usar tags de origem ou contas de serviço de origem. Se você precisar incluir os intervalos de IP de alias da interface de rede de uma VM, adicione os intervalos de alias usando um intervalo IPv4 de origem.
Se a regra de firewall usa uma combinação deintervalos de IP de origem etags de origem ou uma combinação deintervalos de IP de origem econtas de serviço de origem , o conjunto de origens efetivas contém os endereços IP identificados pela tag ou pela conta de serviço, além dos endereços IP especificados nos intervalos de IPs de origem.
Origem, destino e meta
Você especifica a origem ou o destino, mas não ambos, dependendo da direção da regra de firewall criada. O significado do parâmetro meta muda de acordo com a direção da regra de firewall.
-
Para regras de entrada (recebimento), o parâmetro meta especifica as instâncias de destino para o tráfego. Não é possível usar o parâmetro destino. Para especificar a origem, use o parâmetro origem.
-
Para regras de saída (envio), o parâmetro meta especifica as instâncias de origem para o tráfego. Não é possível usar o parâmetro origem. Para especificar o destino, use o parâmetro destino.
Parâmetro de origem
O parâmetro origem é aplicável apenas às regras de entrada. Ele precisa ser um dos seguintes:
-
Intervalo IPv4 de origem ou intervalos IPv6 de origem: é possível especificar intervalos de endereços IP como origens de pacotes. Os intervalos podem ser endereços IPv4 ou IPv6, mas não uma combinação de ambos. Os intervalos podem incluir endereços dentro da rede VPC e endereços fora dela.
-
Tags de origem: é possível definir a origem dos pacotes como o endereço IP interno principal da interface de rede das instâncias de VM na mesma rede VPC, identificando essas instâncias de origem por uma tag de rede correspondente. As tags de origem se aplicam apenas ao tráfego enviado da interface de rede de outra instância aplicável na sua rede VPC. As tags de origem não podem controlar pacotes que tenham endereços IP externos como origens, mesmo que esses endereços pertençam às instâncias. Para saber o número máximo de tags de origem que podem ser aplicadas por regra de firewall, consulte Cotas de recursos de VPC.
-
Contas de serviço de origem: é possível definir a origem dos pacotes como o endereço IP interno primário da interface de rede das instâncias na mesma rede VPC, identificando essas instâncias de origem pelas contas de serviço que usam. As contas de serviço de origem se aplicam apenas ao tráfego enviado da interface de rede de outra instância aplicável na sua rede VPC. As contas de serviço de origem não podem controlar pacotes que tenham endereços IP externos como origens, mesmo que esses endereços pertençam às instâncias. Para saber o número máximo de contas de serviço de origem que podem ser aplicadas por regra de firewall, consulte Cotas de recursos de VPC.
Veja a seguir algumas combinações possíveis:
- Uma combinação de intervalos IP de origem e tags de origem pode ser usada.
- Uma combinação de intervalos IP de origem e contas de serviço de origem pode ser usada.
-
Se todasintervalos de IP de origem ,tags de origem e contas de serviço de origem são omitidos, o Google Cloud define a origem como qualquer endereço IPv4 (0.0.0.0/0). As origens IPv6 não estão incluídas.
Importante:tags de rede e contas de serviço não podem ser usadas na mesma regra de firewall. Para mais informações, consulte Filtragem por conta de serviço versus tag de rede.
Origens e endereços IP
Quando o parâmetro de origem de uma regra de firewall de entrada inclui uma tag de origem ou a conta de serviço de origem, o Google Cloud identifica as VMs que correspondem a uma tag ou conta de serviço e inclui os seguintes endereços IP dessas VMs no conjunto de origens efetivas para a regra de firewall.
-
O endereço IPv4 interno principal da interface de rede da VM na rede VPC
-
Todos os endereços IPv6 atribuídos à NIC da VM na rede VPC
Os intervalos de IP de alias para os endereços IP e NIC das regras de encaminhamento associadas não são incluídos ao usar tags de origem ou contas de serviço de origem. Se você precisar incluir os intervalos de IP de alias da interface de rede de uma VM, adicione os intervalos de alias usando um intervalo IPv4 de origem.
Se a regra de firewall usa uma combinação deintervalos de IP de origem etags de origem ou uma combinação deintervalos de IP de origem econtas de serviço de origem , o conjunto de origens efetivas contém os endereços IP identificados pela tag ou pela conta de serviço, além dos endereços IP especificados nos intervalos de IPs de origem.
Parâmetro de destino
O parâmetro destino é aplicável somente às regras de saída. O parâmetro destino aceita apenas intervalos de endereços IP. Os intervalos podem incluir endereços dentro da rede VPC e endereços fora dela.
Se você não especificar um intervalo de destino, o Google Cloud definirá o destino como sendo todos os endereços IPv4 (0.0.0.0/0). Os destinos IPv6 não estão incluídos.
Protocolos e portas
É possível restringir o escopo de uma regra de firewall especificando protocolos (ou protocolos e portas). Também é possível especificar um protocolo ou uma combinação de protocolos e as respectivas portas. Se você omitir os protocolos e as portas, a regra de firewall será aplicável a todo o tráfego em qualquer protocolo e em qualquer porta. Você só pode especificar as portas. Regras com base em portas de origem não são compatíveis.
Para tornar uma regra de firewall específica, primeiro é preciso especificar um protocolo. Se o protocolo aceitar portas, será possível, como opção, especificar um número de porta ou um intervalo de portas. No entanto, nem todos os protocolos aceitam portas. Por exemplo, há portas para TCP e UDP, mas não para ICMP. O ICMP tem diferentes tipos de ICMP, mas eles não são portas e não podem ser especificados em uma regra de firewall.
Você pode 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.
As regras de firewall do Google Cloud usam informações da porta para fazer referência à porta de destino de um pacote, não à porta de origem:
-
Para regras de firewall de entrada (recebimento), as portas de destino são portas nos sistemas identificadas pelo parâmetro meta da regra. Para as regras de entrada, o parâmetro meta especifica as VMs de destino do tráfego.
-
Para as regras de firewall de saída (envio), as portas de destino representam portas nos sistemas identificadas pelo parâmetro destino da regra.
A tabela a seguir é um resumo das combinações válidas de especificação de porta e protocolo para as regras de firewall do Google Cloud.
Especificação |
Exemplo |
Explicação |
Nenhum protocolo e porta |
– |
Se você não especificar um protocolo, a regra de firewall será aplicada a todos os protocolos e às respectivas portas aplicáveis. |
Protocolo |
tcp |
Se você especificar um protocolo sem informações da porta, a regra de firewall será aplicada a esse protocolo e a todas as respectivas portas aplicáveis. |
Protocolo e porta única |
tcp:80 |
Se você especificar um protocolo e uma única porta, a regra de firewall será aplicada a essa porta do protocolo. |
Intervalo de protocolo e porta |
tcp:20-22 |
Se você especificar um protocolo e um intervalo de portas, a regra de firewall será aplicada a esse intervalo de portas para o protocolo. |
icmp,tcp:80 tcp:443 udp:67-69 |
É possível especificar várias combinações de protocolos e portas às quais a regra de firewall se aplica. Para mais informações, consulte Criar regras de firewall. |
Importante: as portas não podem ser especificadas por si só. Se você especificar apenas um número, o Google Cloud interpretará esse número como um protocolo IP decimal. Por exemplo, se você especificar 80 por si só, o Google Cloud interpretará isso como protocolo IP 80 (ISO-IP), que não é o mesmo que porta TCP 80 (tcp:80).
Filtragem de origem e meta por conta de serviço
É possível usar contas de serviço para criar regras de firewall que são mais específicas por natureza:
-
Para regras de entrada e saída, é possível usar contas de serviço para especificar metas.
-
Para regras de entrada, é possível especificar a origem dos pacotes de entrada como o endereço IP interno primário de qualquer VM na rede em que ela usa uma conta de serviço específica.
A conta de serviço precisa ser criada no mesmo projeto que a regra de firewall antes de criar uma regra de firewall que dependa dela. O sistema não impede que você criar uma regra que use uma conta de serviço de um projeto diferente, mas a regra não será aplicada se a conta de serviço não existir no projeto da regra de firewall.
As regras de firewall que usam contas de serviço para identificar instâncias se aplicam a novas instâncias criadas e associadas à conta de serviço e a instâncias já existentes se você alterar as contas de serviço delas. É necessário parar e reiniciar a instância para alterar a conta de serviço associada a ela. É possível associar contas de serviço a instâncias individuais e a modelos de instâncias usados por grupos de instâncias gerenciadas.
Observação: é possível usar apenas contas de serviço de projetos com VPC independente (que não participa da VPC compartilhada) como critérios da regra de firewall. Em projetos que usam VPC compartilhada, é possível usar contas de serviço do projeto host ou de qualquer projeto de serviço como critérios da regra de firewall. Se você criar uma regra de firewall que usa contas de serviço que não correspondem a esses dois cenários, ela não será aplicada.
Filtragem por conta de serviço versus tag de rede
Nesta seção, destacaremos os principais pontos a serem considerados ao decidir se você vai usar contas de serviço ou tags de rede para definir metas e origens (para regras de entrada).
Se você precisar de um controle rigoroso sobre como as regras de firewall são aplicadas às VMs, use contas de serviço de meta e contas de serviço de origem em vez de tags de meta e tags de origem:
-
Uma tag de rede é um atributo arbitrário. Uma ou mais tags de rede podem ser associadas a uma instância por qualquer principal do gerenciamento de identidade e acesso (IAM) que tenha permissão para editá-la. Os principais do IAM com o papel de administrador da instância do Compute Engine de um projeto têm essa permissão. Os principais do IAM que podem editar uma instância podem alterar as tags de rede, o que pode alterar o conjunto de regras de firewall aplicáveis para essa instância.
-
Uma conta de serviço representa uma identidade associada a uma instância. Apenas uma conta de serviço pode ser associada a uma instância. Você define o acesso à conta de serviço controlando a concessão do papel Usuário da conta de serviço a outros principais do IAM. Para que um principal do IAM inicie uma instância usando uma conta de serviço, esse principal precisa ter a função Usuário da conta de serviço pelo menos para essa conta e permissões adequadas para criar instâncias (por exemplo, ter a papel de administrador de instâncias do Compute Engine para o projeto).
Não é possível combinar contas de serviço e tags de rede em qualquer regra de firewall:
-
Não é possível usar contas de serviço de meta e tags de meta juntas em qualquer regra de firewall (de entrada ou saída).
-
Se você especificar as metas por tag de meta ou por conta de serviço de meta, as origens a seguir serão inválidas para regras de firewall de entrada.
Metas |
Origens Inválida |
Tags de meta |
Contas de serviço de origem Combinação de intervalos de IP de origem e contas de serviço de origem |
Conta de serviço de meta |
Tags de origem Combinação de intervalos de IP de origem e tags de origem |
Veja a seguir considerações operacionais para contas de serviço e tags de rede.
-
É necessário parar e reiniciar a instância para alterar a conta de serviço associada a ela. A adição ou remoção de tags pode ser feita enquanto a instância está em execução.
-
Há um número máximo de contas de serviço de meta, contas de serviço de origem, tags de rede de meta e tags de rede de origem que podem ser especificadas para regras de firewall. Para mais informações, consulte Cotas de recursos de VPC.
-
Se você identificar instâncias por tag de rede, a regra de firewall será aplicada ao endereço IP interno primário da instância.
-
As regras de firewall da conta de serviço se aplicam ao nó do GKE, não ao pod do GKE.
Casos de uso
Os casos de uso a seguir demonstram como as regras de firewall funcionam. Nos exemplos, todas as regras de firewall estão ativadas.
Casos de entrada
As regras de firewall de entrada controlam as conexões recebidas de uma origem para as instâncias de meta na sua rede VPC. A origem de uma regra de entrada pode ser definida como uma das seguintes opções:
- Intervalo de endereços IPv4 ou IPv6. o padrão é qualquer endereço IPv4 (0.0.0.0/0)
- Outras instâncias na rede VPC identificadas por tags de rede
- Outras instâncias na rede VPC identificadas pela conta de serviço
- Outras instâncias na rede VPC identificadas pelo intervalo de endereços IPv4 ou IPv6 e pela tag de rede
- Outras instâncias na rede VPC identificadas pelo intervalo de endereços IPv4 ou IPv6 e pela conta de serviço
A origem padrão é qualquer endereço IPv4 (0.0.0.0/0). Se você quiser controlar as conexões de entrada de origens fora da rede VPC, incluindo outras origens na Internet, use um intervalo de endereços IPv4 no formato CIDR.
Regras de entrada com uma ação allow permitem o tráfego de entrada com base nos outros componentes da regra. Além de especificar a origem e a meta da regra, é possível limitar a aplicação da regra a protocolos e portas específicos. Da mesma forma, as regras de entrada com uma ação deny podem ser usadas para proteger instâncias bloqueando o tráfego de entrada com base nos componentes da regra de firewall.
Cuidado:também é possível usar contas de serviço de meta ou tags de meta para especificar os destinos de entrada. Se você fizer isso, limitará as maneiras de especificar a origem da regra. Para mais informações, consulte Filtragem por conta de serviço versus tag de rede.
Exemplos de entrada
O diagrama a seguir ilustra alguns exemplos em que as regras de firewall podem controlar as conexões de entrada. Os exemplos usam o parâmetro meta nas atribuições de regras para aplicar regras a instâncias específicas.
-
Uma regra de entrada com prioridade 1000 é aplicável à VM 1. Essa regra permite o tráfego TCP de entrada de qualquer origem (0.0.0.0/0). O tráfego TCP de outras instâncias na rede VPC é permitido, sujeito às regras de saída aplicáveis para essas outras instâncias. A VM 4 pode se comunicar com a VM 1 por meio de TCP porque a VM 4 não tem uma regra de saída bloqueando essa comunicação (somente a regra implícita "permitir saída" é aplicável). Como a VM 1 tem um IP externo, essa regra também permite o tráfego TCP de entrada de hosts externos na Internet e da VM 2 por meio de endereços IP externos.
-
A VM 2 não tem uma regra de firewall de entrada especificada. Portanto, a regra implícita "negar entrada" bloqueia todo o tráfego de entrada. As conexões de outras instâncias da rede são bloqueadas, independentemente das regras de saída para as outras instâncias. Como a VM 2 tem um IP externo, há um caminho para ele a partir de hosts externos na Internet, mas a regra implícita "negar entrada" bloqueia também o tráfego de entrada externo.
-
Uma regra de entrada com prioridade 1000 é aplicável à VM 3. Essa regra permite o tráfego TCP de instâncias na rede com a tag de rede client, como VM 4. O tráfego TCP da VM 4 para a VM 3 é permitido porque a VM 4 não tem uma regra de saída bloqueando essa comunicação (somente a regra implícita "permitir saída" é aplicável). Como a VM 3 não tem um IP externo, não há nenhum caminho para ela de hosts externos na Internet.
Casos de saída
As regras de firewall de saída controlam as conexões de saída de instâncias de meta na rede VPC. As regras de saída com uma ação allow permitem o tráfego de instâncias com base nos outros componentes da regra. Por exemplo, é possível permitir o tráfego de saída para destinos específicos, como um intervalo de endereços IPv4, em protocolos e portas especificados por você. Da mesma forma, as regras de saída com uma ação deny bloqueiam o tráfego com base nos outros componentes da regra.
Cada regra de saída precisa de um destino. O destino padrão é qualquer endereço IPv4 (0.0.0.0/0), mas é possível criar um destino mais específico usando um intervalo de endereços IPv4 ou IPv6 no formato CIDR. Ao especificar um intervalo de endereços IPv4, você controla o tráfego para instâncias na rede e para destinos fora da rede, incluindo destinos na Internet.
Exemplos de saída
O diagrama a seguir ilustra alguns exemplos em que as regras de firewall podem controlar as conexões de saída. Os exemplos usam o parâmetro meta nas atribuições de regras para aplicar regras a instâncias específicas.
-
A VM 1 não tem uma regra de firewall de saída especificada. Portanto, a regra implícita "permitir saída" permite que ela envie tráfego para qualquer destino. As conexões com outras instâncias da rede VPC são permitidas, sujeitas às regras de entrada aplicáveis para essas outras instâncias. A VM 1 pode enviar tráfego para a VM 4 porque a VM 4 tem uma regra de entrada que permite o tráfego recebido de qualquer intervalo de endereços IP. Como a VM 1 tem um endereço IP externo, ela pode enviar tráfego para hosts externos na Internet. As respostas de entrada ao tráfego enviado pela VM 1 são permitidas porque as regras de firewall funcionam com estado.
-
Uma regra de saída com prioridade 1000 é aplicável à VM 2. Essa regra nega todo o tráfego de saída para todos os destinos (0.0.0.0/0). O tráfego de saída para outras instâncias na rede VPC é bloqueado, independentemente das regras de entrada aplicadas às outras instâncias. Ainda que a VM 2 tenha um endereço IP externo, esta regra de firewall bloqueia o tráfego de saída para hosts externos na Internet.
-
Uma regra de saída com prioridade 1000 é aplicável à VM 3. Essa regra bloqueia o tráfego TCP de saída para qualquer destino no intervalo de IP 192.168.1.0/24. Mesmo que as regras de entrada para VM 4 permitam todo o tráfego recebido, a VM 3 não pode enviar o tráfego TCP para a VM 4. No entanto, a VM 3 é livre para enviar o tráfego UDP para a VM 4 porque a regra de saída se aplica apenas ao protocolo TCP.
Além disso, a VM 3 pode enviar qualquer tráfego para outras instâncias na rede VPC fora do intervalo de IP 192.168.1.0/24, desde que essas outras instâncias tenham regras de entrada para permitir esse tráfego. Por não ter um endereço IP externo, ela não tem um caminho para enviar tráfego para fora da rede VPC.