Help us understand the problem. What is going on with this article?

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

目的

  • オンプレ時代にネットワークに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を指定すればそれも可能になりそう。

参考

Why do not you register as a user and use Qiita more conveniently?
  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
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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