Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@kowa22

【AWS】VPC トラフィックミラーリング(Traffic Mirroring)で通信をミラーリングしてみた

どうも、おはこんばんわ。

今更ながらAWSで VPC トラフィックミラーリング(Traffic Mirroring)を実装したかったので、やってみた。
(今回はSplunkのお話しではないです)

公式ドキュメント

・What is Traffic Mirroring?(link)

AWSの構成

+++++++++++++++++++++++
+ N1 < === > N2 === > N3  +
+++++++++++++++++++++++
N1 = Amazon Linux 1
N2 = Amazon Linux 2
N3 = Amazon Linux 3

やりたいこと

N1からN2へSSHを発信し、そのパケットをN3へミラーリングする。
ミラーリング後はWireshark等の解析ツールでパケットの中身を確認する。

ノードのネットワーク情報

ノード IPアドレス インターフェイス
N1 192.168.1.10/24 eni-01
N2 192.168.1.20/24 eni-02
N3 192.168.1.30/24 eni-03

*IPアドレスとインターフェイスはフェイク

使用ポート

通信名 送信元 宛先 UDP/TCP ポート番号 備考
ssh N1 N2 TCP 22 テスト通信
vxlan N2 N3 UDP 4789 仕様上必須の通信

*他の通信でもモニタリング可能です。

トラフィックミラーリングの場所はここ!

①AWS Web
②VPC
③トラフィックのミラーリング(VPCダッシュボード内)

ここから設定していくよ!

ターゲットの設定

ミラーリングしたパケットの宛先と思ってください。

①VPCダッシュボード内の「ターゲットをミラーリングする」をクリック
②「トラフィックミラーターゲットの作成」をクリック
③以下の様に設定
 [ターゲット設定]
 ・名前タグ - オプション
  → テストターゲット(お好み)
 ・説明 - オプション
  → お好み
 [ターゲットを選択]
 ・ターゲットタイプ
  → ネットワークインターフェイス(今回はネットワークインターフェイスを指定)
 ・ターゲット
  → eni-03(N3のインターフェイスを指定)
 [タグ]
  → 今回は無し

フィルターの設定

ミラーリングしたいパケットの指定と思ってください。
①VPCダッシュボード内の「フィルターをミラーリングする」をクリック
②「トラフィックミラーフィルターの作成」をクリック
③以下の様に設定
 [フィルターの設定]
 ・名前タグ - オプション
  → テストフィルター(お好み)
 ・説明 - オプション
  → お好み
 ・ネットワークサービス - オプション
  → 「amazon-dns」No Check
 [インバウンドルール - オプション
]
 ・ルールを追加(以下参照)

番号 ルールアクション プロトコル 送信元ポート範囲 - オプション 送信先ポート範囲 - オプション 送信元 CIDR ブロック 送信先 CIDR ブロック 説明
100 accept すべてのプロトコル 空白 空白 0.0.0.0/0 0.0.0.0/ All_Packet_Mirroring

*個別でパケットを指定する場合は一般的なACLと同様で「番号」による処理順序に注意

 [アウトバウンドルール - オプション
]
 ・ルールを追加
  → 今回は無し
 [タグ]
  → 今回は無し

セッションの設定

①VPCダッシュボード内の「セッションをミラーリングする」をクリック
②「トラフィックミラーセッションの作成」をクリック
③以下の様に設定
 [セッションの設定]
 ・名前タグ - オプション
  → お好み
 ・説明 - オプション
  → お好み
 ・ミラーソース
  → eni-02(N2のインターフェイスを指定)
 ・ミラーターゲット
  → テストターゲット(さっき作成したターゲットを指定)
 [追加設定]
 ・セッション数
  → 1(今回はデフォルト)
 ・VNI - オプション
  → 今回は無し
 ・パケット長 - オプション
  → 今回は無し
 ・フィルタ
  → テストフィルター(さっき作成したフィルターを指定)
 [タグ]
  → 今回は無し

セキュリティグループの設定

テスト用パケットのSSHとVXLANをインバウンドで許可してください。
本機能ではミラーリングするパケットをカプセル化する為、必ずVXLAN(UDP:4789)を許可してください。
今回は割愛。
・公式ドキュメント : Traffic Mirroring packet format(link)
・VXLAN : RFC 7348(link)

あとはN3でTcpdumpや直接Wireshark等で解析を行うだけ。
超簡単!!

その他

AWS上のトラフィックをミラーリングできるのはうれしい!
けどカプセル化されるのは正直微妙だと思いました。
又、制約もある為、今後に期待!(公式ドキュメント要確認)

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
kowa22
パーソル プロセス&テクノロジー株式会社で、Splunkのお仕事をしてます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?