Amazon Inspectorを使って脆弱性診断する
概要
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 によって脆弱性の診断を手軽に行うことができ、セキュリティパッチの効果も確認することができました。