GCP - VPC & Networking
GCP Compute Networking in a Nutshell
VPCs contêm regras de Firewall para permitir tráfego de entrada na VPC. VPCs também contêm sub-redes onde máquinas virtuais serão conectadas. Comparando com AWS, Firewall seria o mais próximo de AWS Security Groups e NACLs, mas neste caso, estas são definidas na VPC e não em cada instância.
VPC, Subnetworks & Firewalls no GCP
Instâncias de Computação estão conectadas a sub-redes que fazem parte das VPCs (Virtual Private Clouds). No GCP não existem security groups, existem firewalls de VPC com regras definidas neste nível de rede, mas aplicadas a cada Instância de VM.
Subnetworks
Uma VPC pode ter várias sub-redes. Cada sub-rede está em 1 região.
Firewalls
Por padrão, toda rede tem duas regras de firewall implícitas: permitir saída e negar entrada.
Quando um projeto GCP é criado, uma VPC chamada default
também é criada, com as seguintes regras de firewall:
default-allow-internal: permite todo o tráfego de outras instâncias na rede
default
default-allow-ssh: permite 22 de qualquer lugar
default-allow-rdp: permite 3389 de qualquer lugar
default-allow-icmp: permite ping de qualquer lugar
Como você pode ver, as regras de firewall tendem a ser mais permissivas para endereços IP internos. A VPC padrão permite todo o tráfego entre Instâncias de Computação.
Mais regras de Firewall podem ser criadas para a VPC padrão ou para novas VPCs. Regras de Firewall podem ser aplicadas a instâncias através dos seguintes métodos:
Todas as instâncias dentro de uma VPC
Infelizmente, não há um comando gcloud
simples para listar todas as Instâncias de Computação com portas abertas na internet. Você tem que conectar os pontos entre regras de firewall, network tags, contas de serviço e instâncias.
Este processo foi automatizado usando este script em python que exportará o seguinte:
Arquivo CSV mostrando instância, IP público, TCP permitido, UDP permitido
varredura nmap para direcionar todas as instâncias nas portas de entrada permitidas da internet pública (0.0.0.0/0)
masscan para direcionar o intervalo completo de TCP daquelas instâncias que permitem TODAS as portas TCP da internet pública (0.0.0.0/0)
Hierarchical Firewall Policies
Políticas de firewall hierárquicas permitem criar e impor uma política de firewall consistente em toda a sua organização. Você pode atribuir políticas de firewall hierárquicas à organização como um todo ou a pastas individuais. Essas políticas contêm regras que podem negar ou permitir conexões explicitamente.
Você cria e aplica políticas de firewall em etapas separadas. Você pode criar e aplicar políticas de firewall nos nós da organização ou da pasta da hierarquia de recursos. Uma regra de política de firewall pode bloquear conexões, permitir conexões ou adiar a avaliação da regra de firewall para pastas de nível inferior ou regras de firewall de VPC definidas em redes VPC.
Por padrão, todas as regras de política de firewall hierárquica se aplicam a todas as VMs em todos os projetos sob a organização ou pasta onde a política está associada. No entanto, você pode restringir quais VMs recebem uma determinada regra especificando redes de destino ou contas de serviço de destino.
Você pode ler aqui como criar uma Política de Firewall Hierárquica.
Avaliação de Regras de Firewall
Org: Políticas de firewall atribuídas à Organização
Folder: Políticas de firewall atribuídas à Pasta
VPC: Regras de firewall atribuídas à VPC
Global: Outro tipo de regras de firewall que podem ser atribuídas a VPCs
Regional: Regras de firewall associadas à rede VPC do NIC da VM e à região da VM.
VPC Network Peering
Permite conectar duas redes Virtual Private Cloud (VPC) para que recursos em cada rede possam se comunicar entre si. Redes VPC emparelhadas podem estar no mesmo projeto, em projetos diferentes da mesma organização ou em projetos diferentes de diferentes organizações.
Estas são as permissões necessárias:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
Referências
Last updated