Ubuntu
Использует тот же механизм SSH, credentials и проверку ключа хоста, что
и семейство SSH-проб для определения ОС,
но — начиная с 1.1.1 — больше не относится к общему механизму
osReleaseFamilyProbe, описанному на той странице; см. ниже.
targets: - id: ubuntu-host product: ubuntu address: host.example.com credentials: linux-host-sshСобственная проба, а не общая os-release, начиная с 1.1.1
Заголовок раздела «Собственная проба, а не общая os-release, начиная с 1.1.1»Поле VERSION_ID в /etc/os-release у Ubuntu намеренно никогда не
меняется после выхода релиза — подтверждено вживую (от 14.04 до
24.10): полностью пропатченный хост 22.04, пережив несколько
point-релизов и новых установочных образов, всё равно сообщает
VERSION_ID="22.04", а не 22.04.5. Point-релиз существует только в
поле VERSION того же файла (VERSION="22.04.5 LTS (Jammy Jellyfish)"),
и только для LTS-релиза, у которого таких point-релизов вышло больше
одного — у не-LTS релиза поле VERSION не несёт дополнительного
сегмента вообще (подтверждено вживую: VERSION="24.10 (Oracular Oriole)", полностью совпадает с VERSION_ID). Эта проба предпочитает
число из VERSION значению VERSION_ID, если оно строго точнее и
имеет тот же префикс major.minor — второй файл читать не нужно, в
отличие от того, как для той же самой проблемы устроен
Debian: точность уже есть в том
же файле, просто в другом поле. Все остальные продукты общего семейства
os-release были проверены по той же схеме; такого пробела больше ни у
кого нет.
Подтверждено вживую на ubuntu:24.04: ID=ubuntu,
VERSION_ID="24.04".
Записываемые поля
Заголовок раздела «Записываемые поля»version— точный point-релиз, если он есть вVERSION, например22.04.5; иначе голыйVERSION_IDextra.codename—VERSION_CODENAMEиз os-releaseextra.kernelRelease,extra.arch,extra.kernelVersion—uname -r,-m,-vpackages— установленные бинарные пакеты и их версии (см. ниже)extra.hostKeyVerified
Сопоставление с CVE
Заголовок раздела «Сопоставление с CVE»Сверяется по каждому установленному пакету с OVAL Canonical для релиза хоста (com.ubuntu.<codename>.usn.oval.xml.bz2 в cve.oval.path), а не по релизу. В том же SSH-обращении проба ещё перечисляет установленные бинарные пакеты (dpkg-query) и читает uname -r/-m/-v — это сохраняется в поле наблюдения packages и в extra.kernelRelease, extra.arch, extra.kernelVersion. Версия работающего ядра дополняется номером загрузки из uname -v, так что ядро с исправлением не принимается за ещё не исправленное; находки по ядру называются kernel <flavour> (<uname -r>). Сообщаются только CVE с исправлением новее установленного, одна находка на пакет, со ссылкой на USN. См. Сопоставление с CVE.
Резолвер жизненного цикла
Заголовок раздела «Резолвер жизненного цикла»endoflife:ubuntu — без изменений.