どうも、おはこんばんわ。
今更ながら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上のトラフィックをミラーリングできるのはうれしい!
けどカプセル化されるのは正直微妙だと思いました。
又、制約もある為、今後に期待!(公式ドキュメント要確認)