GCP - VPC & Networking

Wsparcie dla HackTricks

GCP Compute Networking w skrócie

VPC zawiera reguły zapory umożliwiające ruch przychodzący do VPC. VPC zawiera również podsieci, w których będą połączone maszyny wirtualne. W porównaniu do AWS, zapora byłaby najbliższym odpowiednikiem AWS Security Groups i NACLs, ale w tym przypadku są one definiowane w VPC a nie w każdej instancji.

VPC, Podsieci i Zapory w GCP

Instancje obliczeniowe są połączone z podsieciami, które są częścią VPC (Wirtualne Chmury Prywatne). W GCP nie ma grup zabezpieczeń, są zapory VPC z regułami zdefiniowanymi na poziomie sieci, ale stosowanymi do każdej instancji VM.

Podsieci

VPC może mieć kilka podsieci. Każda podsiec jest w 1 regionie.

Zapory

Domyślnie każda sieć ma dwie implikowane reguły zapory: zezwól na ruch wychodzący i zabroń ruchu przychodzącego.

Gdy projekt GCP jest tworzony, tworzona jest również VPC o nazwie default, z następującymi regułami zapory:

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

  • default-allow-ssh: zezwól na 22 z wszędzie

  • default-allow-rdp: zezwól na 3389 z wszędzie

  • default-allow-icmp: zezwól na ping z wszędzie

Jak widać, reguły zapory mają tendencję do bycia bardziej liberalnymi dla adresów IP wewnętrznych. Domyślna VPC zezwala na cały ruch między instancjami obliczeniowymi.

Można utworzyć więcej reguł zapory dla domyślnej VPC lub dla nowych VPC. Reguły zapory mogą być stosowane do instancji za pomocą następujących metod:

Niestety, nie ma prostego polecenia gcloud, które wyświetliłoby wszystkie instancje obliczeniowe z otwartymi portami w internecie. Musisz połączyć kropki między regułami zapory, tagami sieciowymi, kontami serwisowymi i instancjami.

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

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

  • skanowanie nmap w celu zaatakowania wszystkich instancji na portach dozwolonych z publicznego internetu (0.0.0.0/0)

  • masscan w celu zaatakowania pełnego zakresu TCP tych instancji, które zezwalają na WSZYSTKIE porty TCP z publicznego internetu (0.0.0.0/0)

Hierarchiczne Polityki Zapory

Hierarchiczne polityki zapory pozwalają na tworzenie i egzekwowanie spójnej polityki zapory w całej organizacji. Możesz przypisać hierarchiczne polityki zapory do organizacji jako całości lub do poszczególnych folderów. Polityki te zawierają reguły, które mogą wyraźnie zabraniać lub zezwalać na połączenia.

Tworzysz i stosujesz polityki zapory jako oddzielne kroki. Możesz tworzyć i stosować polityki zapory na węzłach organizacji lub folderów w hierarchii zasobów. Reguła polityki zapory może blokować połączenia, zezwalać na połączenia lub odkładać ocenę reguły zapory do niższych folderów lub reguł zapory VPC zdefiniowanych w sieciach VPC.

Domyślnie wszystkie reguły polityki zapory hierarchicznej mają zastosowanie do wszystkich VM w wszystkich projektach pod organizacją lub folderem, do którego polityka jest przypisana. Możesz jednak ograniczyć, które VM otrzymują daną regułę, określając docelowe sieci lub docelowe konta serwisowe.

Możesz przeczytać tutaj, jak utworzyć politykę zapory hierarchicznej.

Ocena Reguł Zapory

  1. Org: Polityki zapory przypisane do organizacji

  2. Folder: Polityki zapory przypisane do folderu

  3. VPC: Reguły zapory przypisane do VPC

  4. Globalne: Inny typ reguł zapory, które mogą być przypisane do VPC

  5. Regionalne: Reguły zapory związane z siecią VPC NIC VM i regionem VM.

Peering Sieci VPC

Pozwala na połączenie dwóch sieci Wirtualnych Chmur Prywatnych (VPC), aby zasoby w każdej sieci mogły się komunikować. Połączone sieci VPC mogą znajdować się w tym samym projekcie, różnych projektach tej samej organizacji lub różnych projektach różnych organizacji.

Oto potrzebne uprawnienia:

  • compute.networks.addPeering

  • compute.networks.updatePeering

  • compute.networks.removePeering

  • compute.networks.listPeeringRoutes

Więcej w dokumentacji.

Odniesienia

Wsparcie dla HackTricks

Last updated