LoginSignup
10
10

More than 3 years have passed since last update.

【初心者】AWS VPC Traffic Mirroring を使ってみる

Posted at

目的

  • オンプレ時代にネットワークにTAPを入れてwireshark等でパケットキャプチャするような仕事があったが、同じようなことをAWSでできると聞いたため、どんなものかを確認してみることにした。

VPC Traffic Mirroring とは(自分の理解)

  • 特定のENIを通るトラフィックをミラーリングして、別のENIもしくはNLBに出力できる。

やったこと

  • インスタンス1(Amazon Linux2) と インスタンス2(WS2019) を作成する。インスタンス2には、RDP用のENIとミラーリングを受ける用のENIの2つをアタッチする。
  • インスタンス1にアタッチしたENIをミラーリングのSource、インスタンス2にアタッチしたENIをミラーリングのTargetに設定する。
  • インスタンス1にssh接続する。そのパケットをインスタンス2のwiresharkでキャプチャして、sshの通信を表示する。

構成図

vpc-trafficmirror.png

作業手順

インスタンス作成

  • インスタンス1(Amazon Linux2),インスタンス2(WS2019) を作成する。VPC Traffic Mirroringを行うには、SourceとなるENIをアタッチするインスタンスがNitro世代である必要あり(2019/11時点)。そのため、今回はインスタンス1は、t3.nanoを使用する。インスタンス2は何でもよい。
  • インスタンス2には追加のENIをアタッチする。追加したENIはOS上ではethernet 3として認識された。
  • インスタンス2にWireshark(パケットキャプチャ用ツール)をインストールする。

VPC Traffic Mirroringの設定

VPCのメニュー画面にて、以下の順で設定を行う。

  • Targetの設定: 
    • ミラーリングの出力先となるENIもしくはNLBをTargetとして設定する。
    • 今回は出力先はインスタンス2の追加ENI(RDPに使わないほう)を指定する。
  • Filterの設定: 
    • Sourceのトラフィックに対し、ミラーリングに出力させる前にFilterをかけることができる。
    • 今回はtcp全てを取得するよう設定する。
  • Sessionの設定: 
    • 「SourceのENI」、「Filter」、「Target」の3つを組み合わせて、Traffic MirroringのSessionを作成する。
    • 今回はSourceはインスタンス1のENIとし、FilterとTargetは先に作ったものを使用する。
    • ミラーリングを行う際、元のパケットがVXLANでカプセル化される。VXLANのVNI(識別用ID)が自動設定される。

ssh トラフィックのミラーリングとパケットキャプチャ

  • インスタンス2でWiresharkを起動し、ethernet 3の通信をキャプチャする設定にした上で、手元のPCからインスタンス1へssh接続を行う。

gamen04a.png

  • x.x.x.233(手元のPC)から、10.0.1.249(インスタンス1のENI)へのssh通信が、インスタンス2にてキャプチャできている。また、パケットがVXLANでカプセル化されていることも確認できる。

所感

  • 今までNetwork型IDSはAWSには設置不可という考え方だったが、TargetとしてIDSを指定すればそれも可能になりそう。

参考

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10