Amazon Inspector v2 で EKS のノード(EC2)をスキャンしてみた

ドキュメントがないと不安になりますが、やってみると意外に簡単でした
2022.09.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

アノテーション株式会社の hato です。

EKS は Amazon Inspector に対応していますが、実際に設定したことはなかったのでやってみました。

Amazon EKS での設定と脆弱性の分析 - Amazon EKS

Amazon Inspector を使用すると、ノードからネットワークに意図しない接続が可能か、また、それらの Amazon EC2 インスタンスに脆弱性があるかを確認できます。

Amazon Inspector と EKS について

Amazon Inspector は v1(Amazon Inspector Classic)と v2があるので、ご注意ください。詳細については次のブログが参考になると思います。
今回は v2 を使用します。

EKS ノードは、マネージド型・セルフマネージド型・AWS Fargateと選択肢がありますが、今回は EC2 インスタンスのマネージド型ノードグループを使用しています。

Amazon EKS ノード - Amazon EKS

やってみた

  1. Amazon Inspector の有効化
  2. ノードの作成
  3. 前提条件とスキャン結果の確認

Amazon Inspector の有効化

Amazon Inspector コンソールから、[使用を開始する]を選択します。
※Amazon Inspector はリージョンサービスです。お使いのリージョンを選択していることを確認してください。

[Inspector を有効化]を選択します。

ダッシュボードが表示されることを確認します。

ノードの作成

スキャン対象となるノードを含む EKS クラスターを次のブログを参考に構築します。

今回作成されたノード

  • Kubernetes バージョン:1.23
  • AMI:amazon-eks-node-1.23-v20220824 (ami-071e74b0e9b9b764b)

前提条件とスキャン結果の確認

Amazon Inspector v2 では SSM Agent のインストールが必要ですが、今回使用した Amazon EKS 最適化 Amazon Linux AMI では既にインストールされているため、追加の作業は不要となります。

念の為、前提状況を満たしているか確認して、スキャン結果を確認します。

Amazon Inspector コンソールで、アカウント管理 -> インスタンス の順にクリックします。

ステータスが「スキャン」になっていることを確認します。 (前提条件を満たしています)

インスタンス IDのリンクをクリックすると、スキャン結果が表示されます。

※検出された場合の結果例

トラブルシューティング

ステータスで「アンマネージド EC2 インスタンス」などと表示される場合は、AWSSupport-TroubleshootManagedInstance Runbookを使用してトラブルシューティングを行なってください。

実行例

参考資料

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。