【AWS初心者向け】AWS Inspector V2で EC2 Instance の脆弱性情報をS3にエクスポート手順

どうも、クラ本部の黒田です。
紅葉の季節になって来ましたね。
土曜日はクラ本部のBBQ大会です。
それぞれの現場で、普段中々会えない方々にお話聞けて、良かったです。
定期的に交流の場として、とても大事ですね。
file

BBQ大会主催者のいなむらさん、大変お疲れ様でした。
プロジェクト管理も忙しいのに、感謝しております。
久しぶりに現場のみなさんとお話できて、とても楽しかった一日でした。

協栄情報では、来年に向けて、クラ本部をチームメンバー募集中、
ご興味のある方、是非黒田までご連絡お待ちしております。

さて、今回は、AWS Inspectorについて、ご紹介し、 EC2 Instance OSの脆弱性情報の確認手順を解説します。

はじめに

file
AWS Inspectorとは

Amazon Inspector は、ソフトウェアの脆弱性や意図しないネットワークのエクスポージャーがないか継続的に AWS ワークロードをスキャンする自動脆弱性管理サービスです。

Inspector機能について

・ Amazon EC2、AWS Lambda 関数、Amazon ECR などの AWS ワークロードにおけるソフトウェアの脆弱性や意図しないネットワークへの露出をほぼリアルタイムで検出します。
・ 監視対象のすべてのリソースのソフトウェア部品表 (SBOM) エクスポートを一元管理します。
・ 非常に正確なAmazon Inspectorリスクスコアを使用して、修復の優先順位を効率的に決定してください。
・ Amazon EventBridge と AWS Security Hub の統合により、修復までの平均時間 (MTTR) の脆弱性を削減し、ワークフローを合理化します。

AWS Inspectorを使用するメリットは何だろうか。

  1. セキュリティの評価と脆弱性の特定: AWS Inspectorは、AWSリソースをスキャンし、セキュリティの問題や脆弱性を特定します。これにより、システムの脆弱性を素早く発見し、対処することができます。

  2. 自動化された監査: AWS Inspectorは、エージェントをデプロイせずに自動的にリソースをスキャンします。このため、手動での監査作業を大幅に削減できます。

  3. 評価結果の重要度の設定: AWS Inspectorは、評価結果に重要度を付与します。重大な脆弱性から低リスクの問題まで、優先順位をつけて報告することができます。

  4. コンプライアンスの評価: AWS Inspectorは、セキュリティ基準やコンプライアンス要件に対する準拠状況を評価します。組織のセキュリティポリシーを遵守しているかどうかを確認できます。

  5. 通知とアラート: AWS Inspectorは、定期的にスキャンを実行し、新たな脆弱性やセキュリティの問題が発生した場合に通知を送信します。これにより、リアルタイムで問題に対処できます。

  6. プラットフォームのサポート: AWS Inspectorは、LinuxやWindowsなど複数のプラットフォームをサポートしています。さまざまな環境で利用できます。

  7. 継続的な改善: AWS Inspectorの利用により、セキュリティの改善が可能です。定期的なスキャンと評価により、セキュリティの向上を継続的に行えます。

これらのメリットにより、AWS Inspectorを利用することで、AWS環境のセキュリティを強化し、脆弱性やセキュリティの問題に迅速に対応することができます。

Amazon Inspector がサポートするオペレーティングシステム

プラットフォーム サポートされているアーキテクチャ
Amazon Linux 2 x86_64, arm64
Amazon Linux x86_64, arm64
Ubuntu x86_64
CentOS x86_64
RHEL x86_64
SLES x86_64
Windows Server 2019 x86_64
Windows Server 2016 x86_64
Windows Server 2012 R2 x86_64

最新の情報については公式のAWS Inspectorのドキュメントやリリースノートを参照してください。https://docs.aws.amazon.com/ja_jp/inspector/

AWS Inspectorを使ってEC2サーバに対して何か出来るか?

  1. InspectorはEC2インスタンスを対象にする: AWS Inspectorは、主にEC2インスタンスを対象にセキュリティの評価を行います。InspectorはEC2インスタンス内部のセキュリティ設定や脆弱性を評価し、報告します。

  2. EC2インスタンスにエージェントをデプロイする場合がある: Inspectorは通常、エージェントをデプロイすることなくインスタンスをスキャンしますが、一部の評価においてはエージェントが必要な場合もあります。

  3. InspectorはOSに依存しないが、OSの設定を評価する: Inspector自体は特定のOSに依存しませんが、EC2インスタンスのオペレーティングシステム(OS)の設定やセキュリティの問題を評価します。つまり、LinuxやWindowsなどのさまざまなOSに対応しています。

  4. OSのパッチ適用やセキュリティ設定の評価: Inspectorは、EC2インスタンスのOSに関連するセキュリティの問題や脆弱性を特定します。例えば、未適用のセキュリティパッチや不適切な設定がある場合に警告を発行します。

  5. Inspectorの結果を元に対策を実施する: Inspectorの評価結果を元に、必要な対策を実施することで、EC2インスタンスのセキュリティを向上させることができます。これにより、システムの脆弱性を低減し、セキュリティを強化できます。

要するに、InspectorはEC2インスタンスのセキュリティ評価を行い、OSの設定やセキュリティの問題を特定します。これにより、EC2インスタンスのセキュリティを向上させるための手段を提供します。

構成図

file

事前準備

S3 バケットポリシーを設定する

  1. https://console.aws.amazon.com/s3 で Amazon S3 コンソールを開きます。

  2. ナビゲーションペインで、[Buckets] (バケット) を選択します。

  3. 結果レポートを保存する S3 バケットを選択します。

  4. [アクセス許可] タブを選択します。

  5. [バケットポリシー] セクションで、[編集] を選択します。

  6. 以下のサンプルステートメントをクリップボードにコピーします。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "allow-inspector",
            "Effect": "Allow",
            "Principal": {
                "Service": "inspector2.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:AbortMultipartUpload"
            ],
            "Resource": "arn:aws:s3:::bucketname/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "<AWS アカウントID>"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:inspector2:ap-northeast-1:<AWS アカウントID>:report/*"
            }
        }
    ]
}

※ 注意点:region、account-id、S3バケット名などの値は実際の環境に合わせて適切な値に置き換える必要があります。

Amazon Inspector用のKMS keyを設定する

  1. AWS KMS コンソール (https://console.aws.amazon.com/kms) を開きます。

  2. AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。

  3. ナビゲーションペインで、[カスタマーマネージドキー] を選択します。

  4. レポートの暗号化に使用する KMS キーを選択します。キーは対称暗号化 (SYMMETRIC_DEFAULT) キーである必要があります。

  5. [Access policy] (アクセスポリシー) タブで [Edit] (編集) を選択します。[編集] ボタンのあるキーポリシーが表示されない場合は、まず [ポリシービューに切り替え] を選択する必要があります。

  6. 以下のステートメントの例をクリップボードにコピーします。

    {
    "Version": "2012-10-17",
    "Id": "key-consolepolicy-3",
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<AWSアカウントID>:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow Amazon Inspector to use the key",
            "Effect": "Allow",
            "Principal": {
                "Service": "inspector2.amazonaws.com"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*"
           }
        }
    ]
    }

手順実施

  1. Inspector画面に移動する:

    • AWS Management Consoleにログインし、Inspectorのダッシュボードにアクセスします。
      file
  2. メニューアイコンをクリック:

    • 画面左上にあるメニューアイコン(通常は3本の水平線)をクリックします。
      file
  3. 「検出結果」を選択:

    • メニュー欄にある「検出結果」の中から「すべての検出結果」を選択します。
      file
  4. フィルターの追加:

    • ページ上部にある「フィルターを追加」をクリックします。
  5. リソースIDを選択:

    • ドロップダウンメニューから「リソースID」を選択します。
  6. 対象インスタンスIDを入力:
    file

    • 具体的な対象のEC2インスタンスIDを入力します。
  7. Applyを選択:

    • 「Apply」ボタンをクリックして、フィルターを適用します。
      file
  8. 検出結果をエクスポート:

    • ページの右上にある「検出結果をエクスポート」をクリックします。
      file
  9. エクスポート設定の項目:

    • ダイアログボックスが表示されるので、まずはファイルタイプを選択します。
  10. エクスポートの場所の項目:

    • 次に、「S3を参照」をクリックし、エクスポート先のS3バケットを選択します。
  11. KMDキーの検索:

    • KMSキーを選択するために「KMDキーの検索」欄をクリックします。InspectorのKMSキーを選択します。
      file
  12. Exportをクリック:

    • 最後に、「Export」ボタンをクリックしてエクスポートを実行します。
    • エクスポート進行中からエクスポートされましたに切り替えます。
      file
    • [View report]をクリックすると、S3のページにて、CSVファイルをダウンロードします。
      file
    • サンプルCSVファイル
      file

最後に

以上の手順に従って、検出結果をエクスポートできます。ダウンロードしたファイルを開いて、詳細を分析してください。
検出結果のレベルに合わせて、理解した上で適切に対応しましょう。
Amazon Inspector の調査結果の重要度レベル

Amazon Inspection の検出結果に対するAmazon Invents EventBridge

では、皆さん、また次回お会いしましょう。

年末の社員旅行、楽しみぃ!!!

AWS Lambdaを使ってAmazon Personalizeの推薦情報をCSVでS3にエクスポートする方法
Amazon Linux 2から Amazon ElastiCache for Redis にSSL接続する
AWS RDS for Oracleメモリー不足際の解決案

more…

↑↑↑クラ本部メンバーが書いた記事のご紹介 ↑↑↑、合わせてやってみるのもいいかと

Last modified: 2023-10-22

Author