GCP - VPC & Networking
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:
Wszystkie instancje w VPC
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
Org: Zasady firewalla przypisane do Organizacji
Folder: Zasady firewalla przypisane do Folderu
VPC: Zasady firewalla przypisane do VPC
Global: Inny typ zasad firewalla, które mogą być przypisane do VPC
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
References
Last updated