こんばんは。小寺です。
簡単にできるセキュリティ強化対策として、今日はAmazon Inspectorについて、簡単にまとめてみました。
Amazon Inspectorとは
Amazon Inspectorとは、EC2に対する脆弱性診断を行うサービスです。Amazon Inspector v2がリリースされ、ECRに対する脆弱性診断もできる様になりました。このInspector v1とv2においてはコンテナを利用者にとっては大きな違いがあります。
InspectorでのスキャンとECRのスキャン機能を比較してみます。
Inspectorスキャン(v2)拡張 | ECR のスキャン機能 | |
スキャンエンジン | AWSが開発した脆弱性管理サービス | OSS |
パッケージ | OSとプログラミング言語 (Python、Java、および Ruby など) パッケージの両方対応 | OSのみ |
スキャン頻度 | 継続的なスキャンあり | プッシュ時のみ |
脆弱性スコア | NVDとベンダーの両方から、Inspector スコアと共通脆弱性評価システム (CVSS) v2 および v3 スコア | CVSSのv2のみ |
AWS サービスの統合 | AWS Security Hub、AWS Organizations、AWS EventBridge | 統合はなし |
また2023年の1月には、Amazon Inspector が AWS Lambda 関数をサポートするようになり、サーバーレスコンピューティングワークロードの継続的な自動脆弱性評価機能が追加されました。この拡張された機能により、Amazon Inspector は Lambda 関数コードで使用されるアプリケーションパッケージの依存関係におけるソフトウェアの脆弱性を識別するようになりました。
過去のコラムはこちらから。
Amazon Inspectorの特長
・自動検出と継続的なスキャンができる
手動でスケジュール設定を行う必要はないのが一つのメリットです。変更があった際には、自動的にリソースをスキャンしてくれます。
スキャン対象として識別された Amazon ECR に存在するすべての Amazon EC2 インスタンス、Lambda 関数、およびコンテナイメージが自動的に検出され、ソフトウェアの脆弱性や意図しないオープンネットワークパスがないかどうかのスキャンがすぐ行われます。
新しい CVE が公開されたとき、または EC2 インスタンスへの新しいソフトウェアのインストール等、ワークロードに変更があったときには継続的にスキャンがされる仕組みです。
・SSMエージェントの利用
SSMエージェントを使って、Amazon EC2 インスタンスのソフトウェアのインベントリと設定を収集します。インベントリについては、脆弱性の評価に使われます。
・リスクスコアが可視化できる
CVE情報と紐づけたリスクスコアの算出ができます。調査結果に優先順位付けができるので、最も重要な調査結果と脆弱なリソースがハイライトで表示されます。
・詳細なモニタリングができる
ほぼリアルタイムのビューを見ることができます。Amazon Inspector を使用するアカウント、Amazon EC2 インスタンス、Amazon ECR リポジトリ、Amazon Inspector によってアクティブにスキャンされているコンテナイメージに関するメトリクスと詳細情報の確認を行うことができます。
さらに、アクティブに監視されていないリソースを強調表示し、どうやってInspectorを追加するかのガイダンスを提供します。
・他サービスと組み合わせて利用する
検出結果については、Amazon Inspector コンソールに集約されます。他のセキュリティサービスであるAWS Security Hub と組み合わせて利用できます。
Amazon EventBridgeからAWSLambda 関数と Amazon Simple Notification Service (Amazon SNS)へ通知を行い、チケット発行などのワークフローが自動化されます。
有効にしてみる
(1) 「Inspectorをアクティブ化」をクリックします。
(2) 早速「最初のスキャンが開始されました」メッセージが表示されます。
(3) 検出結果からそれぞれの脆弱性を確認することができます。
(4) ダッシュボードでは、どの程度スキャンでカバレッジができているかも確認ができます。検証した環境では、instanceを停止しておけば、50%と表示されていることが確認できました。
Amazon Inspectorの料金
ずっと継続的なスキャンをしているってお金がかかりそうって思いますよね。Amazon Inspector では、実際に使用した分に対してのみ料金が発生します。最低料金や前払いの義務はありません。
2023年6月時点の利用料金です。正式な金額は公式ページからご確認をお願いします。
・1 か月にスキャンされた Amazon EC2 インスタンスの平均数* インスタンスごとに 1.512USD
・1 か月あたりの Amazon ECR へのプッシュ時に最初にスキャンされたコンテナイメージの数 イメージごとに 0.11USD
・1 か月あたりの連続スキャン用に設定された Amazon ECR のコンテナイメージの自動再スキャンの数 再スキャンごとに 0.01USD
・AWS Lambda 関数の月間平均スキャン数** AWS Lambda 関数ごとに 0.36USD
活用を進めるための仕組み化も
脆弱性を確認するだけではなく、検出されたスコアハイの脆弱性になるべく迅速かつ自動的に対応できる仕組み化が必要ですよね。
そのためには、運用しているメンバー全員が確認できる通知、見える化、通知を放置しないPDCAが大切です。ある社内のプロジェクトでは、Security HubからEventBridgeとSNS連携を行い、リスクの重要度に応じて通知する運用をしてます。
Systems Manager Session Managerで検証環境はパッチのベースラインを作成して、自動適用にしておくことも選択肢の一つかもしれないですね。また検証環境でアプリケーションの正常稼働が確認した後、期間を空けずに本番環境への適用ができると良いかと思います。
まとめ
Amazon Inspectorについてご紹介しました。Amazon Inspectorはサーバの脆弱性を検知し、セキュリティの強化という観点ではぜひ利用を推奨のサービスです。