GCP - VPC & Networking

Support HackTricks

GCP Compute Networking en un coup d'œil

Les VPC contiennent des règles de pare-feu pour permettre le trafic entrant vers le VPC. Les VPC contiennent également des sous-réseaux où les machines virtuelles vont être connectées. Comparé à AWS, le pare-feu serait la chose la plus proche des Groupes de Sécurité et NACLs d'AWS, mais dans ce cas, ceux-ci sont définis dans le VPC et non dans chaque instance.

VPC, Sous-réseaux & Pare-feu dans GCP

Les instances de calcul sont connectées à des sous-réseaux qui font partie des VPC (Clouds Privés Virtuels). Dans GCP, il n'y a pas de groupes de sécurité, il y a des pare-feu VPC avec des règles définies à ce niveau de réseau mais appliquées à chaque instance VM.

Sous-réseaux

Un VPC peut avoir plusieurs sous-réseaux. Chaque sous-réseau est dans 1 région.

Pare-feu

Par défaut, chaque réseau a deux règles de pare-feu implicites : autoriser sortant et interdire entrant.

Lorsqu'un projet GCP est créé, un VPC appelé default est également créé, avec les règles de pare-feu suivantes :

  • default-allow-internal : autoriser tout le trafic des autres instances sur le réseau default

  • default-allow-ssh : autoriser 22 de partout

  • default-allow-rdp : autoriser 3389 de partout

  • default-allow-icmp : autoriser le ping de partout

Comme vous pouvez le voir, les règles de pare-feu tendent à être plus permissives pour les adresses IP internes. Le VPC par défaut permet tout le trafic entre les instances de calcul.

D'autres règles de pare-feu peuvent être créées pour le VPC par défaut ou pour de nouveaux VPC. Les règles de pare-feu peuvent être appliquées aux instances via les méthodes suivantes :

Malheureusement, il n'y a pas de commande gcloud simple pour afficher toutes les instances de calcul avec des ports ouverts sur Internet. Vous devez relier les règles de pare-feu, les étiquettes de réseau, les comptes de service et les instances.

Ce processus a été automatisé à l'aide de ce script python qui exportera les éléments suivants :

  • Fichier CSV montrant l'instance, l'IP publique, TCP autorisé, UDP autorisé

  • Scan nmap pour cibler toutes les instances sur les ports d'entrée autorisés depuis Internet public (0.0.0.0/0)

  • Masscan pour cibler l'ensemble de la plage TCP de ces instances qui autorisent TOUS les ports TCP depuis Internet public (0.0.0.0/0)

Politiques de Pare-feu Hiérarchiques

Les politiques de pare-feu hiérarchiques vous permettent de créer et d'appliquer une politique de pare-feu cohérente à travers votre organisation. Vous pouvez attribuer des politiques de pare-feu hiérarchiques à l'organisation dans son ensemble ou à des dossiers individuels. Ces politiques contiennent des règles qui peuvent explicitement interdire ou autoriser des connexions.

Vous créez et appliquez des politiques de pare-feu en tant qu'étapes distinctes. Vous pouvez créer et appliquer des politiques de pare-feu aux nœuds d'organisation ou de dossier de la hiérarchie des ressources. Une règle de politique de pare-feu peut bloquer des connexions, autoriser des connexions ou différer l'évaluation des règles de pare-feu vers des dossiers de niveau inférieur ou des règles de pare-feu VPC définies dans des réseaux VPC.

Par défaut, toutes les règles de politique de pare-feu hiérarchiques s'appliquent à toutes les VM dans tous les projets sous l'organisation ou le dossier auquel la politique est associée. Cependant, vous pouvez restreindre quelles VM reçoivent une règle donnée en spécifiant des réseaux cibles ou des comptes de service cibles.

Vous pouvez lire ici comment créer une Politique de Pare-feu Hiérarchique.

Évaluation des Règles de Pare-feu

  1. Org : Politiques de pare-feu assignées à l'organisation

  2. Dossier : Politiques de pare-feu assignées au dossier

  3. VPC : Règles de pare-feu assignées au VPC

  4. Global : Un autre type de règles de pare-feu qui peuvent être assignées aux VPC

  5. Régional : Règles de pare-feu associées au réseau VPC de la NIC de la VM et à la région de la VM.

Peering de Réseau VPC

Permet de connecter deux réseaux de Cloud Privé Virtuel (VPC) afin que les ressources de chaque réseau puissent communiquer entre elles. Les réseaux VPC en peering peuvent être dans le même projet, dans différents projets de la même organisation, ou dans différents projets de différentes organisations.

Voici les permissions nécessaires :

  • compute.networks.addPeering

  • compute.networks.updatePeering

  • compute.networks.removePeering

  • compute.networks.listPeeringRoutes

Plus dans la documentation.

Références

Support HackTricks

Last updated