GCP - VPC & Networking
GCP Compute Networking em Resumo
VPCs contém regras de Firewall para permitir tráfego de entrada na VPC. VPCs também contém subredes onde máquinas virtuais vão ser conectadas. Comparando com AWS, Firewall seria a coisa mais próxima de AWS Security Groups e NACLs, mas neste caso estas são definidas na VPC e não em cada instância.
VPC, Subredes & Firewalls no GCP
Instâncias de Computação estão conectadas a subredes que são parte de VPCs (Nuvens Privadas Virtuais). No GCP não existem grupos de segurança, existem firewalls VPC com regras definidas neste nível de rede, mas aplicadas a cada Instância de VM.
Subredes
Uma VPC pode ter várias subredes. Cada subrede 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 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 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 existe um comando gcloud
simples para listar todas as Instâncias de Computação com portas abertas na internet. Você precisa conectar os pontos entre regras de firewall, tags de rede, contas de serviço e instâncias.
Esse processo foi automatizado usando este script python que irá exportar o seguinte:
Arquivo CSV mostrando instância, IP público, TCP permitido, UDP permitido
Escaneamento nmap para direcionar todas as instâncias nas portas de entrada permitidas da internet pública (0.0.0.0/0)
masscan para direcionar toda a faixa TCP daquelas instâncias que permitem TODAS as portas TCP da internet pública (0.0.0.0/0)
Políticas de Firewall Hierárquicas
As políticas de firewall hierárquicas permitem que você crie e aplique 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 explicitamente negar ou permitir conexões.
Você cria e aplica políticas de firewall como etapas separadas. Você pode criar e aplicar políticas de firewall nos nós de organização ou 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 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
Pasta: 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.
Peering de Rede VPC
Permite conectar duas redes de Nuvem Privada Virtual (VPC) para que recursos em cada rede possam se comunicar entre si. Redes VPC conectadas podem estar no mesmo projeto, em projetos diferentes da mesma organização, ou em projetos diferentes de organizações diferentes.
Estas são as permissões necessárias:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
Referências
Last updated