Amazon Inspectorを使って脆弱性診断する

4月 2, 2021AWS,AWS-Security

概要

Amazon Inspectorとは

  • Amazon Inspectorを使ったOS の脆弱性診断を記載します。Amazon Inspectorは、EC2 の脆弱性診断を行うマネージドのホスト型診断サービスです。
  • Amazon Inspectorは、ネットワーク到達可能性(Network Reachability)、脆弱性(CVE)の診断、Center for Internet Security (CIS) ベンチマークの評価を行います。
  • この記事では、脆弱性診断実施後に、yumコマンドによるセキュリティパッチ更新、脆弱性の再診断を行っています。参考にして下さい。

Amazon Inspector がサポートするOS

  • Inspector は、EC2 のみサポートします。サポートOS(Linux, Windows)は、下記を参照。

Amazon Inspector の料金

  • Inspector は、評価に含まれる EC2 インスタンスの数と、選択したルールパッケージのタイプによって決まります。料金詳細は、下記を参照。

 

Inspector による脆弱性診断

  • 今回はInspector を使った脆弱性の診断を行い、脆弱性に対処するためセキュリティパッチを適用します。

対象インスタンスにロールを設定

  • 対象インスタンスに Amazon Inspector Agentをインストールするため、ロールにSSM のポリシーをアタッチします。

 

対象インスタンスにTag を設定

  • 対象インスタンスにTag を設定します。下記の通り、Inspector: ON のTag が付与されています。

 

Inspector のコンソールにアクセス

  • Inspector のコンソールにアクセスし、「今すぐ始める」を選択します。Welcomeページで、「Advanced setup」を選択します。

 

評価ターゲットを作成する

  • Amazon Inspector のコンソールにアクセスし、評価ターゲットの[作成]をクリックします。

 

  • 以下の例では、名前に「EC2 Vulnerability Test」、Use Tagsに「Inspector: ON」を指定、Install Agentsにチェックを付けています。Tag を利用することで、対象インスタンスの管理が増えても評価ターゲットを変更する必要はありません。
  • [保存]を押します。

 

  • 対象インスタンスに Amazon Inspector Agentがインストールできました。

 

評価テンプレートを作成する

  • 評価テンプレートを作成します。評価テンプレートの[作成]をクリックします。

 

  • 以下の例では、名前に「Vulnerability Test template」を指定、ターゲット名に先ほど作成した「EC2 Vulnerability Test」を選択、ルールパッケージに「Common Vulnerabilities and Exposures-1.1」、所要時間に「1 時間 (推奨)」を選択しています。

 

 

  • なお、評価テンプレートを作成後に、初回の評価が実行されます。

 

評価を実行する

  • 手動で評価を実行してみます。評価テンプレートを選択して、[実行]をクリックします。

 

  • 評価が開始されました。

 

  • 評価開始後にステータスが「データを収集中」に変わり、1時間後ステータスが「分析完了」となりました。

 

  • 以下は、評価結果のサマリーです。Inspector が対象インスタンスを評価した結果、38件の潜在的なセキュリティ上の問題が発見されました。

 

  • 結果を選択します。ここでは、Inspector が発見したセキュリティ上の問題を確認できます。Severity FilterにHigh, Medium, Low, Info が選択できます。

 

評価レポートを入手する

  • 評価の実行から、先ほど完了した評価の「Download report」を選択します。レポートタイプに「Findings report」、レポートフォーマットに「HTML」or「PDF」を選択します。

 

  • 以下、評価レポート(HTMLフォーマット)のサンプルです。評価結果のサマリーと発見されたセキュリティ上の問題が報告されています。
  • 評価レポートでは、具体的な脆弱性の説明も記載されています。(例: CVE-2021-3156)

 

yum によるLinuxセキュリティパッチ更新

yum updateinfo / yum update –securityコマンド

  • 次は、yumコマンドによるセキュリティパッチの適用を行います。
  • yum updateinfo コマンド、yum updateinfo list コマンドにて、利用可能なセキュリティアップデートを確認します。
[ec2-user@ip-xx-xx-xx-xx ~]$ yum updateinfo
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Updates Information Summary: updates
    14 Security notice(s)
         1 critical Security notice(s)
         8 important Security notice(s)
         5 medium Security notice(s)
updateinfo summary done

 

[ec2-user@ip-xx-xx-xx-xx ~]$ yum updateinfo list
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
ALAS2-2021-1614 important/Sec. bind-export-libs-32:9.11.4-26.P2.amzn2.4.x86_64
ALAS2-2021-1614 important/Sec. bind-libs-32:9.11.4-26.P2.amzn2.4.x86_64
ALAS2-2021-1614 important/Sec. bind-libs-lite-32:9.11.4-26.P2.amzn2.4.x86_64
ALAS2-2021-1614 important/Sec. bind-license-32:9.11.4-26.P2.amzn2.4.noarch
ALAS2-2021-1614 important/Sec. bind-utils-32:9.11.4-26.P2.amzn2.4.x86_64
ALAS2-2021-1620 medium/Sec.    cloud-init-19.3-43.amzn2.noarch
ALAS2-2021-1599 important/Sec. glibc-2.26-40.amzn2.x86_64
ALAS2-2021-1605 important/Sec. glibc-2.26-41.amzn2.x86_64
ALAS2-2021-1615 medium/Sec.    glibc-2.26-42.amzn2.x86_64
ALAS2-2021-1599 important/Sec. glibc-all-langpacks-2.26-40.amzn2.x86_64
ALAS2-2021-1605 important/Sec. glibc-all-langpacks-2.26-41.amzn2.x86_64
ALAS2-2021-1615 medium/Sec.    glibc-all-langpacks-2.26-42.amzn2.x86_64
ALAS2-2021-1599 important/Sec. glibc-common-2.26-40.amzn2.x86_64
ALAS2-2021-1605 important/Sec. glibc-common-2.26-41.amzn2.x86_64
ALAS2-2021-1615 medium/Sec.    glibc-common-2.26-42.amzn2.x86_64
ALAS2-2021-1599 important/Sec. glibc-locale-source-2.26-40.amzn2.x86_64
ALAS2-2021-1605 important/Sec. glibc-locale-source-2.26-41.amzn2.x86_64
ALAS2-2021-1615 medium/Sec.    glibc-locale-source-2.26-42.amzn2.x86_64
ALAS2-2021-1599 important/Sec. glibc-minimal-langpack-2.26-40.amzn2.x86_64
ALAS2-2021-1605 important/Sec. glibc-minimal-langpack-2.26-41.amzn2.x86_64
ALAS2-2021-1615 medium/Sec.    glibc-minimal-langpack-2.26-42.amzn2.x86_64
ALAS2-2021-1588 important/Sec. kernel-4.14.214-160.339.amzn2.x86_64
ALAS2-2021-1600 important/Sec. kernel-4.14.219-161.340.amzn2.x86_64
ALAS2-2021-1616 important/Sec. kernel-4.14.225-168.357.amzn2.x86_64
ALAS2-2021-1588 important/Sec. kernel-tools-4.14.214-160.339.amzn2.x86_64
ALAS2-2021-1600 important/Sec. kernel-tools-4.14.219-161.340.amzn2.x86_64
ALAS2-2021-1616 important/Sec. kernel-tools-4.14.225-168.357.amzn2.x86_64
ALAS2-2021-1599 important/Sec. libcrypt-2.26-40.amzn2.x86_64
ALAS2-2021-1605 important/Sec. libcrypt-2.26-41.amzn2.x86_64
ALAS2-2021-1615 medium/Sec.    libcrypt-2.26-42.amzn2.x86_64
ALAS2-2021-1608 medium/Sec.    openssl-1:1.0.2k-19.amzn2.0.6.x86_64
ALAS2-2021-1608 medium/Sec.    openssl-libs-1:1.0.2k-19.amzn2.0.6.x86_64
ALAS2-2021-1610 medium/Sec.    perl-4:5.16.3-299.amzn2.0.1.x86_64
ALAS2-2021-1610 medium/Sec.    perl-Pod-Escapes-1:1.04-299.amzn2.0.1.noarch
ALAS2-2021-1610 medium/Sec.    perl-libs-4:5.16.3-299.amzn2.0.1.x86_64
ALAS2-2021-1610 medium/Sec.    perl-macros-4:5.16.3-299.amzn2.0.1.x86_64
ALAS2-2021-1611 medium/Sec.    python-2.7.18-1.amzn2.0.3.x86_64
ALAS2-2021-1611 medium/Sec.    python-devel-2.7.18-1.amzn2.0.3.x86_64
ALAS2-2021-1611 medium/Sec.    python-libs-2.7.18-1.amzn2.0.3.x86_64
ALAS2-2021-1623 critical/Sec.  screen-4.1.0-0.27.20120314git3c2946.amzn2.x86_64
ALAS2-2021-1590 important/Sec. sudo-1.8.23-4.amzn2.2.1.x86_64
ALAS2-2021-1604 important/Sec. unzip-6.0-43.amzn2.x86_64
updateinfo list done

 

  • yum updateinfo ALAS2-yyyy-nnnn コマンドを使用することで、前述のInspector から入手した評価レポートに記載されている脆弱性(例: CVE-2021-3156)についても確認することができます。
[ec2-user@ip-xx-xx-xx-xx ~]$ yum updateinfo ALAS2-2021-1590
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core/2/x86_64                                      | 3.7 kB     00:00     

===============================================================================
  Amazon Linux 2 2017.12 - ALAS2-2021-1590: important priority package update for sudo
===============================================================================
  Update ID : ALAS2-2021-1590
    Release : 
       Type : security
     Status : final
     Issued : 2021-01-25 23:09
    Updated : 2021-01-26 18:48       CVEs : CVE-2021-3156
Description : Package updates are available for Amazon Linux 2 that fix the
            : following vulnerabilities: CVE-2021-3156:
            : 
            : 99999:
   Severity : important
updateinfo info done
  • sudo yum update –security コマンドを使用して、セキュリティパッチを適用します。
[ec2-user@ip-xx-xx-xx-xx ~]$ sudo yum update --security
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                               | 3.7 kB     00:00     
 --> kpatch-runtime-0.8.0-4.amzn2.noarch from installed removed (updateinfo)
 --> pyliblzma-0.5.3-11.amzn2.0.2.x86_64 from installed removed (updateinfo)
 --> pygpgme-0.3-9.amzn2.0.3.x86_64 from amzn2-core removed (updateinfo)
 --> libsss_nss_idmap-1.16.4-21.amzn2.x86_64 from installed removed (updateinfo)
 --> amazon-cloudwatch-agent-1.247345.35-1.amzn2.x86_64 from @amzn2-core removed (updateinfo)
 --> boost-system-1.53.0-27.amzn2.0.3.x86_64 from installed removed (updateinfo)
 --> selinux-policy-targeted-3.13.1-192.amzn2.6.5.noarch from installed removed (updateinfo)
 --> amazon-linux-extras-1.6.13-1.amzn2.noarch from installed removed (updateinfo)
 --> pygpgme-0.3-9.amzn2.0.2.x86_64 from installed removed (updateinfo)
 --> ca-certificates-2020.2.41-70.0.amzn2.0.1.noarch from amzn2-core removed (updateinfo)
 --> sssd-client-1.16.4-21.amzn2.x86_64 from installed removed (updateinfo)
 --> boost-thread-1.53.0-27.amzn2.0.3.x86_64 from installed removed (updateinfo)
 --> pyliblzma-0.5.3-25.amzn2.x86_64 from amzn2-core removed (updateinfo)
 --> amazon-cloudwatch-agent-1.247347.4-1.amzn2.x86_64 from amzn2-core removed (updateinfo)
 --> ec2-net-utils-1.4-43.amzn2.noarch from amzn2-core removed (updateinfo)
 --> ec2-utils-1.2-43.amzn2.noarch from amzn2-core removed (updateinfo)
 --> kpatch-runtime-0.9.2-4.amzn2.noarch from amzn2-core removed (updateinfo)
 --> libsss_idmap-1.16.5-10.amzn2.6.x86_64 from amzn2-core removed (updateinfo)
 --> libsss_idmap-1.16.4-21.amzn2.x86_64 from installed removed (updateinfo)
 --> selinux-policy-targeted-3.13.1-192.amzn2.6.7.noarch from amzn2-core removed (updateinfo)
 --> amazon-linux-extras-2.0.0-1.amzn2.noarch from amzn2-core removed (updateinfo)
 --> boost-thread-1.53.0-27.amzn2.0.5.x86_64 from amzn2-core removed (updateinfo)
 --> amazon-linux-extras-yum-plugin-1.6.13-1.amzn2.noarch from installed removed (updateinfo)
 --> selinux-policy-3.13.1-192.amzn2.6.7.noarch from amzn2-core removed (updateinfo)
 --> sssd-client-1.16.5-10.amzn2.6.x86_64 from amzn2-core removed (updateinfo)
 --> boost-date-time-1.53.0-27.amzn2.0.3.x86_64 from installed removed (updateinfo)
 --> ec2-net-utils-1.4-3.amzn2.noarch from installed removed (updateinfo)
 --> rng-tools-6.8-3.amzn2.0.4.x86_64 from installed removed (updateinfo)
 --> amazon-linux-extras-yum-plugin-2.0.0-1.amzn2.noarch from amzn2-core removed (updateinfo)
 --> yum-3.4.3-158.amzn2.0.5.noarch from amzn2-core removed (updateinfo)
 --> libsss_nss_idmap-1.16.5-10.amzn2.6.x86_64 from amzn2-core removed (updateinfo)
 --> selinux-policy-3.13.1-192.amzn2.6.5.noarch from installed removed (updateinfo)
 --> boost-system-1.53.0-27.amzn2.0.5.x86_64 from amzn2-core removed (updateinfo)
 --> rng-tools-6.8-3.amzn2.0.5.x86_64 from amzn2-core removed (updateinfo)
 --> boost-date-time-1.53.0-27.amzn2.0.5.x86_64 from amzn2-core removed (updateinfo)
 --> ec2-utils-1.2-3.amzn2.noarch from installed removed (updateinfo)
 --> yum-3.4.3-158.amzn2.0.4.noarch from installed removed (updateinfo)
 --> ca-certificates-2019.2.32-76.amzn2.0.3.noarch from installed removed (updateinfo)
26 package(s) needed (+0 related) for security, out of 45 available
Resolving Dependencies
--> Running transaction check
---> Package bind-export-libs.x86_64 32:9.11.4-26.P2.amzn2.2 will be updated
---> Package bind-export-libs.x86_64 32:9.11.4-26.P2.amzn2.4 will be an update
---> Package bind-libs.x86_64 32:9.11.4-26.P2.amzn2.2 will be updated
---> Package bind-libs.x86_64 32:9.11.4-26.P2.amzn2.4 will be an update
---> Package bind-libs-lite.x86_64 32:9.11.4-26.P2.amzn2.2 will be updated
---> Package bind-libs-lite.x86_64 32:9.11.4-26.P2.amzn2.4 will be an update
---> Package bind-license.noarch 32:9.11.4-26.P2.amzn2.2 will be updated
---> Package bind-license.noarch 32:9.11.4-26.P2.amzn2.4 will be an update
---> Package bind-utils.x86_64 32:9.11.4-26.P2.amzn2.2 will be updated
---> Package bind-utils.x86_64 32:9.11.4-26.P2.amzn2.4 will be an update
---> Package cloud-init.noarch 0:19.3-4.amzn2 will be updated
---> Package cloud-init.noarch 0:19.3-43.amzn2 will be an update
---> Package glibc.x86_64 0:2.26-39.amzn2 will be updated
---> Package glibc.x86_64 0:2.26-43.amzn2 will be an update
---> Package glibc-all-langpacks.x86_64 0:2.26-39.amzn2 will be updated
---> Package glibc-all-langpacks.x86_64 0:2.26-43.amzn2 will be an update
---> Package glibc-common.x86_64 0:2.26-39.amzn2 will be updated
---> Package glibc-common.x86_64 0:2.26-43.amzn2 will be an update
---> Package glibc-locale-source.x86_64 0:2.26-39.amzn2 will be updated
---> Package glibc-locale-source.x86_64 0:2.26-43.amzn2 will be an update
---> Package glibc-minimal-langpack.x86_64 0:2.26-39.amzn2 will be updated
---> Package glibc-minimal-langpack.x86_64 0:2.26-43.amzn2 will be an update
---> Package kernel.x86_64 0:4.14.225-169.362.amzn2 will be installed
---> Package kernel-tools.x86_64 0:4.14.209-160.339.amzn2 will be updated
---> Package kernel-tools.x86_64 0:4.14.225-169.362.amzn2 will be an update
---> Package libcrypt.x86_64 0:2.26-39.amzn2 will be updated
---> Package libcrypt.x86_64 0:2.26-43.amzn2 will be an update
---> Package openssl.x86_64 1:1.0.2k-19.amzn2.0.4 will be updated
---> Package openssl.x86_64 1:1.0.2k-19.amzn2.0.6 will be an update
---> Package openssl-libs.x86_64 1:1.0.2k-19.amzn2.0.4 will be updated
---> Package openssl-libs.x86_64 1:1.0.2k-19.amzn2.0.6 will be an update
---> Package perl.x86_64 4:5.16.3-294.amzn2 will be updated
---> Package perl.x86_64 4:5.16.3-299.amzn2.0.1 will be an update
---> Package perl-Pod-Escapes.noarch 1:1.04-294.amzn2 will be updated
---> Package perl-Pod-Escapes.noarch 1:1.04-299.amzn2.0.1 will be an update
---> Package perl-libs.x86_64 4:5.16.3-294.amzn2 will be updated
---> Package perl-libs.x86_64 4:5.16.3-299.amzn2.0.1 will be an update
---> Package perl-macros.x86_64 4:5.16.3-294.amzn2 will be updated
---> Package perl-macros.x86_64 4:5.16.3-299.amzn2.0.1 will be an update
---> Package python.x86_64 0:2.7.18-1.amzn2.0.2 will be updated
---> Package python.x86_64 0:2.7.18-1.amzn2.0.3 will be an update
---> Package python-devel.x86_64 0:2.7.18-1.amzn2.0.2 will be updated
---> Package python-devel.x86_64 0:2.7.18-1.amzn2.0.3 will be an update
---> Package python-libs.x86_64 0:2.7.18-1.amzn2.0.2 will be updated
---> Package python-libs.x86_64 0:2.7.18-1.amzn2.0.3 will be an update
---> Package screen.x86_64 0:4.1.0-0.25.20120314git3c2946.amzn2 will be updated
---> Package screen.x86_64 0:4.1.0-0.27.20120314git3c2946.amzn2 will be an update
---> Package sudo.x86_64 0:1.8.23-4.amzn2.2 will be updated
---> Package sudo.x86_64 0:1.8.23-10.amzn2.1 will be an update
---> Package unzip.x86_64 0:6.0-21.amzn2 will be updated
---> Package unzip.x86_64 0:6.0-43.amzn2 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch   Version                            Repository  Size
================================================================================
Installing:
 kernel              x86_64 4.14.225-169.362.amzn2             amzn2-core  21 M
Updating:
 bind-export-libs    x86_64 32:9.11.4-26.P2.amzn2.4            amzn2-core 1.1 M
 bind-libs           x86_64 32:9.11.4-26.P2.amzn2.4            amzn2-core 157 k
 bind-libs-lite      x86_64 32:9.11.4-26.P2.amzn2.4            amzn2-core 1.1 M
 bind-license        noarch 32:9.11.4-26.P2.amzn2.4            amzn2-core  91 k
 bind-utils          x86_64 32:9.11.4-26.P2.amzn2.4            amzn2-core 259 k
 cloud-init          noarch 19.3-43.amzn2                      amzn2-core 925 k
 glibc               x86_64 2.26-43.amzn2                      amzn2-core 3.3 M
 glibc-all-langpacks x86_64 2.26-43.amzn2                      amzn2-core 7.0 M
 glibc-common        x86_64 2.26-43.amzn2                      amzn2-core 770 k
 glibc-locale-source x86_64 2.26-43.amzn2                      amzn2-core 3.2 M
 glibc-minimal-langpack
                     x86_64 2.26-43.amzn2                      amzn2-core  29 k
 kernel-tools        x86_64 4.14.225-169.362.amzn2             amzn2-core 140 k
 libcrypt            x86_64 2.26-43.amzn2                      amzn2-core  49 k
 openssl             x86_64 1:1.0.2k-19.amzn2.0.6              amzn2-core 495 k
 openssl-libs        x86_64 1:1.0.2k-19.amzn2.0.6              amzn2-core 1.2 M
 perl                x86_64 4:5.16.3-299.amzn2.0.1             amzn2-core 8.0 M
 perl-Pod-Escapes    noarch 1:1.04-299.amzn2.0.1               amzn2-core  52 k
 perl-libs           x86_64 4:5.16.3-299.amzn2.0.1             amzn2-core 685 k
 perl-macros         x86_64 4:5.16.3-299.amzn2.0.1             amzn2-core  44 k
 python              x86_64 2.7.18-1.amzn2.0.3                 amzn2-core  93 k
 python-devel        x86_64 2.7.18-1.amzn2.0.3                 amzn2-core 403 k
 python-libs         x86_64 2.7.18-1.amzn2.0.3                 amzn2-core 7.5 M
 screen              x86_64 4.1.0-0.27.20120314git3c2946.amzn2 amzn2-core 549 k
 sudo                x86_64 1.8.23-10.amzn2.1                  amzn2-core 846 k
 unzip               x86_64 6.0-43.amzn2                       amzn2-core 179 k

Transaction Summary
================================================================================
Install   1 Package
Upgrade  25 Packages

Total download size: 59 M
Is this ok [y/d/N]: y
Downloading packages:

** 省略 **

Installed:
  kernel.x86_64 0:4.14.225-169.362.amzn2                                        

Updated:
  bind-export-libs.x86_64 32:9.11.4-26.P2.amzn2.4                               
  bind-libs.x86_64 32:9.11.4-26.P2.amzn2.4                                      
  bind-libs-lite.x86_64 32:9.11.4-26.P2.amzn2.4                                 
  bind-license.noarch 32:9.11.4-26.P2.amzn2.4                                   
  bind-utils.x86_64 32:9.11.4-26.P2.amzn2.4                                     
  cloud-init.noarch 0:19.3-43.amzn2                                             
  glibc.x86_64 0:2.26-43.amzn2                                                  
  glibc-all-langpacks.x86_64 0:2.26-43.amzn2                                    
  glibc-common.x86_64 0:2.26-43.amzn2                                           
  glibc-locale-source.x86_64 0:2.26-43.amzn2                                    
  glibc-minimal-langpack.x86_64 0:2.26-43.amzn2                                 
  kernel-tools.x86_64 0:4.14.225-169.362.amzn2                                  
  libcrypt.x86_64 0:2.26-43.amzn2                                               
  openssl.x86_64 1:1.0.2k-19.amzn2.0.6                                          
  openssl-libs.x86_64 1:1.0.2k-19.amzn2.0.6                                     
  perl.x86_64 4:5.16.3-299.amzn2.0.1                                            
  perl-Pod-Escapes.noarch 1:1.04-299.amzn2.0.1                                  
  perl-libs.x86_64 4:5.16.3-299.amzn2.0.1                                       
  perl-macros.x86_64 4:5.16.3-299.amzn2.0.1                                     
  python.x86_64 0:2.7.18-1.amzn2.0.3                                            
  python-devel.x86_64 0:2.7.18-1.amzn2.0.3                                      
  python-libs.x86_64 0:2.7.18-1.amzn2.0.3                                       
  screen.x86_64 0:4.1.0-0.27.20120314git3c2946.amzn2                            
  sudo.x86_64 0:1.8.23-10.amzn2.1                                               
  unzip.x86_64 0:6.0-43.amzn2                                                   

Complete!

 

Inspector による再評価

  • セキュリティパッチ更新後に、Inspector による評価を再度行いました。セキュリティパッチ更新前と比べて、セキュリティ上の問題が削減されたことが分かります。

 

  • 以下、セキュリティパッチ更新後の評価レポートです。
  • Inspector によって脆弱性の診断を手軽に行うことができ、セキュリティパッチの効果も確認することができました。

 

参考資料

AWS,AWS-Security

Posted by takaaki