Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Déterminer les exigences de sécurité de votre VPC
Important
Il est recommandé de concevoir et de tester l'architecture de sécurité du trafic sortant de votre VPC dans un environnement de test. Le test des modifications de l'architecture dans un environnement de développement réduit le risque de mettre en ligne des comportements inattendus du système.
Avant de modifier les modèles de trafic sortant de votre réseau, il est important de comprendre les modèles de trafic dont votre application a besoin pour fonctionner comme prévu. Ces informations peuvent vous aider à identifier les modèles de trafic à autoriser et ceux à refuser au moment de réarchitecturer votre réseau.
Pour analyser les modèles de trafic sortant existants de votre VPC, activez d'abord Journaux de flux VPC. Utilisez ensuite un environnement de test pour exécuter votre application selon différents scénarios d'utilisation et analysez le trafic simulé dans les journaux de flux.
Les journaux de flux VPC enregistrent le trafic IP entrant et sortant de votre VPC. Amazon VPC envoie ensuite les journaux à Amazon Simple Storage Service (Amazon S3) ou à Amazon. CloudWatch Vous pouvez afficher et analyser les journaux à l'aide de l'un des outils suivants :
(Pour Amazon S3) Amazon Athena
(Pour CloudWatch) CloudWatch Logs Insights
Pour plus d'informations et des exemples de requêtes, veuillez consulter les références suivantes :
Querying Amazon VPC flow logs (Guide de l'utilisateur Amazon Athena)
Comment puis-je utiliser CloudWatch les requêtes Logs Insights avec mon journal de flux VPC ?
(Centre de AWS connaissances) CloudWatch Syntaxe de requête de Logs Insights (Guide de l'utilisateur Amazon CloudWatch Logs)
Pour plus de détails sur les types d'informations que capturent les journaux de flux VPC, veuillez consulter Exemples d'enregistrements de journaux de flux dans le Guide de l'utilisateur Amazon VPC.
Remarque
Les journaux de flux VPC ne capturent pas les informations de la couche d'application (couche 7), telles que les noms d'hôtes DNS. Si vos exigences de sécurité nécessitent l'analyse des données de la couche d'application, vous pouvez déployer AWS Network Firewall
Bonnes pratiques pour analyser le trafic sortant de votre VPC lors de l'utilisation de journaux de flux VPC
Lorsque vous analysez vos journaux de flux VPC à l'aide de requêtes Amazon Athena CloudWatch ou Logs Insights, assurez-vous de suivre les étapes suivantes :
Identifiez et analysez le trafic entrant et sortant qui transite par les interfaces réseau élastiques attachées aux ressources que votre application utilise.
Identifiez et analysez le trafic des applications qui passe par l'interface réseau attachée à la passerelle NAT.
Assurez-vous de capturer tout le trafic sortant d'une interface réseau en faisant de l'adresse source de votre requête l'adresse IP privée de l'interface réseau.
Rédigez vos requêtes de manière à se concentrer uniquement sur les modèles de trafic inattendus. (Par exemple, si votre application communique avec des entités tierces telles qu'un point de terminaison d'API HTTPS, vous pouvez alors construire vos requêtes de manière à ne pas inclure ces entités.)
Vérifiez la validité de chaque port et adresse IP de destination. (Par exemple, un port de destination sortant 22 peut être normal pour un hôte bastion ou un hôte qui clone des référentiels depuis Git à l'aide de SSH.)
Remarque
Si vous utilisez Amazon Athena pour la première fois, assurez-vous de configurer un emplacement des résultats de requête. Pour plus d'instructions, veuillez consulter Specifying a query result location using the Athena console dans le Guide de l'utilisateur Amazon Athena.
Exemples de requêtes Amazon Athena
Exemple de requête Athena qui renvoie le trafic administrateur sortant depuis une interface réseau spécifique
La requête Athena suivante renvoie les 200 premières lignes de trafic administrateur sortant depuis une interface réseau dont l'adresse IP est 10.100.0.10 :
SELECT * FROM "<vpc_flow_logs_table_name>" WHERE interface_id = 'eni-1234567890000000' AND srcaddr LIKE '10.100.0.10' AND dstport < 1024 LIMIT 200;
Exemple de sortie
# |
1 |
Version |
2 |
account_id |
<account-id> |
interface_id |
eni-123456789000000 |
srcaddr |
10,32,0.10 |
dstaddr |
11,22,33,44 |
srcport |
36952 |
dstport |
443 |
protocole |
6 |
paquets |
25 |
octets |
5445 |
début |
1659310200 |
fin |
1659310225 |
action |
ACCEPT |
log_status |
OK |
date |
07-16 |
Remarque
La sortie de ce modèle est formatée à des fins de présentation et peut s'afficher différemment sur votre système.
Exemple de requête Athena qui renvoie les adresses IP externes qui reçoivent le plus de trafic en provenance d'un VPC spécifique
La requête Athena suivante renvoie les adresses IP externes et les ports qui reçoivent le plus de trafic sortant d'un VPC avec un bloc CIDR commençant par « 10.32 » :
SELECT dstport, dstaddr, count(*) AS count FROM "<vpc_flow_logs_table_name>" WHERE dstaddr not like '10.32%' AND interface_id = 'eni-1234567890000000' GROUP BY dstport, dstaddr ORDER BY count desc LIMIT 200;
Exemple de sortie
# | Dstport | Dstaddr | nombre |
1 | 443 | 52.x.x.x | 1442 |
2 | 443 | 63.x.x.x | 1201 |
3 | 443 | 102.x.x.x | 887 |
Exemple de requête Athena qui renvoie le trafic sortant rejeté depuis un VPC spécifique
La requête Athena suivante renvoie le trafic sortant rejeté depuis un VPC avec un bloc CIDR commençant par « 10.32 » :
SELECT * FROM "<vpc_flow_logs_table_name>" WHERE srcaddr like '10.32%' AND action LIKE 'REJECT'
Exemple de sortie
# |
1 |
Version |
2 |
account_id |
<account-id> |
interface_id |
eni-123456789000000 |
srcaddr |
10,32,0.10 |
dstaddr |
11,22,33,44 |
srcport |
36952 |
dstport |
443 |
protocole |
6 |
paquets |
25 |
octets |
5445 |
début |
1659310200 |
fin |
1659310225 |
action |
REJECT |
log_status |
OK |
date |
07-16 |
Remarque
La sortie de ce modèle est formatée à des fins de présentation et peut s'afficher différemment sur votre système.
Pour plus d'informations sur l'interprétation des résultats d'une requête Athena, veuillez consulter Enregistrements de journaux de flux dans le Guide de l'utilisateur Amazon VPC.
CloudWatch Exemples de requêtes Logs Insights
CloudWatch Exemple de requête Logs Insights renvoyant le trafic administratif sortant depuis une interface réseau spécifique
La requête CloudWatch Logs Insights suivante renvoie les 200 premiers résultats du trafic administratif sortant depuis une interface réseau dont l'adresse IP est 10.100.0.10 :
fields @timestamp, @message | filter interfaceId = 'eni-1234567890000000' | filter srcAddr = '10.100.0.10' | filter dstPort < 1024 | limit 200
Exemple de sortie
Champ | Valeur |
@ingestionTime | 1659310250813 |
@log | <account-id>:/ aws/vpc/flowlogs |
@logStream | eni-123456789000000-all |
@message | 2 <account-id> eni-123456789000000 10.100.0.10 11.22.33.44 36952 443 6 25 5445 1659310200 1659310225 ACCEPT OK |
@timestamp | 1659310200000 |
accountId | <account-id> |
action | ACCEPT |
octets | 5445 |
dstAddr | 11,22,33,44 |
dstPort | 443 |
end | 1659310225 |
interfaceId | eni-123456789000000 |
logStatus | OK |
paquets | 25 |
protocole ; | 6 |
srcAddr | 10,10.0.10 |
srcPort | 36952 |
démarrer | 1659310200 |
version | 2 |
Exemple : requête CloudWatch Logs Insights qui renvoie les adresses IP externes qui reçoivent le plus de trafic en provenance d'un VPC spécifique
La requête CloudWatch Logs Insights suivante renvoie les adresses IP et les ports externes qui reçoivent le plus de trafic sortant d'un VPC avec un bloc CIDR commençant par « 10.32 » :
filter @logstream = 'eni-1234567890000000' | stats count(*) as count by dstAddr, dstPort | filter dstAddr not like '10.32' | order by count desc | limit 200
Exemple de sortie
# | dstAddr | dstPort | nombre |
1 | 52.x.x.x | 443 | 439 |
2 | 51.79.x.x | 63.x.x.x | 25 |
Exemple de requête CloudWatch Logs Insights qui renvoie le trafic sortant rejeté depuis un VPC spécifique
La requête CloudWatch Logs Insights suivante renvoie le trafic sortant rejeté depuis un VPC avec un bloc CIDR commençant par « 10.32 » :
filter @logstream = 'eni-0123456789000000' | fields @timestamp, @message | filter action='REJECT'
Exemple de sortie
Champ | Valeur |
@ingestionTime | 1666991000899 |
@log | <account-id>:/ aws/vpc/flowlogs |
@logStream | eni-0123456789000000-all |
@message | 2 <account-id> 'eni-0123456789000000' 185.x.x.x 10.10.2.222 55116 11211 17 1 43 1666990939 1666990966 REJECT OK |
@timestamp | 1666990939000 |
accountId | <account-id> |
action | REJECT |
octets | 43 |
dstAddr | 10,10.2.222 |
dstPort | 11211 |
end | 1666990966 |
interfaceId | 'eni-0123456789000000' |
logStatus | OK |
paquets | 1 |
protocole ; | 17 |
srcAddr | 185.x.x.x |
srcPort | 55116 |
démarrer | 1666990939 |
version | 2 |