Je constate qu'il y a du trafic entrant dans mes journaux de flux VPC pour ma passerelle NAT publique. Ma passerelle NAT publique accepte-t-elle du trafic entrant provenant d'Internet ?

Dernière mise à jour : 31/10/2022

Les journaux de flux de mon cloud privé virtuel (VPC) indiquent Action = ACCEPT pour le trafic entrant provenant d'adresses IP publiques. Toutefois, je pensais que les passerelles de traduction d’adresses réseau (NAT) n'acceptaient pas le trafic provenant d'Internet. Ma passerelle NAT accepte-t-elle du trafic entrant provenant d'Internet ?

Solution

Les passerelles NAT gérées par AWS n'acceptent pas de trafic initié depuis Internet. Cependant, il existe deux raisons pour lesquelles des informations contenues dans vos journaux de flux VPC semblent indiquer que le trafic entrant est accepté en provenance d'Internet.

Raison 1 : le trafic Internet entrant est autorisé par votre groupe de sécurité ou les listes de contrôle d’accès (ACL) réseau

Les journaux de flux VPC indiquent que le trafic Internet entrant est accepté si le trafic est autorisé par votre groupe de sécurité ou par les ACL réseau. Si les ACL réseau attachées à une passerelle NAT ne refusent pas explicitement le trafic provenant d'Internet, alors le trafic Internet à destination de la passerelle NAT s'affiche comme étant accepté. Toutefois, le trafic réel n'est pas réellement accepté par la passerelle NAT et est donc abandonné.

Pour le confirmer, procédez comme suit :

  1. Ouvrez la console Amazon CloudWatch.
  2. Dans le volet de navigation, sélectionnez Insights (Analyse).
  3. Dans la liste déroulante, sélectionnez le groupe de journaux qui contient l'interface réseau Elastic de la passerelle NAT et l'interface réseau Elastic de l'instance privée.
  4. Exécutez la requête ci-dessous.
filter (dstAddr like 'xxx.xxx' and srcAddr like 'public IP')
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr
| limit 10

Remarque : vous pouvez uniquement utiliser les deux premiers octets dans le filtre de recherche pour analyser toutes les interfaces réseau dans le VPC. Dans l'exemple ci-dessus, remplacez xxx.xxx par les deux premiers octets de le routage inter-domaines sans classe (CIDR) de votre VPC. Remplacez également l'adresse IP publique par l'adresse IP publique que vous voyez dans l'entrée du journal de flux VPC.

Les résultats de la requête indiquent le trafic sur l'adresse IP privée de la passerelle NAT à partir de l'adresse IP publique, mais pas de trafic sur d'autres adresses IP privées dans le VPC. Ces résultats confirment que le trafic entrant n'a pas été sollicité. Toutefois, si vous constatez la présence de trafic sur l'adresse IP de l'instance privée, alors, suivez les étapes sous Raison 2.

Raison 2 : le trafic à destination de l'adresse IP publique a été initié à partir d'une instance privée

Si certaines instances privées utilisent la passerelle NAT pour accéder à Internet, votre journal de flux VPC inclut le trafic de réponse provenant de l'adresse IP publique. Pour confirmer que le trafic à destination de l'adresse IP publique a été initié à partir de votre instance privée, exécutez la requête ci-dessous :

Remarque : Avant d'exécuter la requête, procédez comme suit :

  • Sélectionnez la période qui correspond à celle où vous avez constaté la présence de trafic dans les journaux de flux VPC.
  • Si vous avez plusieurs groupes de journaux dans votre VPC, sélectionnez le groupe approprié.
filter (dstAddr like 'public IP' and srcAddr like 'xxx.xxx') or (srcAddr like 'public IP' and dstAddr like 'xxx.xxx')
| limit 10

Assurez-vous de remplacer xxx.xxx par les deux premiers octets du CIDR de votre VPC. Remplacez l'adresse IP publique par l'adresse IP publique que vous voyez dans l'entrée du journal de flux VPC. Augmentez la limite si plus de 10 ressources dans votre VPC ont initié du trafic vers l'adresse IP publique.

Les résultats de la requête montrent le trafic bidirectionnel entre l'instance privée et les adresses IP publiques. Pour déterminer si l'instance privée ou l'adresse IP publique externe est l'initiateur, consultez l'exemple suivant :

2022-09-28T12:05:18.000+10:00 eni-023466675b6xxxxxx 10.0.101.222 8.8.8.8 53218 53 6(17) 4 221 1664330718 1664330746 ACCEPT OK
2022-09-28T12:05:18.000+10:00 eni-023466675b6xxxxxx 8.8.8.8 10.0.101.222 53 53218 6(17) 4 216 1664330718 1664330746 ACCEPT OK
Dans cet exemple de trafic TCP/UDP (ID de protocole = 6 ou 17), l'adresse IP privée 10.0.101.222 avec le port source 53218 (port éphémère) est l'initiateur. L'adresse IP 8.8.8.8 avec le port de destination 53 est le récepteur et le répondeur.

Remarque : Il est recommandé d'activer le champ d'indicateur TCP pour votre journal de flux VPC.

Par exemple, les entrées suivantes ont un champ d'indicateur TCP dans la dernière colonne :

2022-09-28T12:05:52.000+10:00 eni-023466675b6xxxxxx 10.0.1.231 8.8.8.8 50691 53 6(17) 3 4 221 1664330752 1664330776 ACCEPT OK 2
2022-09-28T12:05:21.000+10:00 eni-023466675b6xxxxxx 8.8.8.8 10.0.1.231 53 50691 6(17) 19 4 216 1664330721 1664330742 ACCEPT OK 18

L'adresse IP privée 10.0.101.222 est l'initiateur avec l'indicateur TCP 2, qui représente un paquet TCP SYN.

Dans l'exemple de protocole ICMP suivant, il n'y a pas suffisamment d'informations pour déterminer de quel côté se trouve l'initiateur, car les informations de port ou d'indicateur TCP sont absentes :

2022-09-27T17:57:39.000+10:00 eni-023466675b6xxxxxx 10.0.1.231 8.8.8.8 0 0 1 17 1428 1664265459 1664265483 ACCEPT OK
2022-09-27T17:57:39.000+10:00 eni-023466675b6xxxxxx 8.8.8.8 10.0.1.231 0 0 1 0 17 1428 1664265459 1664265483 ACCEPT OK

Le format de l'entrée de votre journal de flux dépend de la manière dont elle a été créée. Pour plus d'informations sur les formats des lignes de journal, voir Afficher les journaux de flux.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?