AWS - VPC & Networking Basic Information

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Réseau AWS en un coup d'œil

Un VPC contient un CIDR réseau comme 10.0.0.0/16 (avec sa table de routage et son ACL réseau).

Ce réseau VPC est divisé en sous-réseaux, donc un sous-réseau est directement lié au VPC, à la table de routage et à l'ACL réseau.

Ensuite, les Interfaces réseau attachées aux services (comme les instances EC2) sont connectées aux sous-réseaux avec des groupes de sécurité.

Par conséquent, un groupe de sécurité limitera les ports exposés des interfaces réseau l'utilisant, indépendamment du sous-réseau. Et une ACL réseau limitera les ports exposés à tout le réseau.

De plus, pour accéder à Internet, il y a quelques configurations intéressantes à vérifier :

  • Un sous-réseau peut attribuer automatiquement des adresses IPv4 publiques

  • Une instance créée dans le réseau qui attribue automatiquement des adresses IPv4 peut en obtenir une

  • Une passerelle Internet doit être attachée au VPC

  • Vous pourriez également utiliser des passerelles Internet à sens unique

  • Vous pourriez également avoir une passerelle NAT dans un sous-réseau privé pour pouvoir se connecter à des services externes à partir de ce sous-réseau privé, mais il est impossible de les atteindre depuis l'extérieur.

  • La passerelle NAT peut être publique (accès à Internet) ou privée (accès à d'autres VPC)

VPC

Amazon Virtual Private Cloud (Amazon VPC) vous permet de lancer des ressources AWS dans un réseau virtuel que vous avez défini. Ce réseau virtuel aura plusieurs sous-réseaux, des passerelles Internet pour accéder à Internet, des ACL, des groupes de sécurité, des adresses IP...

Sous-réseaux

Les sous-réseaux aident à renforcer un plus haut niveau de sécurité. Le regroupement logique de ressources similaires vous aide également à maintenir une facilité de gestion sur l'ensemble de votre infrastructure.

  • Les CIDR valides vont d'un masque de sous-réseau /16 à un masque de sous-réseau /28.

  • Un sous-réseau ne peut pas être dans différentes zones de disponibilité en même temps.

  • AWS réserve les trois premières adresses IP hôtes de chaque sous-réseau pour une utilisation interne AWS : la première adresse IP hôte utilisée est pour le routeur VPC. La deuxième adresse est réservée pour le DNS AWS et la troisième adresse est réservée pour une utilisation future.

  • On appelle sous-réseaux publics ceux qui ont un accès direct à Internet, tandis que les sous-réseaux privés n'en ont pas.

Tables de routage

Les tables de routage déterminent le routage du trafic pour un sous-réseau dans un VPC. Elles déterminent quel trafic réseau est envoyé vers Internet ou vers une connexion VPN. Vous trouverez généralement l'accès à :

  • VPC local

  • NAT

  • Passerelles Internet / Passerelles Internet à sens unique (nécessaires pour donner à un VPC l'accès à Internet).

  • Pour rendre un sous-réseau public, vous devez créer et attacher une passerelle Internet à votre VPC.

  • Points de terminaison VPC (pour accéder à S3 depuis des réseaux privés)

Dans les images suivantes, vous pouvez vérifier les différences entre un réseau public par défaut et un réseau privé :

ACL

Listes de contrôle d'accès réseau (ACL) : Les ACL réseau sont des règles de pare-feu qui contrôlent le trafic réseau entrant et sortant d'un sous-réseau. Elles peuvent être utilisées pour autoriser ou refuser le trafic vers des adresses IP ou plages spécifiques.

  • Il est plus fréquent d'autoriser/refuser l'accès en utilisant des groupes de sécurité, mais c'est la seule façon de couper complètement les shells inversés établis. Une règle modifiée dans un groupe de sécurité ne stoppe pas les connexions déjà établies.

  • Cependant, cela s'applique à l'ensemble du sous-réseau, soyez prudent lorsque vous interdisez des choses car des fonctionnalités nécessaires pourraient être perturbées.

Groupes de sécurité

Les groupes de sécurité sont un pare-feu virtuel qui contrôle le trafic réseau entrant et sortant des instances dans un VPC. Relation 1 SG à M instances (généralement 1 à 1). Cela est généralement utilisé pour ouvrir des ports dangereux dans les instances, tels que le port 22 par exemple:

Adresses IP Elastiques

Une adresse IP élastique est une adresse IPv4 statique conçue pour le cloud computing dynamique. Une adresse IP élastique est allouée à votre compte AWS et vous appartient jusqu'à ce que vous la libériez. En utilisant une adresse IP élastique, vous pouvez masquer la défaillance d'une instance ou d'un logiciel en remappant rapidement l'adresse vers une autre instance de votre compte.

Connexion entre sous-réseaux

Par défaut, tous les sous-réseaux ont l'attribution automatique d'adresses IP publiques désactivée mais elle peut être activée.

Une route locale dans une table de routage permet la communication entre les sous-réseaux du VPC.

Si vous connectez un sous-réseau à un autre sous-réseau, vous ne pouvez pas accéder aux sous-réseaux connectés à l'autre sous-réseau, vous devez créer une connexion directe avec eux. Cela s'applique également aux passerelles Internet. Vous ne pouvez pas passer par une connexion de sous-réseau pour accéder à Internet, vous devez attribuer la passerelle Internet à votre sous-réseau.

Interconnexion de VPC

L'interconnexion de VPC vous permet de connecter deux ou plusieurs VPC ensemble, en utilisant IPV4 ou IPV6, comme s'ils faisaient partie du même réseau.

Une fois que la connectivité entre les pairs est établie, les ressources dans un VPC peuvent accéder aux ressources dans l'autre. La connectivité entre les VPC est mise en œuvre à travers l'infrastructure réseau AWS existante, et elle est donc hautement disponible sans goulot d'étranglement de bande passante. Comme les connexions entre pairs fonctionnent comme s'ils faisaient partie du même réseau, il y a des restrictions en ce qui concerne les plages de blocs CIDR qui peuvent être utilisées. Si vous avez des plages CIDR qui se chevauchent ou sont en double pour vos VPC, alors vous ne pourrez pas interconnecter les VPC ensemble. Chaque VPC AWS ne communiquera qu'avec son pair. Par exemple, si vous avez une connexion de pairage entre VPC 1 et VPC 2, et une autre connexion entre VPC 2 et VPC 3 comme indiqué, alors VPC 1 et 2 pourraient communiquer directement, tout comme VPC 2 et VPC 3, cependant, VPC 1 et VPC 3 ne pourraient pas. Vous ne pouvez pas router à travers un VPC pour accéder à un autre.

Journaux de flux VPC

Au sein de votre VPC, vous pourriez potentiellement avoir des centaines, voire des milliers de ressources communiquant entre différents sous-réseaux publics et privés et également entre différents VPC via des connexions de pairage de VPC. Les journaux de flux VPC vous permettent de capturer les informations sur le trafic IP qui circule entre les interfaces réseau de vos ressources au sein de votre VPC.

Contrairement aux journaux d'accès S3 et aux journaux d'accès CloudFront, les données de journal générées par les journaux de flux VPC ne sont pas stockées dans S3. Au lieu de cela, les données de journal capturées sont envoyées aux journaux CloudWatch.

Limitations :

  • Si vous utilisez une connexion de pairage de VPC, vous ne pourrez voir que les journaux de flux des VPC appairés qui se trouvent dans le même compte.

  • Si vous exécutez toujours des ressources dans l'environnement EC2-Classic, vous ne pourrez malheureusement pas récupérer d'informations à partir de leurs interfaces.

  • Une fois qu'un journal de flux VPC a été créé, il ne peut pas être modifié. Pour modifier la configuration du journal de flux VPC, vous devez le supprimer et ensuite en recréer un nouveau.

  • Le trafic suivant n'est pas surveillé et capturé par les journaux. Le trafic DHCP à l'intérieur du VPC, le trafic des instances destiné au serveur DNS Amazon.

  • Tout trafic destiné à l'adresse IP du routeur par défaut du VPC et le trafic vers et depuis les adresses suivantes, 169.254.169.254 qui est utilisé pour collecter les métadonnées de l'instance, et 169.254.169.123 qui est utilisé pour le service de synchronisation de l'heure Amazon.

  • Trafic relatif à une licence d'activation Windows Amazon à partir d'une instance Windows

  • Trafic entre une interface de répartiteur de charge réseau et une interface de réseau de point de terminaison

Pour chaque interface réseau qui publie des données dans le groupe de journaux CloudWatch, une autre flux de journal est utilisé. Et dans chacun de ces flux, il y aura les données d'événements de journal de flux qui montrent le contenu des entrées de journal. Chacun de ces journaux capture des données pendant une fenêtre d'environ 10 à 15 minutes.

VPN

Composants de base du VPN AWS

  1. Passerelle client :

  • Une passerelle client est une ressource que vous créez dans AWS pour représenter votre côté d'une connexion VPN.

  • C'est essentiellement un appareil physique ou une application logicielle de votre côté de la connexion VPN de site à site.

  • Vous fournissez des informations de routage et l'adresse IP publique de votre appareil réseau (tel qu'un routeur ou un pare-feu) à AWS pour créer une passerelle client.

  • Elle sert de point de référence pour la configuration de la connexion VPN et n'entraîne pas de frais supplémentaires.

  1. Passerelle privée virtuelle :

  • Une passerelle privée virtuelle (VPG) est le concentrateur VPN du côté Amazon de la connexion VPN de site à site.

  • Elle est attachée à votre VPC et sert de cible pour votre connexion VPN.

  • La VPG est le point de terminaison côté AWS pour la connexion VPN.

  • Elle gère la communication sécurisée entre votre VPC et votre réseau sur site.

  1. Connexion VPN de site à site :

  • Une connexion VPN de site à site connecte votre réseau sur site à un VPC via un tunnel VPN IPsec sécurisé.

  • Ce type de connexion nécessite une passerelle client et une passerelle privée virtuelle.

  • Elle est utilisée pour une communication sécurisée, stable et cohérente entre votre centre de données ou réseau et votre environnement AWS.

  • Généralement utilisée pour des connexions régulières et à long terme, elle est facturée en fonction de la quantité de données transférées sur la connexion.

  1. Point de terminaison VPN client :

  • Un point de terminaison VPN client est une ressource que vous créez dans AWS pour permettre et gérer des sessions VPN client.

  • Il est utilisé pour permettre à des appareils individuels (comme des ordinateurs portables, des smartphones, etc.) de se connecter de manière sécurisée aux ressources AWS ou à votre réseau sur site.

  • Contrairement au VPN de site à site, il est conçu pour des clients individuels plutôt que pour connecter des réseaux entiers.

  • Avec le VPN client, chaque appareil client utilise un logiciel client VPN pour établir une connexion sécurisée.

VPN de site à site

Connectez votre réseau sur site à votre VPC.

  • Connexion VPN : Une connexion sécurisée entre votre équipement sur site et vos VPC.

  • Tunnel VPN : Un lien chiffré par lequel les données peuvent passer du réseau client vers ou depuis AWS.

Chaque connexion VPN comprend deux tunnels VPN que vous pouvez utiliser simultanément pour une haute disponibilité.

  • Passerelle client : Une ressource AWS qui fournit des informations à AWS sur votre appareil de passerelle client.

  • Appareil de passerelle client : Un appareil physique ou une application logicielle de votre côté de la connexion VPN de site à site.

  • Passerelle privée virtuelle : Le concentrateur VPN du côté Amazon de la connexion VPN de site à site. Vous utilisez une passerelle privée virtuelle ou un transit gateway comme passerelle pour le côté Amazon de la connexion VPN de site à site.

  • Transit Gateway : Un concentrateur de transit qui peut être utilisé pour interconnecter vos VPC et réseaux sur site. Vous utilisez un transit gateway ou une passerelle privée virtuelle comme passerelle pour le côté Amazon de la connexion VPN de site à site.

Limitations

  • Le trafic IPv6 n'est pas pris en charge pour les connexions VPN sur une passerelle privée virtuelle.

  • Une connexion VPN AWS ne prend pas en charge la découverte du MTU du chemin.

De plus, prenez en considération les éléments suivants lorsque vous utilisez un VPN de site à site.

Client VPN

Connectez-vous de votre machine à votre VPC

Concepts

  • Point de terminaison Client VPN : La ressource que vous créez et configurez pour activer et gérer les sessions VPN client. C'est la ressource où toutes les sessions VPN client sont terminées.

  • Réseau cible : Un réseau cible est le réseau que vous associez à un point de terminaison Client VPN. Un sous-réseau d'un VPC est un réseau cible. L'association d'un sous-réseau à un point de terminaison Client VPN vous permet d'établir des sessions VPN. Vous pouvez associer plusieurs sous-réseaux à un point de terminaison Client VPN pour une haute disponibilité. Tous les sous-réseaux doivent être du même VPC. Chaque sous-réseau doit appartenir à une zone de disponibilité différente.

  • Route : Chaque point de terminaison Client VPN a une table de routage qui décrit les routes de réseau de destination disponibles. Chaque route dans la table de routage spécifie le chemin pour le trafic vers des ressources ou des réseaux spécifiques.

  • Règles d'autorisation : Une règle d'autorisation restreint les utilisateurs qui peuvent accéder à un réseau. Pour un réseau spécifié, vous configurez le groupe Active Directory ou le fournisseur d'identité (IdP) autorisé à accéder. Seuls les utilisateurs appartenant à ce groupe peuvent accéder au réseau spécifié. Par défaut, il n'y a pas de règles d'autorisation et vous devez configurer des règles d'autorisation pour permettre aux utilisateurs d'accéder aux ressources et réseaux.

  • Client : L'utilisateur final se connectant au point de terminaison Client VPN pour établir une session VPN. Les utilisateurs finaux doivent télécharger un client OpenVPN et utiliser le fichier de configuration du Client VPN que vous avez créé pour établir une session VPN.

  • Plage CIDR client : Une plage d'adresses IP à partir de laquelle attribuer des adresses IP client. Chaque connexion au point de terminaison Client VPN se voit attribuer une adresse IP unique de la plage CIDR client. Vous choisissez la plage CIDR client, par exemple, 10.2.0.0/16.

  • Ports Client VPN : AWS Client VPN prend en charge les ports 443 et 1194 pour TCP et UDP. Par défaut, le port est 443.

  • Interfaces réseau Client VPN : Lorsque vous associez un sous-réseau à votre point de terminaison Client VPN, nous créons des interfaces réseau Client VPN dans ce sous-réseau. Le trafic envoyé au VPC à partir du point de terminaison Client VPN est envoyé via une interface réseau Client VPN. La translation d'adresse réseau source (SNAT) est ensuite appliquée, où l'adresse IP source de la plage CIDR client est traduite en l'adresse IP de l'interface réseau Client VPN.

  • Journalisation des connexions : Vous pouvez activer la journalisation des connexions pour votre point de terminaison Client VPN afin de journaliser les événements de connexion. Vous pouvez utiliser ces informations pour effectuer des analyses forensiques, analyser comment votre point de terminaison Client VPN est utilisé ou résoudre des problèmes de connexion.

  • Portail en libre-service : Vous pouvez activer un portail en libre-service pour votre point de terminaison Client VPN. Les clients peuvent se connecter au portail web à l'aide de leurs identifiants et télécharger la dernière version du fichier de configuration du point de terminaison Client VPN, ou la dernière version du client fourni par AWS.

Limitations

  • Les plages CIDR client ne peuvent pas se chevaucher avec le CIDR local du VPC dans lequel se trouve le sous-réseau associé, ou avec des routes ajoutées manuellement à la table de routage du point de terminaison Client VPN.

  • Les plages CIDR client doivent avoir une taille de bloc d'au moins /22 et ne doivent pas être supérieures à /12.

  • Une partie des adresses de la plage CIDR client est utilisée pour prendre en charge le modèle de disponibilité du point de terminaison Client VPN, et ne peut pas être attribuée aux clients. Par conséquent, nous vous recommandons de attribuer un bloc CIDR contenant le double du nombre d'adresses IP nécessaires pour permettre le nombre maximal de connexions simultanées que vous prévoyez de prendre en charge sur le point de terminaison Client VPN.

  • La plage CIDR client ne peut pas être modifiée après la création du point de terminaison Client VPN.

  • Les sous-réseaux associés à un point de terminaison Client VPN doivent être dans le même VPC.

  • Vous ne pouvez pas associer plusieurs sous-réseaux de la même zone de disponibilité à un point de terminaison Client VPN.

  • Un point de terminaison Client VPN ne prend pas en charge les associations de sous-réseaux dans un VPC en dédicace.

  • Le Client VPN prend en charge le trafic IPv4 uniquement.

  • Le Client VPN n'est pas conforme aux normes FIPS (Federal Information Processing Standards).

  • Si l'authentification multi-facteurs (MFA) est désactivée pour votre Active Directory, un mot de passe utilisateur ne peut pas être dans le format suivant.

SCRV1:<chaîne_encodée_en_base64>:<chaîne_encodée_en_base64>
  • Le portail en libre-service n'est pas disponible pour les clients qui s'authentifient en utilisant l'authentification mutuelle.

Dernière mise à jour