Amazon InspectorでRed Hat Application Streamsからインストールしたパッケージは検出できるのか確認してみた
Red Hat Application Streamsからインストールしたパッケージは検出できる?
こんにちは、のんピ(@non____97)です。
皆さんはAmazon InspectorでRed Hat Application Streams(以降AppStream)からインストールしたパッケージは検出できるなと思ったことはありますか? 私はあります。
InspectorのAWS公式ドキュメントを確認すると、オプションリポジトリは検出対象外であり、その例としてAppStreamが挙げられています。
サポートされているオペレーティングシステム: Amazon EC2スキャン
次の表は、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのスキャンにおいて Amazon Inspector が現在サポートしているオペレーティングシステムと、各ベンダーのセキュリティアドバイザリのソースを示しています。
注記
Linux オペレーティングシステムの検出は、デフォルトのパッケージマネージャーリポジトリでのみサポートされており、Red Hat Application Streams などのオプションリポジトリは含まれていません。
Amazon Inspector でサポートされているオペレーティングシステムとプログラミング言語 - Amazon Inspector
英語で表示してもAppStreamが検出対象外の例として挙げられています。
Supported operating systems: Amazon EC2 scanning
The following table lists the operating systems that Amazon Inspector supports for the scanning of Amazon EC2 instances. It lists the source of the vendor security advisories for each operating system. It also helps you determine whether any of the supported operating systems can be scanned using agent-based scanning or agentless scanning.
When using the agent-based scanning method, you configure the SSM agent to perform continuous scans on all eligible instances. Amazon Inspector recommends that you configure a version of the SSM agent that's greater than 3.2.2086.0. For more information, see Working with the SSM Agent in the Amazon EC2 Systems Manager User Guide.
Note
Linux operating system detections are supported only for the default package manager repository (rpm and dpkg) and don't include third-party applications, extended support repositories (BYOS RHEL, PAYG RHEL, and RHEL for SAP), and optional repositories (Red Hat Application Streams).
Operating systems and programming languages supported by Amazon Inspector - Amazon Inspector
これは本当なのでしょうか。
Red Hat Enterprise Linux(以降RHEL) 8からデフォルトでリポジトリはBaseOSとAppStreamの2つが設定されています。そのため、AppStreamをオプションリポジトリとして扱うかどうかは個人的には微妙なような気がしています。オプションリポジトリというのはRHELのHigh AvailabilityリポジトリやResilient Storageリポジトリなどデフォルトで設定されていないリポジトリを指すイメージです。
AppStreamにはhttpdやNginx、PythonなどOSのライフサイクルと同じ期間サポートするものもあり、重要度の高いものも多く存在するためInspectorによる検出対象外だと困ります。AppStreamで管理されているパッケージ一覧は以下をご覧ください。
もしかして、「検出対象外にはAppStreamは除く」ということを表現したかったのでしょうか。
本当にAppStreamのリポジトリからインストールしたパッケージは検出できないか確認します。
いきなりまとめ
- AppStreamからインストールしたパッケージはInspectorで検出できる
- サポート期限がOSと同じであるかどうか関わらず可能
やってみた
RHEL 9起動直後のInspectorの検出結果の確認
実際に試してみます。
RHEL 9のEC2インスタンスを使用します。使用したAMIは以下のとおりです。
- RHEL-9.3.0_HVM-20240117-x86_64-49-Hourly2-GP3 (ami-0fe630eb857a6ec83)
起動完了後リポジトリ一覧を確認します。
$ sudo dnf repolist Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. repo id repo name rhel-9-appstream-rhui-rpms Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs) rhel-9-baseos-rhui-rpms Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (RPMs) rhui-client-config-server-9 Red Hat Enterprise Linux 9 Client Configuration
AppStreamが設定されていますね。
インストールされているパッケージの使用元リポジトリを確認します。
$ sudo dnf repoquery --querytags Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. name, arch, epoch, version, release, reponame (repoid), from_repo, evr, debug_name, source_name, source_debug_name, installtime, buildtime, size, downloadsize, installsize, provides, requires, obsoletes, conflicts, sourcerpm, description, summary, license, url, reason $ sudo dnf repoquery \ --installed \ --qf '%{name}|%{version}|%{release}|%{repoid}|%{from_repo}\n' \ | grep '|' \ | column -ts '|' NetworkManager-cloud-setup 1.44.0 4.el9_3 @System NetworkManager-libnm 1.44.0 4.el9_3 @System NetworkManager-team 1.44.0 4.el9_3 @System NetworkManager-tui 1.44.0 4.el9_3 @System NetworkManager 1.44.0 4.el9_3 @System acl 2.3.1 3.el9 @System alternatives 1.24 1.el9 @System amazon-libdnf-plugin 1.0.1 1.el9 @System amazon-ssm-agent 3.3.418.0 1 @System @commandline audit-libs 3.0.7 104.el9 @System audit 3.0.7 104.el9 @System authselect-compat 1.2.6 2.el9 @System authselect-libs 1.2.6 2.el9 @System authselect 1.2.6 2.el9 @System basesystem 11 13.el9 @System bash 5.1.8 6.el9_1 @System binutils-gold 2.35.2 42.el9 @System binutils 2.35.2 42.el9 @System bzip2-libs 1.0.8 8.el9 @System c-ares 1.19.1 1.el9 @System ca-certificates 2023.2.60_v7.0.306 90.1.el9_2 @System checkpolicy 3.5 1.el9 @System chkconfig 1.24 1.el9 @System chrony 4.3 1.el9 @System cloud-init 23.1.1 12.el9_3 @System cloud-utils-growpart 0.33 1.el9 @System coreutils-common 8.32 34.el9 @System coreutils 8.32 34.el9 @System cpio 2.13 16.el9 @System cracklib-dicts 2.9.6 27.el9 @System cracklib 2.9.6 27.el9 @System cronie-anacron 1.5.7 8.el9 @System cronie 1.5.7 8.el9 @System crontabs 1.11 27.20190603git.el9_0 @System crypto-policies-scripts 20230731 1.git94f0e2c.el9_3.1 @System crypto-policies 20230731 1.git94f0e2c.el9_3.1 @System cryptsetup-libs 2.6.0 3.el9 @System curl 7.76.1 26.el9_3.2 @System cyrus-sasl-lib 2.1.27 21.el9 @System dbus-broker 28 7.el9 @System dbus-common 1.12.20 8.el9 @System dbus-libs 1.12.20 8.el9 @System dbus-tools 1.12.20 8.el9 @System dbus 1.12.20 8.el9 @System dejavu-sans-fonts 2.37 18.el9 @System device-mapper-libs 1.02.195 3.el9 @System device-mapper 1.02.195 3.el9 @System dhcp-client 4.4.2 19.b1.el9 @System dhcp-common 4.4.2 19.b1.el9 @System diffutils 3.7 12.el9 @System dmidecode 3.5 1.el9 @System dnf-data 4.14.0 8.el9 @System dnf-plugins-core 4.3.0 11.el9_3 @System dnf 4.14.0 8.el9 @System dosfstools 4.2 3.el9 @System dracut-config-generic 057 44.git20230822.el9 @System dracut-network 057 44.git20230822.el9 @System dracut-squash 057 44.git20230822.el9 @System dracut 057 44.git20230822.el9 @System e2fsprogs-libs 1.46.5 3.el9 @System e2fsprogs 1.46.5 3.el9 @System efi-filesystem 6 2.el9_0 @System efibootmgr 16 12.el9 @System efivar-libs 38 3.el9 @System elfutils-debuginfod-client 0.189 3.el9 @System elfutils-default-yama-scope 0.189 3.el9 @System elfutils-libelf 0.189 3.el9 @System elfutils-libs 0.189 3.el9 @System ethtool 6.2 1.el9 @System expat 2.5.0 1.el9 @System file-libs 5.39 14.el9 @System filesystem 3.16 2.el9 @System file 5.39 14.el9 @System findutils 4.8.0 6.el9 @System flashrom 1.2 10.el9 @System fonts-filesystem 2.0.5 7.el9.1 @System fuse-libs 2.9.9 15.el9 @System fwupd-plugin-flashrom 1.8.16 1.el9 @System fwupd 1.8.16 1.el9 @System gawk-all-langpacks 5.1.0 6.el9 @System gawk 5.1.0 6.el9 @System gdbm-libs 1.19 4.el9 @System gdisk 1.0.7 5.el9 @System geolite2-city 20191217 6.el9 @System geolite2-country 20191217 6.el9 @System gettext-libs 0.21 8.el9 @System gettext 0.21 8.el9 @System glib2 2.68.4 11.el9 @System glibc-common 2.34 83.el9_3.7 @System glibc-gconv-extra 2.34 83.el9_3.7 @System glibc-langpack-en 2.34 83.el9_3.7 @System glibc 2.34 83.el9_3.7 @System gmp 6.2.0 13.el9 @System gnupg2 2.3.3 4.el9 @System gnutls 3.7.6 23.el9 @System gobject-introspection 1.68.0 11.el9 @System gpgme 1.15.1 6.el9 @System grep 3.6 5.el9 @System groff-base 1.22.4 10.el9 @System grub2-common 2.06 70.el9_3.2 @System grub2-efi-x64 2.06 70.el9_3.2 @System grub2-pc-modules 2.06 70.el9_3.2 @System grub2-pc 2.06 70.el9_3.2 @System grub2-tools-minimal 2.06 70.el9_3.2 @System grub2-tools 2.06 70.el9_3.2 @System grubby 8.40 63.el9 @System gzip 1.12 1.el9 @System hdparm 9.62 2.el9 @System hostname 3.23 6.el9 @System hwdata 0.348 9.11.el9 @System ima-evm-utils 1.4 4.el9 @System inih 49 6.el9 @System initscripts-rename-device 10.11.5 1.el9 @System initscripts-service 10.11.5 1.el9 @System initscripts 10.11.5 1.el9 @System insights-client 3.2.2 1.el9_3 @System inspectorssmplugin 1.0.199 1 @System ipcalc 1.0.0 5.el9 @System iproute-tc 6.2.0 5.el9 @System iproute 6.2.0 5.el9 @System iptables-libs 1.8.8 6.el9_1 @System iputils 20210202 9.el9 @System irqbalance 1.9.2 3.el9 @System jansson 2.14 1.el9 @System json-c 0.14 11.el9 @System json-glib 1.6.6 1.el9 @System kbd-legacy 2.4.0 9.el9 @System kbd-misc 2.4.0 9.el9 @System kbd 2.4.0 9.el9 @System kernel-core 5.14.0 362.18.1.el9_3 @System kernel-modules-core 5.14.0 362.18.1.el9_3 @System kernel-modules 5.14.0 362.18.1.el9_3 @System kernel-tools-libs 5.14.0 362.18.1.el9_3 @System kernel-tools 5.14.0 362.18.1.el9_3 @System kernel 5.14.0 362.18.1.el9_3 @System kexec-tools 2.0.26 8.el9 @System keyutils-libs 1.6.3 1.el9 @System kmod-libs 28 9.el9 @System kmod 28 9.el9 @System kpartx 0.8.7 22.el9 @System krb5-libs 1.21.1 1.el9 @System langpacks-core-en 3.0 16.el9 @System langpacks-core-font-en 3.0 16.el9 @System langpacks-en 3.0 16.el9 @System less 590 2.el9_2 @System libacl 2.3.1 3.el9 @System libarchive 3.5.3 4.el9 @System libassuan 2.5.5 3.el9 @System libatasmart 0.19 22.el9 @System libattr 2.5.1 3.el9 @System libbasicobjects 0.1.1 53.el9 @System libblkid 2.37.4 15.el9 @System libblockdev-crypto 2.28 7.el9 @System libblockdev-fs 2.28 7.el9 @System libblockdev-loop 2.28 7.el9 @System libblockdev-mdraid 2.28 7.el9 @System libblockdev-part 2.28 7.el9 @System libblockdev-swap 2.28 7.el9 @System libblockdev-utils 2.28 7.el9 @System libblockdev 2.28 7.el9 @System libbpf 1.2.0 1.el9 @System libbrotli 1.0.9 6.el9 @System libbytesize 2.5 3.el9 @System libcap-ng 0.8.2 7.el9 @System libcap 2.48 9.el9_2 @System libcbor 0.7.0 5.el9 @System libcollection 0.7.0 53.el9 @System libcom_err 1.46.5 3.el9 @System libcomps 0.1.18 1.el9 @System libcurl 7.76.1 26.el9_3.2 @System libdaemon 0.14 23.el9 @System libdb 5.3.28 53.el9 @System libdhash 0.5.0 53.el9 @System libdnf-plugin-subscription-manager 1.29.38 1.el9_3 @System libdnf 0.69.0 6.el9_3 @System libeconf 0.4.1 3.el9_2 @System libedit 3.1 38.20210216cvs.el9 @System libestr 0.1.11 4.el9 @System libevent 2.1.12 6.el9 @System libfastjson 0.99.9 5.el9 @System libfdisk 2.37.4 15.el9 @System libffi 3.4.2 8.el9 @System libfido2 1.13.0 1.el9 @System libgcab1 1.4 6.el9 @System libgcc 11.4.1 2.1.el9 @System libgcrypt 1.10.0 10.el9_2 @System libgomp 11.4.1 2.1.el9 @System libgpg-error 1.42 5.el9 @System libgudev 237 1.el9 @System libgusb 0.3.8 2.el9 @System libibverbs 46.0 1.el9 @System libidn2 2.3.0 7.el9 @System libini_config 1.3.1 53.el9 @System libjcat 0.1.6 3.el9 @System libkcapi-hmaccalc 1.3.1 3.el9 @System libkcapi 1.3.1 3.el9 @System libksba 1.5.1 6.el9_1 @System libldb 2.7.2 2.el9 @System libmaxminddb 1.5.2 3.el9 @System libmnl 1.0.4 15.el9 @System libmodulemd 2.13.0 2.el9 @System libmount 2.37.4 15.el9 @System libndp 1.8 4.el9 @System libnetfilter_conntrack 1.0.9 1.el9 @System libnfnetlink 1.0.1 21.el9 @System libnghttp2 1.43.0 5.el9_3.1 @System libnl3-cli 3.7.0 1.el9 @System libnl3 3.7.0 1.el9 @System libpath_utils 0.2.1 53.el9 @System libpcap 1.10.0 4.el9 @System libpipeline 1.5.3 4.el9 @System libpsl 0.21.1 5.el9 @System libpwquality 1.4.4 8.el9 @System libref_array 0.1.5 53.el9 @System libreport-filesystem 2.15.2 6.el9 @System librepo 1.14.5 1.el9 @System librhsm 0.0.3 7.el9_3.1 @System libseccomp 2.5.2 2.el9 @System libselinux-utils 3.5 1.el9 @System libselinux 3.5 1.el9 @System libsemanage 3.5 2.el9 @System libsepol 3.5 1.el9 @System libsigsegv 2.13 4.el9 @System libsmartcols 2.37.4 15.el9 @System libsmbios 2.4.3 4.el9 @System libsolv 0.7.24 2.el9 @System libssh-config 0.10.4 11.el9 @System libssh 0.10.4 11.el9 @System libsss_certmap 2.9.1 4.el9_3.5 @System libsss_idmap 2.9.1 4.el9_3.5 @System libsss_nss_idmap 2.9.1 4.el9_3.5 @System libsss_sudo 2.9.1 4.el9_3.5 @System libss 1.46.5 3.el9 @System libstdc++ 11.4.1 2.1.el9 @System libsysfs 2.1.1 10.el9 @System libtalloc 2.4.0 2.el9 @System libtasn1 4.16.0 8.el9_1 @System libtdb 1.4.8 2.el9 @System libteam 1.31 16.el9_1 @System libtevent 0.14.1 2.el9 @System libtraceevent 1.5.3 3.el9 @System libudisks2 2.9.4 9.el9 @System libunistring 0.9.10 15.el9 @System libusbx 1.0.26 1.el9 @System libuser 0.63 13.el9 @System libutempter 1.2.1 6.el9 @System libuuid 2.37.4 15.el9 @System libverto 0.3.2 3.el9 @System libxcrypt-compat 4.4.18 3.el9 @System libxcrypt 4.4.18 3.el9 @System libxml2 2.9.13 5.el9_3 @System libxmlb 0.3.10 1.el9 @System libyaml 0.2.5 7.el9 @System libzstd 1.5.1 2.el9 @System linux-firmware-whence 20230814 140.el9_3 @System linux-firmware 20230814 140.el9_3 @System lmdb-libs 0.9.29 3.el9 @System logrotate 3.18.0 8.el9 @System lshw B.02.19.2 10.el9 @System lsscsi 0.32 6.el9 @System lua-libs 5.4.4 4.el9 @System lz4-libs 1.9.3 5.el9 @System lzo 2.10 7.el9 @System man-db 2.9.3 7.el9 @System mdadm 4.2 9.el9 @System microcode_ctl 20230808 2.20231009.1.el9_3 @System mokutil 0.6.0 4.el9 @System mpfr 4.1.0 7.el9 @System ncurses-base 6.2 10.20210508.el9 @System ncurses-libs 6.2 10.20210508.el9 @System ncurses 6.2 10.20210508.el9 @System nettle 3.8 3.el9_0 @System newt 0.52.21 11.el9 @System npth 1.6 8.el9 @System nspr 4.35.0 4.el9_3 @System nss-softokn-freebl 3.90.0 4.el9_3 @System nss-softokn 3.90.0 4.el9_3 @System nss-sysinit 3.90.0 4.el9_3 @System nss-util 3.90.0 4.el9_3 @System nss 3.90.0 4.el9_3 @System numactl-libs 2.0.16 1.el9 @System oddjob-mkhomedir 0.34.7 7.el9 @System oddjob 0.34.7 7.el9 @System openldap 2.6.3 1.el9 @System openssh-clients 8.7p1 34.el9 @System openssh-server 8.7p1 34.el9 @System openssh 8.7p1 34.el9 @System openssl-libs 3.0.7 24.el9 @System openssl 3.0.7 24.el9 @System os-prober 1.77 10.el9 @System p11-kit-trust 0.24.1 2.el9 @System p11-kit 0.24.1 2.el9 @System pam 1.5.1 15.el9 @System parted 3.5 2.el9 @System passwd 0.80 12.el9 @System pciutils-libs 3.7.0 5.el9 @System pciutils 3.7.0 5.el9 @System pcre2-syntax 10.40 2.el9 @System pcre2 10.40 2.el9 @System pcre 8.44 3.el9.3 @System pigz 2.5 4.el9 @System policycoreutils-python-utils 3.5 3.el9_3 @System policycoreutils 3.5 3.el9_3 @System polkit-libs 0.117 11.el9 @System polkit-pkla-compat 0.1 21.el9 @System polkit 0.117 11.el9 @System popt 1.18 8.el9 @System prefixdevname 0.1.0 8.el9 @System procps-ng 3.3.17 13.el9 @System psmisc 23.4 3.el9 @System publicsuffix-list-dafsa 20210518 3.el9 @System python-unversioned-command 3.9.18 1.el9_3.1 @System python3-attrs 20.3.0 7.el9 @System python3-audit 3.0.7 104.el9 @System python3-babel 2.9.1 2.el9 @System python3-chardet 4.0.0 5.el9 @System python3-cloud-what 1.29.38 1.el9_3 @System python3-configobj 5.0.6 25.el9 @System python3-dateutil 2.8.1 7.el9 @System python3-dbus 1.2.18 2.el9 @System python3-decorator 4.4.2 6.el9 @System python3-distro 1.5.0 7.el9 @System python3-dnf-plugins-core 4.3.0 11.el9_3 @System python3-dnf 4.14.0 8.el9 @System python3-file-magic 5.39 14.el9 @System python3-gobject-base-noarch 3.40.1 6.el9 @System python3-gobject-base 3.40.1 6.el9 @System python3-gpg 1.15.1 6.el9 @System python3-hawkey 0.69.0 6.el9_3 @System python3-idna 2.10 7.el9 @System python3-iniparse 0.4 45.el9 @System python3-inotify 0.9.6 25.el9 @System python3-jinja2 2.11.3 4.el9 @System python3-jsonpatch 1.21 16.el9 @System python3-jsonpointer 2.0 4.el9 @System python3-jsonschema 3.2.0 13.el9 @System python3-libcomps 0.1.18 1.el9 @System python3-libdnf 0.69.0 6.el9_3 @System python3-librepo 1.14.5 1.el9 @System python3-libselinux 3.5 1.el9 @System python3-libsemanage 3.5 2.el9 @System python3-libs 3.9.18 1.el9_3.1 @System python3-linux-procfs 0.7.1 1.el9 @System python3-markupsafe 1.1.1 12.el9 @System python3-netifaces 0.10.6 15.el9 @System python3-oauthlib 3.1.1 5.el9 @System python3-perf 5.14.0 362.18.1.el9_3 @System python3-pip-wheel 21.2.3 7.el9 @System python3-policycoreutils 3.5 3.el9_3 @System python3-prettytable 0.7.2 27.el9 @System python3-pyrsistent 0.17.3 8.el9 @System python3-pyserial 3.4 12.el9 @System python3-pysocks 1.7.1 12.el9 @System python3-pytz 2021.1 5.el9 @System python3-pyudev 0.22.0 6.el9 @System python3-pyyaml 5.4.1 6.el9 @System python3-requests 2.25.1 7.el9_2 @System python3-rpm 4.16.1.3 27.el9_3 @System python3-setools 4.4.3 1.el9 @System python3-setuptools-wheel 53.0.0 12.el9 @System python3-setuptools 53.0.0 12.el9 @System python3-six 1.15.0 9.el9 @System python3-subscription-manager-rhsm 1.29.38 1.el9_3 @System python3-systemd 234 18.el9 @System python3-urllib3 1.26.5 3.el9_3.1 @System python3 3.9.18 1.el9_3.1 @System readline 8.1 4.el9 @System redhat-cloud-client-configuration 1 11.el9 @System redhat-release-eula 9.3 0.5.el9 @System redhat-release 9.3 0.5.el9 @System rh-amazon-rhui-client 4.0.13 1.el9 @System rhc 0.2.4 3.el9_3 @System rootfiles 8.1 31.el9 @System rpm-build-libs 4.16.1.3 27.el9_3 @System rpm-libs 4.16.1.3 27.el9_3 @System rpm-plugin-audit 4.16.1.3 27.el9_3 @System rpm-plugin-selinux 4.16.1.3 27.el9_3 @System rpm-plugin-systemd-inhibit 4.16.1.3 27.el9_3 @System rpm-sign-libs 4.16.1.3 27.el9_3 @System rpm 4.16.1.3 27.el9_3 @System rsync 3.2.3 19.el9 @System rsyslog-logrotate 8.2102.0 117.el9 @System rsyslog 8.2102.0 117.el9 @System sed 4.8 9.el9 @System selinux-policy-targeted 38.1.23 1.el9_3.1 @System selinux-policy 38.1.23 1.el9_3.1 @System setup 2.13.7 9.el9 @System sg3_utils-libs 1.47 9.el9 @System sg3_utils 1.47 9.el9 @System shadow-utils 4.9 8.el9 @System shared-mime-info 2.1 5.el9 @System shim-x64 15.6 1.el9 @System slang 2.3.2 11.el9 @System snappy 1.1.8 8.el9 @System sqlite-libs 3.34.1 7.el9_3 @System squashfs-tools 4.4 8.git1.el9 @System sssd-client 2.9.1 4.el9_3.5 @System sssd-common 2.9.1 4.el9_3.5 @System sssd-kcm 2.9.1 4.el9_3.5 @System subscription-manager-rhsm-certificates 20220623 1.el9 @System subscription-manager 1.29.38 1.el9_3 @System sudo 1.9.5p2 9.el9 @System systemd-libs 252 18.el9 @System systemd-pam 252 18.el9 @System systemd-rpm-macros 252 18.el9 @System systemd-udev 252 18.el9 @System systemd 252 18.el9 @System tar 1.34 6.el9_1 @System teamd 1.31 16.el9_1 @System tpm2-tss 3.2.2 2.el9 @System tuned 2.21.0 1.el9_3 @System tzdata 2023d 1.el9 @System udisks2 2.9.4 9.el9 @System usermode 1.114 4.el9 @System userspace-rcu 0.12.1 6.el9 @System util-linux-core 2.37.4 15.el9 @System util-linux 2.37.4 15.el9 @System vim-minimal 8.2.2637 20.el9_1 @System virt-what 1.25 5.el9 @System volume_key-libs 0.3.12 15.el9 @System which 2.21 29.el9 @System xfsprogs 5.19.0 4.el9 @System xz-libs 5.2.5 8.el9_0 @System xz 5.2.5 8.el9_0 @System yum-utils 4.3.0 11.el9_3 @System yum 4.14.0 8.el9 @System zlib 1.2.11 40.el9 @System
repoid
は全て@System
として認識されており、from_repo
は手動でインストールされたSSM Agent以外は表記されていませんね。
EC2インスタンス起動直後のInspectorの検出結果は以下のとおりです。
諸々のパッケージが検出されていますね。
httpd インストール後のInspectorの検出結果の確認
それでは、httpdをインストールしてみます。
httpdはAppStreamの中でもOSのサポート期限と同じ期間サポートされるソフトウェアです。
Inspectorで検出してくれるように、少し古めのhttpdをインストールします。
$ sudo dnf list httpd --showduplicates Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Last metadata expiration check: 0:01:16 ago on Tue 21 May 2024 01:27:16 AM UTC. Available Packages httpd.x86_64 2.4.51-7.el9_0 rhel-9-appstream-rhui-rpms httpd.x86_64 2.4.53-7.el9 rhel-9-appstream-rhui-rpms httpd.x86_64 2.4.53-7.el9_1.1 rhel-9-appstream-rhui-rpms httpd.x86_64 2.4.53-7.el9_1.5 rhel-9-appstream-rhui-rpms httpd.x86_64 2.4.53-11.el9_2.4 rhel-9-appstream-rhui-rpms httpd.x86_64 2.4.53-11.el9_2.5 rhel-9-appstream-rhui-rpms httpd.x86_64 2.4.57-5.el9 rhel-9-appstream-rhui-rpms httpd.x86_64 2.4.57-8.el9 rhel-9-appstream-rhui-rpms $ sudo dnf install httpd-2.4.53-11.el9_2.4 Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Last metadata expiration check: 0:02:32 ago on Tue 21 May 2024 01:27:16 AM UTC. Dependencies resolved. ====================================================================================================================================================== Package Architecture Version Repository Size ====================================================================================================================================================== Installing: httpd x86_64 2.4.53-11.el9_2.4 rhel-9-appstream-rhui-rpms 54 k Installing dependencies: apr x86_64 1.7.0-12.el9_3 rhel-9-appstream-rhui-rpms 126 k apr-util x86_64 1.6.1-23.el9 rhel-9-appstream-rhui-rpms 97 k apr-util-bdb x86_64 1.6.1-23.el9 rhel-9-appstream-rhui-rpms 14 k httpd-core x86_64 2.4.53-11.el9_2.4 rhel-9-appstream-rhui-rpms 1.5 M httpd-filesystem noarch 2.4.53-11.el9_2.4 rhel-9-appstream-rhui-rpms 17 k httpd-tools x86_64 2.4.53-11.el9_2.4 rhel-9-appstream-rhui-rpms 88 k mailcap noarch 2.1.49-5.el9 rhel-9-baseos-rhui-rpms 35 k redhat-logos-httpd noarch 90.4-2.el9 rhel-9-appstream-rhui-rpms 18 k Installing weak dependencies: apr-util-openssl x86_64 1.6.1-23.el9 rhel-9-appstream-rhui-rpms 17 k mod_http2 x86_64 1.15.19-4.el9_2.4 rhel-9-appstream-rhui-rpms 153 k mod_lua x86_64 2.4.53-11.el9_2.4 rhel-9-appstream-rhui-rpms 63 k Transaction Summary ====================================================================================================================================================== Install 12 Packages Total download size: 2.2 M Installed size: 6.0 M Is this ok [y/N]: y Downloading Packages: (1/12): httpd-filesystem-2.4.53-11.el9_2.4.noarch.rpm 274 kB/s | 17 kB 00:00 (2/12): httpd-2.4.53-11.el9_2.4.x86_64.rpm 782 kB/s | 54 kB 00:00 . . (中略) . . Installed: apr-1.7.0-12.el9_3.x86_64 apr-util-1.6.1-23.el9.x86_64 apr-util-bdb-1.6.1-23.el9.x86_64 apr-util-openssl-1.6.1-23.el9.x86_64 httpd-2.4.53-11.el9_2.4.x86_64 httpd-core-2.4.53-11.el9_2.4.x86_64 httpd-filesystem-2.4.53-11.el9_2.4.noarch httpd-tools-2.4.53-11.el9_2.4.x86_64 mailcap-2.1.49-5.el9.noarch mod_http2-1.15.19-4.el9_2.4.x86_64 mod_lua-2.4.53-11.el9_2.4.x86_64 redhat-logos-httpd-90.4-2.el9.noarch Complete!
インストール完了後、インストール元のリポジトリ名を確認します。
$ sudo dnf repoquery \ --installed \ --qf '%{name}|%{version}|%{release}|%{repoid}|%{from_repo}\n' \ | grep 'httpd' \ | column -ts '|' httpd-core 2.4.53 11.el9_2.4 @System rhel-9-appstream-rhui-rpms httpd-filesystem 2.4.53 11.el9_2.4 @System rhel-9-appstream-rhui-rpms httpd-tools 2.4.53 11.el9_2.4 @System rhel-9-appstream-rhui-rpms httpd 2.4.53 11.el9_2.4 @System rhel-9-appstream-rhui-rpms redhat-logos-httpd 90.4 2.el9 @System rhel-9-appstream-rhui-rpms
AppStreamであることが分かりますね。
インストールしたhttpd関連のパッケージについてのRHSAを確認します。
$ sudo dnf updateinfo list \ | grep RHSA \ | grep httpd RHSA-2023:6403 Moderate/Sec. httpd-2.4.57-5.el9.x86_64 RHSA-2024:2278 Moderate/Sec. httpd-2.4.57-8.el9.x86_64 RHSA-2023:6403 Moderate/Sec. httpd-core-2.4.57-5.el9.x86_64 RHSA-2024:2278 Moderate/Sec. httpd-core-2.4.57-8.el9.x86_64 RHSA-2023:6403 Moderate/Sec. httpd-filesystem-2.4.57-5.el9.noarch RHSA-2024:2278 Moderate/Sec. httpd-filesystem-2.4.57-8.el9.noarch RHSA-2023:6403 Moderate/Sec. httpd-tools-2.4.57-5.el9.x86_64 RHSA-2024:2278 Moderate/Sec. httpd-tools-2.4.57-8.el9.x86_64
それなりにRHSAがありますね。これならInspectorで検出してくれそうです。
SSM State ManagerでInspectorInventoryCollection-do-not-delete
を実行し、手動でInspectorのスキャンを行います。
すると、httpdのパッケージを検出することができました。
詳細を確認すると、確かにインストールしたパッケージのバージョンが表示されている値と一致しています。
OSのフルライフサイクルサポートのAppStreamのパッケージは問題なくInspectorで検出できることが分かりました。
PostgreSQL 15 インストール後のInspectorの検出結果の確認
次にPostgreSQL 15で試します。
PostgreSQL 15はOSのフルライフサイクルサポートではありません。また、インストール時にモジュールを指定するタイプのものです。
PostgreSQL 15のモジュールを有効化してインストールします。
$ sudo dnf module list Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Last metadata expiration check: 0:07:08 ago on Tue 21 May 2024 01:18:59 AM UTC. Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs) Name Stream Profiles Summary mariadb 10.11 client, galera, server [d] MariaDB Module maven 3.8 common [d] Java project management and project comprehension tool nginx 1.22 common [d] nginx webserver nginx 1.24 common [d] nginx webserver nodejs 18 common [d], development, minimal, s2i Javascript runtime nodejs 20 common [d], development, minimal, s2i Javascript runtime php 8.1 common [d], devel, minimal PHP scripting language php 8.2 common [d], devel, minimal PHP scripting language postgresql 15 client, server [d] PostgreSQL server and client module postgresql 16 client, server [d] PostgreSQL server and client module redis 7 common [d] Redis persistent key-value database ruby 3.1 common [d] An interpreter of object-oriented scripting language ruby 3.3 common [d] An interpreter of object-oriented scripting language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled $ sudo dnf module list postgresql Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Last metadata expiration check: 0:26:26 ago on Tue 21 May 2024 01:27:16 AM UTC. Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs) Name Stream Profiles Summary postgresql 15 client, server [d] PostgreSQL server and client module postgresql 16 client, server [d] PostgreSQL server and client module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled $ sudo dnf module enable postgresql:15 Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Last metadata expiration check: 0:26:38 ago on Tue 21 May 2024 01:27:16 AM UTC. Dependencies resolved. ====================================================================================================================================================== Package Architecture Version Repository Size ====================================================================================================================================================== Enabling module streams: postgresql 15 Transaction Summary ====================================================================================================================================================== Is this ok [y/N]: y Complete! $ sudo dnf module list postgresql Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Last metadata expiration check: 0:26:43 ago on Tue 21 May 2024 01:27:16 AM UTC. Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs) Name Stream Profiles Summary postgresql 15 [e] client, server [d] PostgreSQL server and client module postgresql 16 client, server [d] PostgreSQL server and client module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled $ sudo dnf list postgresql --showduplicates Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Last metadata expiration check: 0:27:19 ago on Tue 21 May 2024 01:27:16 AM UTC. Available Packages postgresql.x86_64 15.2-1.module+el9.2.0+18159+266a3926 rhel-9-appstream-rhui-rpms postgresql.x86_64 15.3-1.module+el9.2.0.z+19113+6f5d9d63 rhel-9-appstream-rhui-rpms postgresql.x86_64 15.5-1.module+el9.2.0.z+20667+a2d2a8a9 rhel-9-appstream-rhui-rpms postgresql.x86_64 15.6-1.module+el9.3.0+21283+b0ea34b6 rhel-9-appstream-rhui-rpms $ sudo dnf install postgresql-15.2 Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Last metadata expiration check: 0:29:39 ago on Tue 21 May 2024 01:27:16 AM UTC. Dependencies resolved. ====================================================================================================================================================== Package Architecture Version Repository Size ====================================================================================================================================================== Installing: postgresql x86_64 15.2-1.module+el9.2.0+18159+266a3926 rhel-9-appstream-rhui-rpms 1.7 M Installing dependencies: postgresql-private-libs x86_64 15.6-1.module+el9.3.0+21283+b0ea34b6 rhel-9-appstream-rhui-rpms 140 k Transaction Summary ====================================================================================================================================================== Install 2 Packages Total download size: 1.8 M Installed size: 6.8 M Is this ok [y/N]: y Downloading Packages: (1/2): postgresql-private-libs-15.6-1.module+el9.3.0+21283+b0ea34b6.x86_64.rpm 1.6 MB/s | 140 kB 00:00 . . (中略) . . Installed: postgresql-15.2-1.module+el9.2.0+18159+266a3926.x86_64 postgresql-private-libs-15.6-1.module+el9.3.0+21283+b0ea34b6.x86_64 Complete!
AppStreamリポジトリからインストールされていそうです。
インストール完了後、インストール元のリポジトリ名からでも分かります。
$ sudo dnf repoquery \ --installed \ --qf '%{name}|%{version}|%{release}|%{repoid}|%{from_repo}\n' \ | grep 'postgresql' \ | column -ts '|' postgresql-private-libs 15.6 1.module+el9.3.0+21283+b0ea34b6 @System rhel-9-appstream-rhui-rpms postgresql 15.2 1.module+el9.2.0+18159+266a3926 @System rhel-9-appstream-rhui-rpms
インストールしたバージョンに対するRHSAも確認できました。
$ sudo dnf updateinfo list | grep postgresql RHSA-2023:4327 Moderate/Sec. postgresql-15.3-1.module+el9.2.0.z+19113+6f5d9d63.x86_64 RHSA-2023:7785 Important/Sec. postgresql-15.5-1.module+el9.2.0.z+20667+a2d2a8a9.x86_64 RHSA-2024:0950 Important/Sec. postgresql-15.6-1.module+el9.3.0+21283+b0ea34b6.x86_64
SSM State ManagerでInspectorInventoryCollection-do-not-delete
を実行し、手動でInspectorのスキャンを行います。
すると、PostgreSQLのパッケージを検出することができました。
詳細を確認すると、確かに先ほどインストールしたPostgreSQL 15であることが分かります。
RHSAに記載されているCVEとも一致しています。
ということで、サポート期限がOSと同じであるかどうか関わらずAppStreamからインストールしたパッケージはInspectorで検出できることが分かりました。
AppStreamからインストールしたパッケージはInspectorで検出できる
Amazon InspectorでRed Hat Application Streamsからインストールしたパッケージは検出できるのか確認してみました。
結論、できます。
ドキュメントに書いてあっても疑問に思ったことは試してみるのは重要ですね。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!