GCP - VPC & Networking

Support HackTricks

GCP Compute Networking w skrócie

VPCs zawierają zasady Firewall pozwalające na ruch przychodzący do VPC. VPCs zawierają również subnetworks, do których będą podłączone maszyny wirtualne. Porównując z AWS, Firewall jest najbliższy AWS Security Groups i NACLs, ale w tym przypadku są one zdefiniowane w VPC, a nie w każdej instancji.

VPC, Subnetworks & Firewalls w GCP

Compute Instances są podłączone do subnetworks, które są częścią VPCs (Virtual Private Clouds). W GCP nie ma grup bezpieczeństwa, są VPC firewalls z zasadami zdefiniowanymi na poziomie sieci, ale stosowanymi do każdej instancji VM.

Subnetworks

VPC może mieć kilka subnetworks. Każda subnetwork jest w jednym regionie.

Firewalls

Domyślnie każda sieć ma dwie domyślne zasady firewalla: allow outbound i deny inbound.

Kiedy projekt GCP jest tworzony, VPC o nazwie default jest również tworzony, z następującymi zasadami firewalla:

  • default-allow-internal: pozwala na cały ruch z innych instancji w sieci default

  • default-allow-ssh: pozwala na 22 zewsząd

  • default-allow-rdp: pozwala na 3389 zewsząd

  • default-allow-icmp: pozwala na ping zewsząd

Jak widać, zasady firewalla są zazwyczaj bardziej permisywne dla wewnętrznych adresów IP. Domyślne VPC pozwala na cały ruch między Compute Instances.

Więcej zasad firewalla można utworzyć dla domyślnego VPC lub dla nowych VPC. Zasady firewalla mogą być stosowane do instancji za pomocą następujących metod:

Niestety, nie ma prostego polecenia gcloud, które wypluje wszystkie Compute Instances z otwartymi portami w internecie. Trzeba połączyć kropki między zasadami firewalla, tagami sieciowymi, kontami usługowymi i instancjami.

Ten proces został zautomatyzowany za pomocą tego skryptu python, który wyeksportuje następujące:

  • Plik CSV pokazujący instancję, publiczny IP, dozwolone TCP, dozwolone UDP

  • skan nmap do celowania we wszystkie instancje na portach dozwolonych z publicznego internetu (0.0.0.0/0)

  • masscan do celowania w pełny zakres TCP tych instancji, które pozwalają na WSZYSTKIE porty TCP z publicznego internetu (0.0.0.0/0)

Hierarchical Firewall Policies

Hierarchical firewall policies pozwalają na tworzenie i egzekwowanie spójnej polityki firewalla w całej organizacji. Możesz przypisać hierarchical firewall policies do organizacji jako całości lub do poszczególnych folderów. Te polityki zawierają zasady, które mogą wyraźnie odrzucać lub zezwalać na połączenia.

Tworzysz i stosujesz polityki firewalla jako oddzielne kroki. Możesz tworzyć i stosować polityki firewalla na poziomie organizacji lub folderów w hierarchii zasobów. Zasada polityki firewalla może blokować połączenia, zezwalać na połączenia lub przekazywać ocenę zasady firewalla do niższych folderów lub zasad firewalla zdefiniowanych w sieciach VPC.

Domyślnie wszystkie zasady polityki firewalla hierarchicznego mają zastosowanie do wszystkich VM w wszystkich projektach pod organizacją lub folderem, z którym polityka jest związana. Jednakże, możesz ograniczyć, które VM otrzymują daną zasadę poprzez określenie docelowych sieci lub docelowych kont usługowych.

Możesz przeczytać tutaj, jak utworzyć Hierarchical Firewall Policy.

Firewall Rules Evaluation

  1. Org: Zasady firewalla przypisane do Organizacji

  2. Folder: Zasady firewalla przypisane do Folderu

  3. VPC: Zasady firewalla przypisane do VPC

  4. Global: Inny typ zasad firewalla, które mogą być przypisane do VPC

  5. Regional: Zasady firewalla związane z siecią VPC karty sieciowej VM i regionem VM.

VPC Network Peering

Pozwala na połączenie dwóch sieci Virtual Private Cloud (VPC), aby zasoby w każdej sieci mogły się komunikować ze sobą. Połączone sieci VPC mogą być w tym samym projekcie, różnych projektach tej samej organizacji lub różnych projektach różnych organizacji.

To są potrzebne uprawnienia:

  • compute.networks.addPeering

  • compute.networks.updatePeering

  • compute.networks.removePeering

  • compute.networks.listPeeringRoutes

Więcej w dokumentacji.

References

Support HackTricks

Last updated