Amazon Inspectorでネットワークアセスメント(Network Reachability)をやってみた

Amazon Inspectorで、ネットワークアセスメントを実施してみたいと思います。 本エントリでは、Inspectorエージェント有無で評価結果がどのように変化するのかも見てみたいと思います。
2019.10.01

Amazon Inspector(以下、Inspector)で、ネットワークアセスメントを実施してみたいと思います。

ネットワークアセスメントでは、「Network Reachability」ルールパッケージを利用し、 Security Groupなどの各種ネットワークリソースの設定を分析し、 インターネット、Direct Connect、VPCピアリングなどの外部ネットワークから、EC2インスタンスに到達できるかどうかを評価します。

なお、ネットワークアセスメントでは、Inspectorエージェントのインストールが必須ではありません。本エントリでは、Inspectorエージェント有無で評価結果がどのように変化するのかも見てみたいと思います。

目次

  • 構成&前提
  • やってみた
    • 評価ターゲット作成
    • 評価テンプレート作成
    • 評価実行
    • 設定変更後に評価再実行
    • Inspectorエージェントをインストールして評価再実行
  • さいごに

構成&前提

今回は、以下のような構成で評価をしてみたいと思います。

00

ここでは、上記構成が構築済みであることを前提とし、VPC、ピアリング、EC2等の作成については割愛しています。

セキュリティグループ設定

sg-022b8f787e5afa8e5

Public sunet上のEC2にアタッチしたセキュリティグループの設定です。

プロトコルはSSHとICMPで、ソースの指定はありません。

sg-0f7e03a8fe03b0d71

Private sunet上のEC2にアタッチしたセキュリティグループの設定です。

プロトコルはSSHとICMPで、ソースはピアリング先のEC2のみ指定しています。

やってみた

評価ターゲット作成

ここでは評価対象を指定せず、リージョン内に存在するすべてのEC2を評価対象にしたいと思います。以下設定で、評価ターゲットを作成します。

  • 名前……任意の名称
  • All Instances…チェック付与
  • Install Agents…チェックなし

評価テンプレート作成

Network Reachabilityルールパッケージを使用する評価テンプレートを作成します。ここでは、評価の実行を手動にしたいと思います。以下の設定で評価テンプレートを作成します。

  • 名前…任意の名称
  • ターゲット名…先程作成した評価ターゲット
  • ルールパッケージ…Network Reachability-1.1
  • 所要時間…1時間
  • Assessment Schedule…チェックなし

評価実行

評価テンプレート作成時に、Assessment Eventsにチェックを付与していなかったので、InspectorによりCloudWatch Eventsルールは作成されません。手動で評価を実施します。

分析が完了すると、4件の項目が出力されました。

該当の項目をクリックすると結果の詳細が確認できます。

評価結果を和訳してサマってみました。

重要度 結果 説明 推奨事項
Medium インスタンスi-0aa6084a5debc8230は、「SSH」に関連付けられているTCPポート22がインターネットから到達可能です。 このインスタンスにInspectorエージェントをインストールし、評価を再実行して、このポートでリッスンしているプロセスを確認できます。インスタンスi-0aa6084a5debc8230は、VPCvpc-0835f25e675a304c3にあり、ネットワークACLacl-07cca09d958a3b0ffを使用するENIeni-04e2914876b117361が接続されています。ポートはセキュリティグループsg-022b8f787e5afa8e5および、インターネットゲートウェイigw-0807cde62b13d9848を介してインターネットから到達可能です。 セキュリティグループsg-022b8f787e5afa8e5を編集して、ポート22でインターネットからのアクセスを削除できます。
Low インスタンスi-0aa6084a5debc8230は、「SSH」に関連付けられているTCPポート22がピアVPCから到達可能です。 このインスタンスにInspectorエージェントをインストールし、評価を再実行して、このポートでリッスンしているプロセスを確認できます。インスタンスi-0aa6084a5debc8230はVPCvpc-0835f25e675a304c3にあり、ネットワークACLacl-07cca09d958a3b0ffを使用するENIeni-04e2914876b117361が接続されています。ポートは、セキュリティグループsg-022b8f787e5afa8e5および、VPCピアリング接続pcx-083b15ff43f597086を介してピアVPCから到達可能です。 セキュリティグループsg-022b8f787e5afa8e5を編集して、ポート22のピアVPCからのアクセスを削除できます。
Informational インスタンスi-0aa6084a5debc8230は、ポートはENIeni-04e2914876b117361およびセキュリティグループsg-022b8f787e5afa8e5を介してピアVPCから到達可能です インスタンスi-0aa6084a5debc8230、ENIeni-04e2914876b117361およびセキュリティグループsg-022b8f787e5afa8e5では、ピアVPCからtcpポート[22-22]およびudpポートへのアクセスが許可されます。 ENIeni-04e2914876b117361は、アクセス制御リストacl-07cca09d958a3b0ffを持つVPCvpc-0835f25e675a304c3にあります。これらのポートは、VPCピアリング接続pcx-083b15ff43f597086を介してピアVPCから到達可能です。 セキュリティグループsg-022b8f787e5afa8e5を編集して、ピアVPCからのアクセスを削除できます。
Informational インスタンスi-0aa6084a5debc8230では、ポートはインターネットからENIeni-04e2914876b117361およびセキュリティグループsg-022b8f787e5afa8e5を介して到達可能です インスタンスi-0aa6084a5debc8230、ENIeni-04e2914876b117361およびセキュリティグループsg-022b8f787e5afa8e5では、インターネットからtcpポート[22-22]およびudpポートへのアクセスが許可されます。 ENIeni-04e2914876b117361は、アクセス制御リストacl-07cca09d958a3b0ffを持つVPCvpc-0835f25e675a304c3にあります。これらのポートは、インターネットゲートウェイigw-0807cde62b13d9848を介してインターネットから到達可能です セキュリティグループsg-022b8f787e5afa8e5を編集して、インターネットからのアクセスを削除できます。

結果より、Public sunet上のEC2にインターネットおよび、ピアVPCからアクセス可能なことがわかります。また、セキュリティグループなど、どのリソースがアクセスに関連しているかわかる内容になっていました。

設定変更後に評価再実行

セキュリティグループの設定を更新し、評価がどのように変化するのか確認したいと思います。

Public sunet上のEC2にアタッチしたセキュリティグループでソースを指定しました。指定したアドレスは私が利用している環境のグローバルIPです。これにより、VPCピアリング接続(Private sunet上のEC2)からアクセスはできなくなります。

sg-022b8f787e5afa8e5

評価を再実行します。

分析が完了すると、評価結果が4件から2件に減りました。

VPCピアリング関連の項目がなくなり、さきほど同様インターネットから到達可能といった項目のみとなりました。

評価結果を和訳してサマってみました。

重要度 結果 説明 推奨事項
Medium インスタンスi-0aa6084a5debc8230は、「SSH」に関連付けられているTCPポート22がインターネットから到達可能です。 このインスタンスにInspectorエージェントをインストールし、評価を再実行して、このポートでリッスンしているプロセスを確認できます。インスタンスi-0aa6084a5debc8230は、VPCvpc-0835f25e675a304c3にあり、ネットワークACLacl-07cca09d958a3b0ffを使用するENIeni-04e2914876b117361が接続されています。ポートはセキュリティグループsg-022b8f787e5afa8e5および、インターネットゲートウェイigw-0807cde62b13d9848を介してインターネットから到達可能です。 セキュリティグループsg-022b8f787e5afa8e5を編集して、ポート22でインターネットからのアクセスを削除できます。
Informational インスタンスi-0aa6084a5debc8230では、ポートはインターネットからENIeni-04e2914876b117361およびセキュリティグループsg-022b8f787e5afa8e5を介して到達可能です インスタンスi-0aa6084a5debc8230、ENIeni-04e2914876b117361およびセキュリティグループsg-022b8f787e5afa8e5では、インターネットからtcpポート[22-22]およびudpポートへのアクセスが許可されます。 ENIeni-04e2914876b117361は、アクセス制御リストacl-07cca09d958a3b0ffを持つVPCvpc-0835f25e675a304c3にあります。これらのポートは、インターネットゲートウェイigw-0807cde62b13d9848を介してインターネットから到達可能です セキュリティグループsg-022b8f787e5afa8e5を編集して、インターネットからのアクセスを削除できます。

Inspectorエージェントをインストールして評価再実行

Public sunet上のEC2に、Inspectorエージェントをインストールして評価を再実行してみました。

評価結果は2件となりました。Inspectorエージェントのインストールにより、評価結果がどのように変化したか確認したいと思います。

評価結果を和訳してサマってみました。

重要度 結果 説明 推奨事項
Medium インスタンスi-0aa6084a5debc8230で、プロセス「sshd」は「SSH」に関連付けられ、インターネットから到達可能なTCPポート22でリッスンしています。 このインスタンスでは、SSHに関連付けられているTCPポート22は、ポートでリッスンしているプロセスを使用してインターネットから到達可能です。プロセスの名前は「sshd」、プロセスIDは3330で、バイナリ/usr/sbin/sshdを使用します。インスタンスi-0aa6084a5debc8230はVPCvpc-0835f25e675a304c3にあり、ネットワークACLacl-07cca09d958a3b0ffを使用するENIeni-04e2914876b117361が接続されています。ポートは、セキュリティグループsg-022b8f787e5afa8e5およびIGWigw-0807cde62b13d9848を介してインターネットから到達可能です。 セキュリティグループsg-022b8f787e5afa8e5を編集して、ポート22でインターネットからのアクセスを削除できます。
Informational インスタンスi-0aa6084a5debc8230では、ポートはインターネットからENIeni-04e2914876b117361およびセキュリティグループsg-022b8f787e5afa8e5を介して到達可能です。 インスタンスi-0aa6084a5debc8230、ENIeni-04e2914876b117361およびセキュリティグループsg-022b8f787e5afa8e5では、インターネットからtcpポート[22-22]およびudpポートへのアクセスが許可されます。 ENIeni-04e2914876b117361は、アクセス制御リストacl-07cca09d958a3b0ffを持つVPCvpc-0835f25e675a304c3にあります。これらのポートは、インターネットゲートウェイigw-0807cde62b13d9848を介してインターネットから到達可能です。 セキュリティグループsg-022b8f787e5afa8e5を編集して、インターネットからアクセスを削除できます。

Inspectorエージェントをインストールすると、検出したポートで使用されているプロセスの情報が記載されました。

さいごに

Inspectorにてネットワークアセスメントを実施する手順をご紹介しました。

ネットワークアセスメントでは、Inspectorエージェントのインストールは必須ではありませんが、インストールされていると、検出したポートで使用されているプロセス等、より詳細な評価が実施できると思います。ネットワークアセスメントを利用する際は、エージェントの導入を検討してみてはいかがでしょうか。

参考