Synology DSM
Входит через собственный Web API Synology (SYNO.API.Auth), затем
читает SYNO.DSM.Info для получения версии, используя полученную
сессию — единственная HTTP-проба в enodia, которой нужен настоящий шаг
входа, а не статический credential.
targets: - id: nas-main product: synology-dsm address: https://nas.example.com:5001 credentials: synology-adminАутентификация — обязательна, username и password
Заголовок раздела «Аутентификация — обязательна, username и password»credentials: synology-admin: kind: password username: enodia-ro password: "${SYNOLOGY_PASSWORD}"Подтверждено вживую: SYNO.DSM.Info всегда отвечает
{"error":{"code":119}} («нет сессии») без session id и, если включена
защита CSRF, без SynoToken — ни то, ни другое нельзя получить без
предварительного вызова метода входа SYNO.API.Auth с реальным
аккаунтом и паролем. Это заметно более лёгкий случай, чем полноценный
вход через HTML-форму: обычный JSON API, принимающий username/password
как обычные параметры и возвращающий session id как обычное поле JSON,
без cookie-jar и без вычитывания CSRF-токена со страницы. За чтением
версии следует best-effort logout, чтобы сборы данных не накапливали
открытые сессии на NAS от запуска к запуску.
Ошибки аутентификации здесь вообще не используют HTTP-коды статуса:
любой вызов Web API Synology отвечает 200 даже при неудаче, с
success: false в теле — подтверждено вживую, поэтому эта проба
проверяет тело, а не код статуса, чтобы обнаружить отклонённый вход.
Записываемые поля
Заголовок раздела «Записываемые поля»version— разобрано из формы"DSM <version> Update <n>"поляversion_string, например"DSM 7.3.2-86009 Update 4"→7.3.2-86009extra.update— номер Update (4), начиная с 2.2, если он есть в строке; хранится отдельно отversion, чтобы drift и lifecycle по-прежнему сравнивали сам релиз
Сопоставление с CVE
Заголовок раздела «Сопоставление с CVE»Сверяется с NVD и БДУ ФСТЭК, если настроен блок cve:. Начиная с 2.2. Релиз
DSM — это версия, сборка и Update (7.2.1-69057 Update 6), а базы
ограничивают его как 7.2.1-69057-6; version и extra.update пробы
для сверки сводятся к одной сравнимой версии. Инвентарь, собранный до
2.2, не содержит extra.update и читается как Update 0 — исправленные
Update могут быть помечены, но ни один не будет пропущен. Диапазоны БДУ
по веткам по-прежнему дают лишние находки на более старых ветках (у NVD
такого нет) — см.
Dell iDRAC и Synology DSM и
Известные ограничения.
Резолвер жизненного цикла
Заголовок раздела «Резолвер жизненного цикла»Отсутствует — у endoflife.date нет календаря ни под synology-dsm, ни
под synology или dsm (подтверждено 404). Пока только
инвентаризация.