PostgreSQL
Проба на сыром wire-протоколе, не HTTP — address это host или
host:port, без схемы. Порт по умолчанию — 5432, если не указан.
product: postgres тоже принимается как алиас postgresql.
Версия берётся из сообщения ParameterStatus, которое любой backend
PostgreSQL отправляет автоматически сразу после успешной
аутентификации — явный запрос SHOW server_version не нужен.
targets: - id: pg-main product: postgresql address: db.example.com:5432 credentials: pg-appАутентификация
Заголовок раздела «Аутентификация»Требуется, только если сервер сам её запрашивает — trust-аутентификация вообще обходится без credential. Когда сервер её запрашивает, поддерживаются и автоматически согласуются trust, cleartext, MD5 и SCRAM-SHA-256 — включая SCRAM-SHA-256, метод по умолчанию на PostgreSQL 14+ и часто встречающийся на 10-13, без которого большинство реальных установок были бы недостижимы.
credentials: pg-app: kind: password username: enodia_ro # опционально — по умолчанию "postgres" password: "${PG_PASSWORD}"База данных
Заголовок раздела «База данных»Проба запрашивает базу postgres, которая есть на любом сервере и даёт
CONNECT всем — так что роль, у которой нет ничего, кроме LOGIN,
раскрывает версию без собственной базы. Для сервера без базы postgres
укажите другую в options.database:
targets: - id: pg-main product: postgresql address: db.example.com:5432 credentials: pg-app options: database: inventoryСопоставление с CVE
Заголовок раздела «Сопоставление с CVE»Сверяется с NVD и БДУ ФСТЭК, если настроен блок cve:. Начиная с 2.2, cve.postgresql.path
добавляет собственные страницы безопасности проекта, в которых
исправление указано для каждой мажорной версии: для мажорной версии,
названной на сохранённых страницах, их вердикт заменяет диапазоны БДУ без
привязки к ветке, которые иначе помечают последний релиз каждой более
старой мажорной версии. См.
Собственные данные вендоров → PostgreSQL.
Резолвер жизненного цикла
Заголовок раздела «Резолвер жизненного цикла»endoflife:postgresql.