概要
AWS 環境が拡大するにつれて、セキュリティグループやネットワーク ACL、ルートテーブルなどのネットワーク設定が複雑化し、意図しないアクセス経路が生まれるリスクが高まります。手動ですべてのネットワーク設定を確認するのは現実的ではなく、見落としがセキュリティインシデントにつながる可能性があります。
Network Access Analyzer は、VPC 内のネットワークアクセスを自動的に分析し、意図しないアクセス経路を検出するサービスです。ネットワークアクセススコープと呼ばれる分析条件を定義し、その条件に合致するアクセス経路を特定できます。
本記事では、Network Access Analyzer の基本概念を理解し、ネットワークアクセススコープの作成と分析の実行を通じて、ネットワーク設定の検証方法を体験します。

クラウドおさるバナナ倉庫に外から入れる道がいくつあるか、地図で一度に洗い出せたら楽でござるな。この記事では、インターネットから EC2 に届く経路を Network Access Analyzer で見つけるところを確かめるでござる。
この記事のメリット
- Network Access Analyzer を使ってネットワークアクセスの分析を実行する方法を習得できる
- ネットワークアクセススコープの概念と作成方法を理解できる
- インターネットからの意図しないアクセス経路を検出する手法を体験できる
- セキュリティグループやネットワーク ACL の設定を効率的に検証する方法を把握できる
- ネットワークセキュリティの定期的な監査に活用できる知識を得られる
執筆者とキャラクター紹介
執筆者:土肥(とひ)
株式会社ジェニュインの代表であり元エンジニア。これまでオンプレミスと AWS 環境のインフラ業務を担当。AWS 認定資格の学習で得た知識を、ハンズオンとともに解説するのが得意。直近では新人の教育も行っており、これから技術を学ぶ方が納得できる解説を心がけています。基礎編・Cloud Practitioner の記事では、解説役としても登場します。


クラウドおさる



はじめましてでござる。弊猿はクラウドおさる。IT インフラが異常に発達した猿山から、雲に乗って地上の AWS を学びに降りてきたのでござる。



基礎編や Cloud Practitioner の記事では、とひさんに素朴な疑問をぶつける役でござるな。Security - Specialty などの記事では、要所でワンポイントや注意点をひとこと添えるでござる。



猿山にもデータセンターや監視当番があって、地上で起きることはだいたい猿山にも同じ仕組みがあるのでござる。例え話がつい猿山に寄るのは、弊猿の癖でござる。
技術解説



とひさん、Network Access Analyzer というサービスを見つけたでござる。これはどういうものでござるか?
Network Access Analyzer は、Amazon VPC の機能の一つで、AWS ネットワーク内のネットワークアクセスを分析するサービスだよ。セキュリティグループ、ネットワーク ACL、ルートテーブル、VPC ピアリング、Transit Gateway なんかのネットワーク設定を総合的に評価して、指定した条件に合致するアクセス経路を検出してくれるんだ。



総合的に評価してくれるのでござるな。具体的には、どんな場面で使うのでござる?
主なユースケースはこんな感じだね。
- インターネットからの意図しないインバウンドアクセスの検出
- 信頼されたネットワーク境界外からのアクセス経路の特定
- コンプライアンス要件に基づくネットワークアクセスの検証
- ネットワーク設定変更後の影響分析



セキュリティグループなどを一つ一つ確認しなくても、まとめてチェックできるということでござるな! 猿山で言えば、門番・柵・抜け道を一か所ずつ見て回らずに、「外からバナナ倉庫まで入れる道はあるか」を一度に調べてもらえるようなものでござる。
そのとおり。次に、分析の条件を定義する「ネットワークアクセススコープ」について説明するね。これは「どこから」「どこへ」のアクセスを分析するかを指定するものなんだ。



スコープには、どんな設定項目があるのでござるか?
主な構成要素はこの表のとおりだよ。
| 構成要素 | 説明 |
|---|---|
| ソース | アクセスの送信元(例: インターネットゲートウェイ、特定の VPC、CIDR 範囲) |
| デスティネーション | アクセスの送信先(例: EC2 インスタンス、特定のサブネット) |
| プロトコル / ポート | 分析対象のプロトコルとポート番号 |
| 除外条件 | 分析結果から除外するアクセス経路 |



全部自分で定義しないといけないのでござるか? 弊猿には少々大変そうでござる…
安心して。Amazon が作ったスコープが最初から 4 つ入っていて、そのまま分析したり、コピーして手直ししたりできるよ。たとえば AWS-VPC-Ingress は、インターネットゲートウェイだけじゃなくて、こういう入口から VPC に入ってくる経路をまとめて洗い出すんだ。
- インターネットゲートウェイ
- VPC ピアリング接続
- VPC エンドポイントサービス
- VPN
- Transit Gateway
自分でスコープを作るときも、作成画面のテンプレートから始められるよ。今回の実践では「インターネットゲートウェイからのアクセスを識別」のテンプレートを使って、インターネットからの経路だけに絞るんだ。



テンプレートがあるなら、すぐに始められそうでござるな。





分析を実行すると、結果はどんなふうに表示されるのでござる?
分析結果は「Findings(検出結果)」として表示されるよ。各 Finding には以下の情報が含まれるんだ。
- アクセスの送信元と送信先
- 経路上のネットワークコンポーネント(セキュリティグループ、ネットワーク ACL など)
- 許可されているプロトコルとポート範囲



検出されたものは、全部問題のあるアクセスということでござるか?
いや、そうとは限らないよ。検出結果には、意図したアクセスと意図しないアクセスの両方が含まれる場合があるんだ。だから、運用者が各 Finding を確認して、意図しないアクセスに対して是正措置を講じることが重要なんだよ。



なるほど、結果を見て判断するのは人間の役割なのでござるな。猿山でも、見回りの報告に「裏門が開いている」とあれば、それが荷運びのためか戸締まり忘れかを決めるのは当番の猿でござる。
実践
前提条件
- リージョン:
ap-northeast-1(東京) - 以下のリソースが作成済みであること
| リソース種別 | リソース名 | 用途 |
|---|---|---|
| VPC | naa-lab-vpc | 検証用 VPC(CIDR: 10.0.0.0/16) |
| パブリックサブネット | naa-lab-public-subnet | パブリックサブネット(CIDR: 10.0.1.0/24) |
| プライベートサブネット | naa-lab-private-subnet | プライベートサブネット(CIDR: 10.0.2.0/24) |
| インターネットゲートウェイ | naa-lab-igw | インターネット接続用 |
| EC2 インスタンス | naa-lab-web | パブリックサブネット上の Web サーバー |
| EC2 インスタンス | naa-lab-db | プライベートサブネット上の DB サーバー |
| セキュリティグループ | naa-lab-web-sg | Web サーバー用 SG(ポート 80、22 を 0.0.0.0/0 から許可) |
| セキュリティグループ | naa-lab-db-sg | DB サーバー用 SG(ポート 3306 を naa-lab-web-sg から許可) |
この実践で作成するリソース
| リソース種別 | リソース名 | 用途 |
|---|---|---|
| ネットワークアクセススコープ | naa-lab-ingress-scope | インターネットからのインバウンドアクセス分析用 |
Network Access Analyzer へのアクセス
AWS マネジメントコンソールにログインし、リージョンが ap-northeast-1(東京)であることを確認します。
Network Access Analyzer は、Network Manager のコンソールにあります。上部の検索バーに Network Access Analyzer と入力し、表示された「Network Access Analyzer」を選択します(Network Manager の左側ナビゲーションの「セキュリティとガバナンス」→「Network Access Analyzer」からも開けます)。
初めて開いたときは、紹介の画面が表示されます。「使用を開始する」をクリックすると、Network Access Scopes の一覧が表示されます。一覧には、Amazon が用意した既定のスコープ(AWS-IGW-Egress、All-IGW-Ingress など)が 4 つ入っています。


ネットワークアクセススコープの作成
「Network Access Scope を作成」をクリックします。作成は「テンプレートを選択」→「定義」→「確認と作成」の 3 ステップです。
ステップ 1 で、テンプレート「インターネットゲートウェイからのアクセスを識別」を選択し、「次へ」をクリックします。
ステップ 2 で以下を設定します。
- 「詳細」の名前:
naa-lab-ingress-scope(入力した名前は Name タグになります) - 「一致条件」の送信元: テンプレートにより、リソースタイプ
AWS::EC2::InternetGatewayが入っています。そのままにします - 「一致条件」の送信先: 「リソースの選択」を「リソース ID」から「リソースタイプ」に切り替え、
Network Interfaces (AWS::EC2::NetworkInterface)を選択します


その他の項目はデフォルトのままにして「次へ」をクリックし、確認画面で「Network Access Scope を作成」をクリックします。


分析の実行
作成した naa-lab-ingress-scope を選択し、「分析」をクリックします。
スコープの詳細画面に切り替わり、分析が始まります(確認の画面はありません)。今回は 1 分ほどで完了しました。


分析結果の確認
分析が完了すると、「最新の分析」タブの「結果」に、インターネットゲートウェイから ENI に到達できるアクセス経路が一覧表示されます。一覧には、開始・終了のリソースや、プロトコル・送信先ポートが並びます。
このスコープは送信元・送信先を「リソースタイプ」で指定しているため、アカウント内のほかの VPC の経路も結果に含まれます。結果の検索ボックスに naa-lab と入力し、今回の前提環境のリソースだけに絞り込みます。


一覧の行を選択すると、右側にアクセス経路の図が表示されます。経路は次の順につながっています。
- 送信元(インターネットゲートウェイ)
- ネットワーク ACL
- セキュリティグループ(許可しているプロトコルとポート範囲も表示されます)
- 送信先(EC2 インスタンスの ENI)


今回の前提環境では、naa-lab-web のセキュリティグループがポート 22(SSH)を 0.0.0.0/0(すべての IP アドレス)から許可しているため、インターネットからの SSH アクセスが検出結果に含まれます。これは意図しないアクセス経路の例であり、ソースを特定の IP アドレスに制限するなどの是正が必要です。



ポート 22 が 0.0.0.0/0 に開いていると、世界中のどこからでも SSH を試せる状態でござる。検出結果は、こうした開けっぱなしの扉を見つけるための手がかりでござるぞ。
意図しないアクセスの是正確認
是正措置として、naa-lab-web-sg の SSH ルールのソースを 0.0.0.0/0 から特定の IP アドレス(例: マイ IP)に変更します。
上部の検索バーに EC2 と入力し、表示された「EC2」を選択します。
左側ナビゲーションの「ネットワーク&セキュリティ」→「セキュリティグループ」を選択し、naa-lab-web-sg を選択します。
「インバウンドルール」タブを選択し、「インバウンドルールを編集」をクリックします。
SSH ルールの「リソースタイプ」を マイ IP に変更します。ソース欄に自分のパブリック IP アドレス(/32)が入ります。「ルールを保存」をクリックします。


Network Access Analyzer に戻り、naa-lab-ingress-scope で再度分析を実行します。SSH(ポート 22)の経路は、インターネットゲートウェイから到達できる経路として引き続き結果に出ますが、セキュリティグループの送信元が 0.0.0.0/0 から自分の IP アドレス(/32)に変わったことが確認できます。Network Access Analyzer はルールが許可している経路を洗い出すツールなので、「経路が残っていてよいか」「送信元は十分に絞られているか」を結果を見て判断します。



設定を直したら、もう一度分析して結果を見比べる。経路が消えるとは限らぬので、送信元がちゃんと絞れたかまで確かめるのが肝でござる。
まとめ
- Network Access Analyzer は、VPC 内のネットワークアクセスを自動的に分析し、意図しないアクセス経路を検出するサービスである
- ネットワークアクセススコープで「どこから・どこへ」の分析条件を定義する
- 分析結果(Findings)には、アクセス経路上のすべてのネットワークコンポーネントが表示される
- インターネットからの意図しないインバウンドアクセスの検出に有効である
- セキュリティグループの設定是正後に再分析することで、是正の効果を確認できる
- 定期的な分析を実施することで、ネットワークセキュリティの継続的な監査が可能になる
参照先
- Network Access Analyzer とは – Amazon VPC
- ネットワークアクセススコープの使用 – Amazon VPC
- Network Access Analyzer の分析結果の使用 – Amazon VPC
- 新機能 – Amazon VPC Network Access Analyzer – Amazon Web Services ブログ











