0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VPC Network Access Analyzer でネットワークセキュリティを確認してみる

Last updated at Posted at 2022-04-17

AWS VPC にネットワークセキュリティを確認する Network Access Analyzer 機能があることに気がついたので、ちょっと試してみました。
image.png
情報はこのあたりから。

まずは用意された設定を使ってみる

以下のように4つの Network Access Scopes が作成済みだったので、とりあえず AWS-VPC-Ingress を試してみます。
image.png
JSON 形式で設定内容を表示させてみた結果が以下です。

{
  "networkInsightsAccessScopeId":"nis-00ada90ffc919f190",
  "matchPaths":[
    {
      "source":{
        "resourceStatement":{
          "resources":[],
          "resourceTypes":[
            "AWS::EC2::InternetGateway",
            "AWS::EC2::VPCPeeringConnection",
            "AWS::EC2::VPCEndpointService",
            "AWS::EC2::TransitGatewayAttachment",
            "AWS::EC2::VPNGateway"
          ]
        }
      },
      "destination":{
        "resourceStatement":{
          "resources":[],
          "resourceTypes":[
            "AWS::EC2::NetworkInterface"
          ]
        }
      }
    }
  ],
  "excludePaths":[]
}

私の今の AWS 環境は Cloud9 環境だけしか作成していないシンプルな状態なのですが、とりあえず実行した結果が以下になります。
image.png
結果が2つ表示されていますが、比べてみたら InternetGateway でインバウンドヘッダーの送信元アドレスが違うだけのようでした。CIDR の範囲内で最大と最小のIP Address がそれぞれ表示されているので、範囲内を調べて両端の2つだけ報告してくれる感じ?ですかね。

そして各行を選択すると下に詳細が表示され、各要素をクリックすることで詳細情報の確認ができます。これは便利ですね。
image.png

自分で設定を定義してみる

「Network Access Scope の作成」から独自の設定を定義できます。とりあえず「空のテンプレート」から始めてみます。
image.png

わりとわかりやすい設定画面が開き、送信元・送信先・除外条件などを定義できます。
image.png
とりあえず EC2 から InternetGateway への 443 ポート tcp アクセスを設定してみた結果がコチラ。

{
  "networkInsightsAccessScopeId":"nis-05b34bf95e3863463",
  "matchPaths":[
    {
      "source":{
        "packetHeaderStatement":{
          "sourceAddresses":[],
          "destinationAddresses":[],
          "sourcePorts":[],
          "destinationPorts":[
            "443"
          ],
          "sourcePrefixLists":[],
          "destinationPrefixLists":[],
          "protocols":[
            "tcp"
          ]
        },
        "resourceStatement":{
          "resources":[],
          "resourceTypes":[
            "AWS::EC2::Instance"
          ]
        }
      },
      "destination":{
        "packetHeaderStatement":{
          "sourceAddresses":[],
          "destinationAddresses":[],
          "sourcePorts":[],
          "destinationPorts":[
            "443"
          ],
          "sourcePrefixLists":[],
          "destinationPrefixLists":[],
          "protocols":[
            "tcp"
          ]
        },
        "resourceStatement":{
          "resources":[],
          "resourceTypes":[
            "AWS::EC2::InternetGateway"
          ]
        }
      }
    }
  ],
  "excludePaths":[
    {
      "throughResources":[
        {
          "resourceStatement":{
            "resources":[],
            "resourceTypes":[
              "AWS::EC2::TransitGatewayAttachment"
            ]
          }
        }
      ]
    }
  ]
}

以下が実行結果です。想定したとおり、1種類のパスが動作していることが確認できました。
image.png
Network Access Scope の設定ですが、アドレス指定にプリフィックスリストが使えるあたり、ちょっと嬉しいかも。
image.png

ちなみに費用ですが「分析された Elastic Network Interface (ENI) ごとに 0.002 USD」とあり、今回の独自定義だと結果に2個と表示されているので、1ドル125円で計算し、1回あたり0.5円ぐらいかな。これぐらいの値段なら気軽に試せそうです!
image.png

⇒ 何度か分析した結果、翌日に費用を確認したら合計で 0.02$、約 2.5 円ほど請求されていました。

というわけで

VPC Network Access Analyzer かなり便利そうですね。

ネットワーク設定後に疎通確認したい場合など、踏み台サーバから ping 打ったりしなくても、この機能で楽々試せそうです。そしてこれが本来の使い方だと思いますが、定期的にガッツリ広範囲で確認し、遮断漏れの検知もできます。

仕事用の環境でも、いろいろ設定して確認してみようかな。

それではまた。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?