Slide 1

Slide 1 text

VPC Traffic Mirroring と OSS を利⽤した ネットワークフォレンジック基盤の構築・運⽤ 1 2024/11/18 Security JAWS 須藤 悠

Slide 2

Slide 2 text

⾃⼰紹介 須藤 悠 株式会社リクルート – クラウドアーキテクトG • 2018年リクルートライフスタイル中途⼊社 • 猫を飼ってます Slackのアイコンはうちの猫🐈 • AWS と Terraform が好きです︕ 好きなサービス︓ Organizations 2

Slide 3

Slide 3 text

リクルートグループのうちマッチング&ソリューション事業を推進する会社 ※2012/10 中核事業会社・機能会社に分社 → 2021/4「リクルート」として統合 リクルートについて 3 リクルート ホールディングス リクルートキャリア リクルート住まいカンパニー リクルートライフスタイル リクルートジョブズ リクルートマーケティングパートナーズ リクルートスタッフィング スタッフサービス・ホールディングス ⼈材派遣事業 RGF Staffing B.V. HRテクノロジ―事業 RGF OHR USA, Inc. その他海外派遣グループ会社 Indeed,Inc. Glassdoor,Inc. リクルートテクノロジーズ リクルートコミュニケーションズ 事業 会社 機能 会社 マッチング & ソリューション事業 (株)リクルート

Slide 4

Slide 4 text

リクルートの事業内容について(主なサービス) 4 選択・意思決定を⽀援する情報サービスを提供し、 「まだ、ここにない、出会い。より速く、シンプルに、もっと近くに」を実現する マッチング&ソリューション事業 HRテクノロジー事業 ⼈材派遣事業 国内派遣 海外派遣

Slide 5

Slide 5 text

本⽇のアジェンダ • ネットワークフォレンジック基盤の構成 • ネットワークフォレンジック基盤の歴史 • なぜ VPC Traffic Mirroring なのか • ネットワークフォレンジック基盤の運⽤上の考慮 • VPC Traffic Mirroring を利⽤する上での制約 • Arkimeの機能上の制約 5

Slide 6

Slide 6 text

ネットワークフォレンジック基盤の構成 6 SOC インフラ プロダクト Arkime capture instances NLB EFS Arkime viewer instance OpenSearch 共通ネットワークフォレンジック 基盤の提供 パケット分析環境の提供 共通ネットワークフォレンジック基盤 SOC operator プロダクト ALB AWS WAF application instances ENI Traffic Mirroring https://arkime.com/

Slide 7

Slide 7 text

ネットワークフォレンジック基盤の構成 7 SOC インフラ プロダクト Arkime capture instances NLB EFS Arkime viewer instance OpenSearch 共通ネットワークフォレンジック 基盤の提供 パケット分析環境の提供 共通ネットワークフォレンジック基盤 SOC operator プロダクト ALB AWS WAF application instances ENI Traffic Mirroring M6g.large ×6 R6g.large.search 6+3 nodes 30TB https://arkime.com/

Slide 8

Slide 8 text

ネットワークフォレンジック基盤の歴史 8 2019年 2020年 2021年 2024年 旧リクルートライフスタイルにおいて SOCと連携して VPC Traffic Mirroring + Arkime (当時 Moloch ) の検証・検討を開始 旧リクルートライフスタイルにおいて AWSを利⽤しているプロダクトに ネットワークフォレンジック基盤を 提供開始 リクルートライフスタイルがリクルートに統合 AWSにおける標準構成として 旧リクルートライフスタイル以外の 事業領域へも提供開始 52のAWSアカウントから ネットワークフォレンジック基盤を 利⽤中 VPC Traffic Mirroring GA ↓ 名称変更 OpenSearch Service GA

Slide 9

Slide 9 text

なぜ VPC Traffic Mirroring なのか 9 プロダクトのトラフィック上に 障害点が増えない capture NLB ALB AWS WAF application instances ENI Traffic Mirroring GWLB AWS WAF application instances ALB AWS WAF appliance ALB application instances appliance プロダクトのトラフィック上に 障害点が増える

Slide 10

Slide 10 text

なぜ VPC Traffic Mirroring なのか 10 プロダクトのトラフィック上に 障害点が増えない capture NLB ALB AWS WAF application instances ENI Traffic Mirroring GWLB AWS WAF application instances ALB AWS WAF appliance ALB application instances appliance プロダクトのトラフィック上に 障害点が増える プロダクトの障害原因に なることを避けるため VPC Traffic Mirroringを 採⽤している

Slide 11

Slide 11 text

なぜ VPC Traffic Mirroring なのか 11 プロダクトのトラフィック上に 障害点が増えない capture NLB ALB AWS WAF application instances ENI Traffic Mirroring GWLB AWS WAF application instances ALB AWS WAF appliance ALB application instances appliance プロダクトのトラフィック上に 障害点が増える デメリット︓ トラフィックの100%が ミラーリングされる保証はない プロダクトの障害原因に なることを避けるため VPC Traffic Mirroringを 採⽤している

Slide 12

Slide 12 text

ネットワークフォレンジック基盤の運⽤上の考慮 12 Arkime capture instances NLB EFS Arkime viewer instance OpenSearch ミラーリングに問題が⽣じていないか NetworkSkipMirrorIn, NetworkSkipMirrorOut をはじめとした Traffic Mirroring 関連メトリクスを各アカウントから収集し カスタムメトリクスとして集積・モニタリングしている 共通ネットワークフォレンジック基盤 SOC operator プロダクト ALB AWS WAF application instances ENI Traffic Mirroring Lambda Time-based Trigger CloudWatch Metrics CloudWatch Custom Metrics

Slide 13

Slide 13 text

ネットワークフォレンジック基盤の運⽤上の考慮 13 Arkime capture instances NLB EFS Arkime viewer instance OpenSearch AutoScaling やインスタンス変更への対応として Lambda と STS を利⽤して ALB の TargetGroup 配下のすべてのインスタンスに Mirror Session を張る機能を提供している 共通ネットワークフォレンジック基盤 SOC operator プロダクト ALB AWS WAF application instances ENI Traffic Mirroring Lambda STS AssumeRole Time-based Trigger

Slide 14

Slide 14 text

VPC Traffic Mirroring を利⽤する上での制約 ミラー元として利⽤できるインスタンスタイプが限られ、Fargateにも現在⾮対応 → EC2 か ECS on EC2 を利⽤ 14 ⾮対応のNitroインスタンスタイプ: General purpose: M8g, M6a, M6i, M6id, M6idn, M6in, M7a, M7g, M7gd, M7i, M7i-flex Compute optimized: C8g, C6a, C6gd, C6gn, C6i, C6id, C6in, C7a, C7g, C7gd, C7gn, C7i Memory optimized: R8g, R6a, R6i, R6id, R6idn, R6in, R7a, R7g, R7gd, R7i, R7iz, X8g, X2idn, X2iedn, X2iezn Storage optimized: I4g, I4i, Im4gn, Is4gen Accelerated computing: Inf2, P5, Trn1, Trn1n High-performance computing: Hpc6a, Hpc6id, Hpc7a, Hpc7g ベアメタルインスタンスに⾮対応 対応している⾮Nitroインスタンスタイプ: C4, D2, G3, G3s, H1, I3, M4, P2, P3, R4, X1, and X1e https://docs.aws.amazon.com/ja_jp/vpc/latest/mirroring/traffic-mirroring-network-limitations.html

Slide 15

Slide 15 text

VPC Traffic Mirroring を利⽤する上での制約 ミラー元インスタンス内での MTU 設定が必要となる - VPC Traffic Mirroring は VXLAN プロトコルでカプセル化したパケットを送る - 追加される Header の 54 bytes 分だけ MTU を⼩さくする必要がある → MTU を 8947 bytes に設定 15 https://docs.aws.amazon.com/ja_jp/vpc/latest/mirroring/traffic-mirroring-packet-formats.html

Slide 16

Slide 16 text

Arkime の機能上の制約 S3 Writer は⼤量のトラフィックを捌けないため、ストレージに EFS を利⽤している - 検証したが S3 への Multi-part Upload が壊れてしまう OpenSearch は利⽤できるが OpenSearch Serverless は利⽤できない - OpenSearch Serverless では SigV4 を要求されるが対応していない - OpenSearch Serverless ではサポートされていない API を利⽤している 16

Slide 17

Slide 17 text

まとめ メリット・デメリットをよく理解した上で VPC Traffic Mirroring を利⽤している - 本番トラフィックに影響しないというメリットが⼤きい - デメリットは監視・運⽤を⼿厚くすることでカバーしている VPC Traffic Mirroring を利⽤するシステム構成に制約がある - 現状 EC2 のみなので、 Fargate にも対応されると嬉しい…︕ Arkime の実装による制約もある - 現実解として EFS と OpenSearch を利⽤している 17

Slide 18

Slide 18 text

18 ありがとうございました︕