GCP - VPC & Networking

Support HackTricks

GCP Compute Networking in a Nutshell

VPCs містять правила брандмауера для дозволу вхідного трафіку до VPC. VPCs також містять підмережі, до яких будуть підключені віртуальні машини. У порівнянні з AWS, брандмауер буде найближчим до AWS груп безпеки та NACL, але в цьому випадку вони визначені в VPC, а не в кожному екземплярі.

VPC, Підмережі та Брандмауери в GCP

Обчислювальні екземпляри підключені до підмереж, які є частиною VPCs (Віртуальні приватні хмари). У GCP немає груп безпеки, є брандмауери VPC з правилами, визначеними на цьому мережевому рівні, але застосованими до кожного екземпляра VM.

Підмережі

VPC може мати кілька підмереж. Кожна підмережа знаходиться в 1 регіоні.

Брандмауери

За замовчуванням, кожна мережа має два імпліцитних правила брандмауера: дозволити вихідний та заборонити вхідний.

Коли створюється проект GCP, також створюється VPC під назвою default, з наступними правилами брандмауера:

  • default-allow-internal: дозволити весь трафік з інших екземплярів у мережі default

  • default-allow-ssh: дозволити 22 з усіх місць

  • default-allow-rdp: дозволити 3389 з усіх місць

  • default-allow-icmp: дозволити ping з усіх місць

Як ви можете бачити, правила брандмауера зазвичай є більш ліберальними для внутрішніх IP-адрес. За замовчуванням VPC дозволяє весь трафік між обчислювальними екземплярами.

Більше правил брандмауера можна створити для VPC за замовчуванням або для нових VPC. Правила брандмауера можуть бути застосовані до екземплярів через наступні методи:

На жаль, немає простого команди gcloud, щоб вивести всі обчислювальні екземпляри з відкритими портами в Інтернеті. Вам потрібно з'єднати точки між правилами брандмауера, мережевими тегами, службовими обліковими записами та екземплярами.

Цей процес був автоматизований за допомогою цього python-скрипта, який експортує наступне:

  • CSV-файл, що показує екземпляр, публічний IP, дозволений TCP, дозволений UDP

  • сканування nmap для націлювання на всі екземпляри на портах, дозволених для вхідного з публічного Інтернету (0.0.0.0/0)

  • masscan для націлювання на весь TCP-діапазон тих екземплярів, які дозволяють ВСІ TCP порти з публічного Інтернету (0.0.0.0/0)

Ієрархічні політики брандмауера

Ієрархічні політики брандмауера дозволяють вам створювати та забезпечувати послідовну політику брандмауера в межах вашої організації. Ви можете призначати ієрархічні політики брандмауера організації в цілому або окремим папкам. Ці політики містять правила, які можуть явно забороняти або дозволяти з'єднання.

Ви створюєте та застосовуєте політики брандмауера як окремі кроки. Ви можете створювати та застосовувати політики брандмауера на організаційних або папкових вузлах ієрархії ресурсів. Правило політики брандмауера може блокувати з'єднання, дозволяти з'єднання або відкладати оцінку правила брандмауера на нижчі рівні папок або правила брандмауера VPC, визначені в мережах VPC.

За замовчуванням, всі правила політики ієрархічного брандмауера застосовуються до всіх ВМ у всіх проектах під організацією або папкою, до якої пов'язана політика. Однак ви можете обмежити, які ВМ отримують дане правило, вказавши цільові мережі або цільові службові облікові записи.

Ви можете прочитати тут, як створити ієрархічну політику брандмауера.

Оцінка правил брандмауера

  1. Org: Політики брандмауера, призначені організації

  2. Папка: Політики брандмауера, призначені папці

  3. VPC: Правила брандмауера, призначені VPC

  4. Глобальні: Інший тип правил брандмауера, які можуть бути призначені VPC

  5. Регіональні: Правила брандмауера, пов'язані з мережею VPC NIC ВМ та регіоном ВМ.

VPC Network Peering

Дозволяє підключити дві мережі Віртуальної приватної хмари (VPC), щоб ресурси в кожній мережі могли спілкуватися один з одним. Підключені мережі VPC можуть бути в одному проекті, різних проектах однієї організації або різних проектах різних організацій.

Це необхідні дозволи:

  • compute.networks.addPeering

  • compute.networks.updatePeering

  • compute.networks.removePeering

  • compute.networks.listPeeringRoutes

Більше в документації.

References

Support HackTricks

Last updated