Aller au contenu

Référence VPC Flow Logs

Senrigan charge les Amazon VPC Flow Logs depuis la même copie S3 que CloudTrail et permet de les chasser sur la page agent 🌊 VPC Flow et dans le tableau de bord VPC Flow Logs Threat Hunting.

Mise en place

Copiez tout le préfixe AWSLogs/. Chaque fichier est aiguillé d'après son nom d'objet AWS ; les digests, AWS Config, les journaux ELB et les autres fichiers sont ignorés et comptés dans le résumé d'ingestion.

aws s3 sync s3://<your-bucket>/AWSLogs/ docker/logs/AWSLogs/
make ingest
make up

Ce qui est ingéré

  • Les flow logs en texte brut (.log.gz), au format par défaut ou personnalisé, dans la disposition S3 par défaut, horaire ou compatible Hive. Tous les champs documentés par AWS sont conservés, y compris ceux ajoutés plus tard.
  • Les flow logs au format Parquet ne sont pas pris en charge : ils sont ignorés et comptés.
  • Avec GeoLite2 dans docker/data/geoip/, chaque adresse reçoit pays, ville et ASN ; ingester enrich peut les ajouter après coup.

Lire les preuves de flux

  • Une ligne est un flux observé sur une interface pendant une fenêtre d'agrégation — jamais une connexion. Le trafic interne au VPC est observé deux fois.
  • ACCEPT signifie qu'un groupe de sécurité ou une NACL a autorisé les paquets, pas qu'une session a été établie.
  • Les extrémités locale et distante ne sont certaines que si l'enregistrement contient flow-direction (direction_source = 'record').
  • Les enregistrements rejetés par Block Public Access n'ont pas d'octets, et traffic_path = 2 signifie passerelle Internet ou point de terminaison de passerelle.
  • Le trafic vers le résolveur DNS d'Amazon, les métadonnées d'instance, Time Sync et DHCP n'est jamais journalisé.

🎯 18 chasses intégrées — page 🌊 VPC Flow

Chaque chasse s'exécute sans clé d'API et déclare les champs dont elle a besoin : si les données sélectionnées n'en journalisent pas un, la page signale une couverture insuffisante au lieu d'un résultat vide.

# Chasse Catégorie Gravité
1 🧭 Flow Log Sources and Field Coverage 🧭 Coverage P4
2 🧭 SKIPDATA Gaps by Interface 🧭 Coverage P3
3 🔍 Vertical Port Scans 🔍 Recon P3
4 🔍 Horizontal Sweeps 🔍 Recon P3
5 🚪 Internet Access to Admin / DB Ports 🚪 Exposure P1
6 🚪 Rejected, Then Accepted 🚪 Exposure P2
7 📤 Egress Spike vs Host Baseline 📤 Egress P1
8 📤 Unusual Destination Ports 📤 Egress P2
9 📤 DNS to Non-Amazon Resolvers 📤 Egress P3
10 📤 Outbound SMTP 📤 Egress P3
11 ⏱️ Periodic Observations to External Peers ⏱️ Periodicity P2
12 ↔️ New Internal Admin-Port Pairs ↔️ Lateral Movement P1
13 ↔️ Internal Inbound, Then External Egress ↔️ Lateral Movement P2
14 🧪 Unusual IP Protocols 🧪 Protocols P3
15 🧪 UDP Fan-Out to External Hosts 🧪 Protocols P3
16 🧪 ICMP and ICMPv6 Peers 🧪 Protocols P4
17 🌍 Accepted Inbound by Country 🌍 GeoIP P4
18 🛡️ BPA and Encryption-Control Rejections 🛡️ Posture P3

📊 Tableau de bord de 50 graphiques — VPC Flow Logs Threat Hunting

Commencez par l'onglet Coverage : il montre quels abonnements, champs et périodes les autres onglets peuvent voir.

# Graphique Onglet
1 Flow Log Sources 🧭 Coverage
2 Capture Scope from CloudTrail 🧭 Coverage
3 NODATA / SKIPDATA Windows 🧭 Coverage
4 Records by Direction Source 🧭 Coverage
5 Field Availability by Source 🧭 Coverage
6 Flow Records 🚦 Overview
7 Bytes Observed 🚦 Overview
8 REJECT Ratio 🚦 Overview
9 Distinct External Peers 🚦 Overview
10 Interfaces Observed 🚦 Overview
11 SKIPDATA Windows 🚦 Overview
12 Flow Records by Action 🚦 Overview
13 Bytes by Direction 🚦 Overview
14 Top Rejected External Sources 🔍 Inbound / Recon
15 Vertical Scan Candidates 🔍 Inbound / Recon
16 Horizontal Scan Candidates 🔍 Inbound / Recon
17 Internet to Admin / DB Ports — Accepted 🔍 Inbound / Recon
18 SYN-Only Records from External Sources 🔍 Inbound / Recon
19 REJECT then ACCEPT — Same Peer, Target and Port 🔍 Inbound / Recon
20 Top External Destinations by Bytes 📤 Egress
21 Egress Volume vs Host Baseline 📤 Egress
22 Egress Bytes by Traffic Path 📤 Egress
23 Unusual Destination Ports 📤 Egress
24 DNS to Non-Amazon Resolvers 📤 Egress
25 Outbound SMTP 📤 Egress
26 Long-Running and Low-and-Slow Flows 📤 Egress
27 Periodic Flow-Log Observations ⏱️ Periodicity
28 Internal Admin-Port Traffic ↔️ Lateral Movement
29 First-Seen Internal Pairs ↔️ Lateral Movement
30 Internal Fan-Out by Source ↔️ Lateral Movement
31 Internal Inbound Followed by External Egress ↔️ Lateral Movement
32 ICMP / ICMPv6 Peers 🧪 Protocols & IPv6
33 UDP Fan-Out to External Hosts 🧪 Protocols & IPv6
34 Unusual IP Protocols 🧪 Protocols & IPv6
35 IPv6 Flows 🧪 Protocols & IPv6
36 Inbound Countries 🌍 GeoIP
37 Outbound Countries 🌍 GeoIP
38 External ASNs 🌍 GeoIP
39 Inbound Accepted — Origin Map 🌍 GeoIP
40 Inbound Rejected — Origin Map 🌍 GeoIP
41 Outbound Bytes — Destination Map 🌍 GeoIP
42 Inbound Records by Country and Action 🌍 GeoIP
43 Inbound Accepted Ports by Country 🌍 GeoIP
44 Top Outbound ASNs by Bytes 🌍 GeoIP
45 Rare Outbound Countries 🌍 GeoIP
46 REJECT Reasons (BPA / Encryption Controls) 🛡️ Posture
47 Encryption Status 🛡️ Posture
48 Egress to AWS Services by Path 🛡️ Posture
49 Middlebox Interfaces 🛡️ Posture
50 Egress Heatmap (UTC Hour × Weekday) 🛡️ Posture